修改node节点名称

https://my.oschina.net/u/3390908/blog/1649764

1、查看原来node

[[email protected] ~]# kubectl get no
NAME         STATUS    ROLES     AGE       VERSION
10.1.1.111   Ready     node      8d        v1.11.0
10.1.1.68    Ready     node      8d        v1.11.0
10.1.1.8     Ready     master    8d        v1.11.0

2、修改--hostname-override=lab1

[[email protected] ~]# vi /etc/kubernetes/kubelet

KUBELET_HOSTNAME="--hostname-override=lab1"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1"
KUBELET_CONFIG="--config=/etc/kubernetes/kubelet-config.yml"
KUBELET_ARGS="--bootstrap-kubeconfig=/etc/kubernetes/kubelet-bootstrap.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cert-dir=/etc/kubernetes/pki --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --cluster-dns=10.96.0.10 --cluster-domain=cluster.local "

3、重启kubelet 等三分钟查看

[[email protected] ~]# systemctl daemon-reload && systemctl restart kubelet

[[email protected] ~]# kubectl get no
NAME         STATUS     ROLES     AGE       VERSION
10.1.1.111   Ready      node      8d        v1.11.0
10.1.1.68    NotReady   node      8d        v1.11.0
10.1.1.8     Ready      master    8d        v1.11.0
lab1         NotReady   <none>    9m        v1.11.0
lab2         NotReady   <none>    7m        v1.11.0
lab3         NotReady   <none>    7m        v1.11.0

4、再重启kubelet  等三分钟查看

[[email protected] ~]# systemctl daemon-reload && systemctl restart kubelet

[[email protected] ~]# kubectl get no
NAME         STATUS     ROLES     AGE       VERSION
10.1.1.111   NotReady   node      8d        v1.11.0
10.1.1.62    NotReady   <none>    8m        v1.11.0
10.1.1.68    NotReady   node      8d        v1.11.0
10.1.1.8     NotReady   master    8d        v1.11.0
lab1         Ready      <none>    13m       v1.11.0
lab2         Ready      <none>    12m       v1.11.0
lab3         Ready      <none>    12m       v1.11.0

停掉所有node节点的 kubelet

[[email protected] ~]# systemctl stop kubelet

删除 除了master之外的所有node

[[email protected] ~]# kubectl delete no 10.1.1.8
[[email protected] ~]# kubectl delete no 10.1.1.68
[[email protected] ~]# kubectl delete no 10.1.1.111
[[email protected] ~]# kubectl delete no lab2
[[email protected] ~]# kubectl delete no lab3

删除所有节点的boot证书

[[email protected] ~]# rm -rf /etc/kubernetes/kubelet.conf
[[email protected] ~]# rm -rf /etc/kubernetes/pki/kubelet*

重启所有节点的kubelet
[[email protected] ~]# systemctl restart kubelet

获取csr

[[email protected] ~]# kubectl get csr
NAME                                                   AGE       REQUESTOR           CONDITION
node-csr-W8jDxg0LEZZw6U8V1WudhEBRP0qt4ybPSJ-P8XfDzlo   7s        kubelet-bootstrap   Pending
node-csr-rgnoMPuDdtvfoogsY_zbf1R3KMU_B8M8cBv75AHw8fE   10s       kubelet-bootstrap   Pending
node-csr-vO6qQvzlI974qUHXVpPu6kMP4eBfKMcBECwqY7xWYu4   17s       kubelet-bootstrap   Pending

通过证书请求

[[email protected] ~]# kubectl certificate approve node-csr-W8jDxg0LEZZw6U8V1WudhEBRP0qt4ybPSJ-P8XfDzlo
[[email protected] ~]# kubectl certificate approve node-csr-rgnoMPuDdtvfoogsY_zbf1R3KMU_B8M8cBv75AHw8fE
[[email protected] ~]# kubectl certificate approve node-csr-vO6qQvzlI974qUHXVpPu6kMP4eBfKMcBECwqY7xWYu4

5、设置角色

[[email protected] ~]# kubectl label nodes lab1 node-role.kubernetes.io/master=
[[email protected] ~]#
[[email protected] ~]# kubectl label nodes lab2 node-role.kubernetes.io/node=
node/lab2 labeled
[[email protected] ~]# kubectl label nodes lab3 node-role.kubernetes.io/node=
node/lab3 labeled

# 设置 master 一般情况下不接受负载
kubectl taint nodes lab1 node-role.kubernetes.io/master=true:NoSchedule

[[email protected] ~]# kubectl get nodes
NAME      STATUS    ROLES     AGE       VERSION
lab1      Ready     <none>    15m       v1.11.0
lab2      Ready     <none>    14m       v1.11.0
lab3      Ready     <none>    14m       v1.11.0

