gpt4 book ai didi

kubernetes - Istio 入口不适用于 headless 服务

转载 作者:行者123 更新时间:2023-12-02 12:37:00 26 4
gpt4 key购买 nike

我已将 Kafka 部署为 statefulset,并将 zookeeper 配置为领导者选择器,即 headless 服务。 Kafka 按预期运行得非常好。但是,我在配置 Istio 以访问 kafka 时遇到了问题。

    $ kubectl get pods -owide | grep -i kafka
kafka-mon-0 1/1 Running 0 3d1h <IP>

$ kubectl get svc -owide | grep -i kafka
kafka-mon-http LoadBalancer <IP> <Ext-IP> 8080:30875/TCP app=kafka-mon
kafka-mon-svc ClusterIP None <none> 8080/TCP app=kafka-mon

如果我使用 Kakfa LoadBalancer Service 配置 Istio,我可以访问 UI。但是,如果我使用 headless 服务,则 UI 本身不可访问。我也测试过不同的其他服务,情况也是如此。
$ kubectl get gateway,virtualservice  | grep -i kafka

gateway.networking.istio.io/kafka-mon-gateway 4h
virtualservice.networking.istio.io/kafka-mon-vservice 4h

如果 Virtualservice 配置了 Load Balancer 服务,但 Istio 没有配置 headless 服务,则 Istio 可以完美运行。请帮我找出问题所在。

对于 Istio,我已经部署了一个网关路由器作为内部入口网关,带有 http 端口 80、https 端口 443 和一个虚拟服务,其路由目标主机作为 Kafka-headless-service,它不起作用,但如果路由目标主机是配置为负载均衡器服务。

我无法解决问题。请建议。

最佳答案

我遇到了这个问题,我通过添加服务条目来修复它。当我们使用 headless svc 时,istio 不确定将流量引导到哪里。你可以在下面添加类似的东西。

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: kafka-se
namespace: <If any namespace>
spec:
hosts:
- kafka.default.svc.cluster.local
location: MESH_INTERNAL
ports:
- name: grpc
number: 5445
protocol: TCP
resolution: DNS

关于kubernetes - Istio 入口不适用于 headless 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55099147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com