zoukankan      html  css  js  c++  java
  • 修改node节点名称

    https://my.oschina.net/u/3390908/blog/1649764
    
    1、查看原来node
    
    
    [root@lab2 ~]# 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
    
    [root@lab2 ~]# 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 等三分钟查看
    
    [root@lab2 ~]# systemctl daemon-reload && systemctl restart kubelet
    
    
    
    [root@lab2 ~]# 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  等三分钟查看
    
    
    [root@lab2 ~]# systemctl daemon-reload && systemctl restart kubelet
    
    
    [root@lab2 ~]# 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
    
    [root@lab3 ~]# systemctl stop kubelet
    
    
    
    
    
    删除 除了master之外的所有node
    
    [root@lab1 ~]# kubectl delete no 10.1.1.8
    [root@lab1 ~]# kubectl delete no 10.1.1.68
    [root@lab1 ~]# kubectl delete no 10.1.1.111
    [root@lab1 ~]# kubectl delete no lab2
    [root@lab1 ~]# kubectl delete no lab3
    
    
    
    
    
    删除之前通过csr请求后产生的证书、秘钥、kubelet.conf文件
    
    [root@lab1 ~]# rm -rf /etc/kubernetes/kubelet.conf
    [root@lab1 ~]# rm -rf /etc/kubernetes/pki/kubelet*
    
    
    
    
    
    重启所有节点的kubelet
    [root@lab1 ~]# systemctl restart kubelet
    
    
    
    
    获取csr
    
    [root@lab1 ~]# 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
    
    
    
    
    通过证书请求
    
    [root@lab1 ~]# kubectl certificate approve node-csr-W8jDxg0LEZZw6U8V1WudhEBRP0qt4ybPSJ-P8XfDzlo
    [root@lab1 ~]# kubectl certificate approve node-csr-rgnoMPuDdtvfoogsY_zbf1R3KMU_B8M8cBv75AHw8fE
    [root@lab1 ~]# kubectl certificate approve node-csr-vO6qQvzlI974qUHXVpPu6kMP4eBfKMcBECwqY7xWYu4
    
    
    
    
    
    
    5、设置角色
    
    
    [root@lab2 ~]# kubectl label nodes lab1 node-role.kubernetes.io/master=
    [root@lab2 ~]# 
    [root@lab2 ~]# kubectl label nodes lab2 node-role.kubernetes.io/node=
    node/lab2 labeled
    [root@lab2 ~]# kubectl label nodes lab3 node-role.kubernetes.io/node=
    node/lab3 labeled
    
    # 设置 master 一般情况下不接受负载
    kubectl taint nodes lab1 node-role.kubernetes.io/master=true:NoSchedule
    
    [root@lab1 ~]# 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、解决后遗症
    
    
    执行:
    
    [root@lab1 coredns]# kubectl delete -f coredns.yaml
    
    
    
    现象:
    
    [root@lab2 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日志,最后部分
    
    [root@lab2 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/*
  • 相关阅读:
    redis应用场景
    redis 持久化
    vue.jsv-if 的key值问题
    laravel 上线注意事项 (ubuntu lamp)
    laravel 不同表用户登录,后台跳转问题
    Laravel 5.5 不同用户表登录认证(前后台分离)
    记录laravel 数据填充问题
    Git 版本控制器详解
    Ubuntu Apache多站点配置
    Spring的注解@Qualifier小结
  • 原文地址:https://www.cnblogs.com/effortsing/p/10014628.html
Copyright © 2011-2022 走看看