首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改kubeadm init ip地址

更改kubeadm init ip地址
EN

Stack Overflow用户
提问于 2018-02-22 14:35:27
回答 1查看 1.7K关注 0票数 1

当我运行kubeadm init时如何更改ip?我在上创建主节点,并希望从aws和azure连接节点,但kubeadm使用的是仅从google云平台网络中看到的内部ip地址。我试着使用--apiserver广告地址=外部ip,但是在这个例子中,kubeadm卡在init中,如果控制平面图像必须被提取,这可能需要一分钟甚至更长的时间。防火墙打开了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-23 11:32:34

如果我正确理解的话,您要做的就是使用运行kubeadm的GCP实例作为主节点和位于另外两个云上的两个节点。

要做到这一点,您需要的是有一个工作负载均衡器,外部IP指向您的实例并来回转发TCP数据包。

首先,我为我的实例创建了一个静态外部IP地址:

代码语言:javascript
复制
 gcloud compute addresses create myexternalip --region us-east1

然后,我为LB创建了一个目标池,并添加了实例:

代码语言:javascript
复制
gcloud compute target-pools create kubernetes --region us-east1
gcloud compute target-pools add-instances kubernetes --instances kubeadm --instances-zone us-east1-b

添加代表指向目标池的外部IP和端口范围的转发规则。对于节点需要与kubeadm实例联系的端口,您必须这样做。使用前面创建的外部IP。

代码语言:javascript
复制
gcloud compute forwarding-rules create kubernetes-forward --address myexternalip --region us-east1 --ports 22 --target-pool kubernetes

您现在可以检查您的转发规则,该规则如下所示:

代码语言:javascript
复制
gcloud compute forwarding-rules describe kubernetes-forward
IPAddress: 35.196.X.X
IPProtocol: TCP
creationTimestamp: '2018-02-23T03:25:49.810-08:00'
description: ''
id: 'XXXXX'
kind: compute#forwardingRule
loadBalancingScheme: EXTERNAL
name: kubernetes-forward
portRange: 80-80
region: https://www.googleapis.com/compute/v1/projects/XXXX/regions/us-east1
selfLink: https://www.googleapis.com/compute/v1/projects/XXXXX/regions/us-east1/forwardingRules/kubernetes-forward
target: https://www.googleapis.com/compute/v1/projects/XXXXX/regions/us-east1/targetPools/kubernetes

现在,您可以按照通常的进程安装kubeadm并在实例中设置集群,kubeadm init在我的应用程序上花费了大约50秒。

之后,如果您在防火墙中正确打开了端口并将其转发给您的主人,那么AWS和Azure中的节点应该能够加入。

恭喜,现在您有了一个多云kubernetes集群!:)

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

https://stackoverflow.com/questions/48930047

复制
相关文章

相似问题

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