【发布时间】:2019-04-15 06:15:46
【问题描述】:
我已经使用 kubeadm 设置了一个 kubernetes 集群。
环境
- 主节点安装在具有公共 IP 的 PC 中。
- NAT地址后面的工作节点(接口有本地内部IP,但需要使用公共IP访问)
状态
worker节点能够加入集群并运行
kubectl get nodes
节点的状态为就绪。
Kubernetes 可以在该节点上部署和运行 pod。
问题
我遇到的问题是我无法访问部署在该节点上的 pod。例如,如果我运行
kubectl logs <pod-name>
其中 pod-name 是部署在工作节点上的 pod 的名称,我有这个错误:
Error from server: Get https://192.168.0.17:10250/containerLogs/default/stage-bbcf4f47f-gtvrd/stage: dial tcp 192.168.0.17:10250: i/o timeout
因为它试图使用本地 IP 192.168.0.17,外部无法访问。
我看到节点有这个注解:
flannel.alpha.coreos.com/public-ip: 192.168.0.17
所以,我尝试修改注解,设置外部IP,这样:
flannel.alpha.coreos.com/public-ip: <my_externeal_ip>
我看到该节点已正确注释,但它仍在使用 192.168.0.17。
我还需要在工作节点或集群配置中设置什么吗?
【问题讨论】:
标签: kubernetes