6、解决后遗症

执行:

[[email protected] coredns]# kubectl delete -f coredns.yaml

现象:

[[email protected] k8s]# kubectl get pods -n kube-system
NAME                       READY     STATUS              RESTARTS   AGE
coredns-6c65fc5cbb-7xvzs   0/1       ContainerCreating   0          2m
coredns-6c65fc5cbb-kh4zg   0/1       ContainerCreating   0          2m

原因:

修改node名称后的遗留症状

查看pod日志,最后部分

[[email protected] k8s]# kubectl describe po coredns-6c65fc5cbb-7xvzs -n kube-system

"cni0" already has an IP address different from 10.244.5.1/24

解决:

所有节点执行如下:

rm -rf /var/lib/cni/flannel/* && rm -rf /var/lib/cni/networks/cbr0/* && ip link delete cni0
rm -rf /var/lib/cni/networks/cni0/*

原文地址:https://www.cnblogs.com/effortsing/p/10014628.html

时间: 2024-09-30 09:58:23

修改node节点名称的相关文章

k8s node节点部署(v1.13.10)

系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持node节点主机名 和master不同):k8s.node03 目标: 在该机器安装k8s node节点,并加入指定集群 步骤如下: 1. 安装基础工具 yum install vim yum install lrzsz yum install dockersystemctl start docke

节点名称nodeName

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

c# winform TreeView NODE(节点) 重命名或获取节点修改后的值

在程序开发过程中我们经常用到treeview,还经常要修改节点的名字.节点名字修改后还想及时更新数据库.这时问题就来了,怎样获取NODE(节点)更新后的值呢?本人试了很多方法最终分析出treeview节点名字修改的AfterLabelEdit事件.事件内有两个参数如下代码 sender 和 e. private void treeView2_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { } 代码内的e 有两个值,e.Lable

Kubernetes(K8s)安装部署过程(六)--node节点部署

hi,everybody,我回来了,之前安装到flannel之后,文章一直没有更新,甚至不少小伙伴都来加qq询问是否继续更新了, 这里说明下原因,我在部署1.91node的时候的确出现了各种各样的问题,导致节点启动后哦,master总是看不到,遇到的问题大概有 1.虚拟机时间同步不一致问题,导致etcd创建资源不成功 2.node节点无法自动创建kubelet.kubeconfig问题,这个是最严重的问题,原因是config文件没有拷贝到node的/etc/kubernetes文件夹内,因为ku

一个master、一个node、查看node节点是ip

一个master.一个node.查看node节点是ip # 安装顺序:先在test1 上安装完必要组件后,就开始在 test2 上单独安装node组件,实现node功能,再返回来配置test1加入集群,实现node功能 # 本实验 test1 节点不做安装kubelet组件.只有安装启动了kubelet才会生成csr,kube-apiserver通过csr请求后才会成为一个node.所以是node节点单独安装 # 注意:准备了三台,这三台都做了环境准备,但是k8s集群只是使用了 test1.te

一个master、一个node、查看node节点是主机名

一个master.一个node.查看node节点是主机名 # 安装顺序:先在test1 上安装完必要组件后,就开始在 test2 上单独安装node组件,实现node功能,再返回来配置test1加入集群,实现node功能 # 本实验 test1 节点不做安装kubelet组件.只有安装启动了kubelet才会生成csr,kube-apiserver通过csr请求后才会成为一个node.所以是node节点单独安装 # 注意:准备了三台,这三台都做了环境准备,但是k8s集群只是使用了 test1.t

重置node节点

删除node节点 删除通过csr请求后产生的所有文件和证书 [[email protected] ~]# rm -rf /etc/kubernetes/kubelet.conf [[email protected] ~]# rm -rf /etc/kubernetes/pki/kubelet* 重启所有节点的kubelet [[email protected] ~]# systemctl restart kubelet 获取csr [[email protected] ~]# kubectl g

k8s安装之node节点

kubernetes node 安装kubelet wget https://storage.googleapis.com/kubernetes-release/release/v1.11.0/kubernetes-server-linux-amd64.tar.gz tar -xzvf kubernetes-server-linux-amd64.tar.gz cd kubernetes tar -zxf kubernetes-src.tar.gz scp kubernetes/server/bi

Puppet node节点的特性(十二)

前言: 生产机器很多通常会新建nodes.pp文件和site.pp文件平级,存放于/etc/puppet/manifests/nodes.pp文件,这种方法比较常用.当然也有其他办法直接写入site.pp文件. nodes.pp文件主机匹配,支持正则表达式和继承. //:正则匹配 "":精确匹配 inherits:继承 实例: 先正则匹配然后在精确匹配. node /sh-(proxy|web)\d+/ {   case $::hostname {     "sh-proxy