访问在浮动 IP 后面运行在 Openstack 上的 K8S API 服务器

问题描述

我让 Kubernetes Master 监听内部 Openstack 网络地址 192.168.6.6:6443。这台机器有一个浮动 IP,与我家的基于 ssh 的访问 (x.x.x.x) 相关联。在浮动 IP 上接收到的 SSH 被发送到内部 IP。但这对6443转发不起作用。

当我可以访问与 K8S 主站关联的浮动 IP 而不能访问 API 服务器正在侦听的内部 IP 时,如何从我的家中访问 K8S API 服务器。

我知道将配置文件复制到本地机器的方法,但配置文件具有主机正在侦听的 IP 地址,并且无法从 Openstack 外部访问该 IP。

感谢您的帮助

解决方法

1.配置API服务器IP

您需要将 KUBE_CONFIG 文件中的 API 服务器 ip 替换为浮动 IP。

2.配置安全组

然后,您需要将允许 TCP 6443 端口的入口规则添加到主节点接口的安全组。 enter image description here

,

我设法通过在 OpenStack 上重新实例化 k8s 集群并将浮动 ip 作为“--apiserver-cert-extra-sans”参数提供给 kubeadm 来解决此问题。

kubeadm init --apiserver-cert-extra-sans=