【发布时间】:2018-05-07 14:39:06
【问题描述】:
我正在尝试在我的 Kubernetes 集群中安装服务网格,为此我想完成以下任务:
- 服务网格 pod 作为守护程序集运行,每个节点上都有一个副本。
- 无法从集群外部直接访问服务网格。
- 应用程序 pod 使用同一节点上的服务网格 pod 作为所有请求的 http 代理。
为此,我在应用部署的容器规范中添加了以下配置:
# deployment.spec.template.spec.containers[0]
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HTTP_PROXY
value: http://$(NODE_NAME):4140
但是,我未能正确公开服务网格;我已经尝试过type: ClusterIP 和type: LoadBalancer 这两种服务,但前者我无法连接,后者我公开暴露服务网格,我不想这样做。我也尝试过使用NodePort,但我什至还没有找到有效的配置(似乎有人认为NodePort should be avoided if possible...)。
我应该如何公开服务网格,最好是在端口 4140-4142 和 9990 上,以在特定节点(当前节点)上可从其他 pod 访问的方式?
【问题讨论】:
-
你试过调试ClusterIP解决方案吗?
-
@MaciekSawicki:我无法弄清楚如何使用 ClusterIP 来处理特定节点的服务副本;连接问题只是节点上没有打开预期的端口。
标签: kubernetes