首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新配置k8s节点的IP

如何重新配置k8s节点的IP
EN

Stack Overflow用户
提问于 2021-06-10 09:39:38
回答 1查看 208关注 0票数 0

我在aws k8s实例上创建了一个由k0s安装的ec2。为了使新集群更快地交付,我尝试为它创建一个AMI。

但是,我启动了一个新的ec2实例,内部IP发生了变化,节点变成了NotReady

代码语言:javascript
复制
ubuntu@ip-172-31-26-46:~$ k get node
NAME               STATUS     ROLES    AGE   VERSION
ip-172-31-18-145   NotReady   <none>   95m   v1.21.1-k0s1
ubuntu@ip-172-31-26-46:~$

是否有可能重新配置它?

周旋

我找到了一个让AWS AMI起作用的工作

简短回答

  1. 使用kubelet的--extra-args安装节点
  2. 将kube-api更新到新的IP并重新启动kubelet。

详情:1

在kubernete集群中,kubelet扮演节点代理节点。它会告诉kube-api“嘿,我在这里,我叫XXX”。

节点的名称是其主机名,创建后不能更改。它可以由--hostname-override设置。

如果不更改节点名,kube-api将尝试使用主机名,然后得到由old-node-name not引起的错误。

详情:2

对于k0s,它将kubelet‘KUBECONFIG放在/var/lib/k0s/kubelet.conf中,有一个kubelet服务器位置

代码语言:javascript
复制
server: https://172.31.18.9:6443

为了连接新的kube-api位置,请更新它。

EN

回答 1

Stack Overflow用户

发布于 2021-06-10 13:14:39

你查过库贝莱原木了吗?很可能是证书的问题。您不能只将一个现有节点变成ami,并希望它能够工作,因为证书是为特定IP签名的。

查看github上的awslabs/amazon ami回购。您可以查看aws是如何做其k8s ami的。

repo中有一个文件/引导.文件,用于引导实例。它执行所有特定于实例的事情,包括获得证书。

如果您想“使交付新集群更快”,我建议使用所有依赖关系创建一个ami,但不需要实际的k8s启动。在从ami启动实例之后安装k8s (或在您的情况下是k0s ),而不是在此之前。(或者找出如何重新生成特定于节点的证书和信任。)

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

https://stackoverflow.com/questions/67918614

复制
相关文章

相似问题

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