首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用附加IP地址公开kube-apiserver

使用附加IP地址公开kube-apiserver
EN

Stack Overflow用户
提问于 2020-09-09 20:29:07
回答 1查看 2.7K关注 0票数 1

我在裸金属集群上使用kubeadm init设置了一个kubeadm init集群。

我注意到kube-apiserver在一个私有IP上公开了它的接口:

代码语言:javascript
复制
# kubectl get pods kube-apiserver-cluster1 -n kube-system -o wide
NAME                                        READY   STATUS    RESTARTS   AGE     IP           NODE                         NOMINATED NODE   READINESS GATES
kube-apiserver-cluster1                     1/1     Running   0          6d22h   10.11.1.99   cluster1   <none>           <none>

下面是集群内部的kube配置:

代码语言:javascript
复制
# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.11.1.99:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

在集群上本地使用kubectl是可以的,但我想添加一个额外的接口,以便使用公共IP地址公开kube-apiserver。最终,我试图从笔记本电脑中配置kubectl,以便远程访问集群。

如何在外部IP地址上公开kube-apiserver

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-10 12:54:49

执行以下命令:

代码语言:javascript
复制
$ kubeadm init --pod-network-cidr=<ip-range> --apiserver-advertise-address=0.0.0.0 --apiserver-cert-extra-sans=<PRIVATE_IP>[,<PUBLIC_IP>,...]

如果您从远程使用kubectl,请不要忘记将私有IP替换为.kube/config中的公共IP。

还可以将主节点的私有IP转发到工作节点上主节点的公共IP。在运行kubeadm join之前,在worker节点上运行此命令

$ sudo iptables -t nat -A OUTPUT -d <Private IP of master node> -j DNAT --to-destination <Public IP of master node>。但是请记住,您还必须在主节点上以相同的方式转发工作人员私有if,以使一切正常工作(如果它们受到云提供商NAT覆盖的相同问题的影响)。

详情见:apiserver-ip库伯-阿皮瑟

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63819126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档