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

、查看原来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 、修改--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 " 、重启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 、再重启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 、设置角色 [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 、解决后遗症 执行: [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 / ContainerCreating 2m
coredns-6c65fc5cbb-kh4zg / ContainerCreating 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/ 解决: 所有节点执行如下: rm -rf /var/lib/cni/flannel/* && rm -rf /var/lib/cni/networks/cbr0/* && ip link delete cni0
rm -rf /var/lib/cni/networks/cni0/*

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

  1. Kubernetes1.91(K8s)安装部署过程(六)--node节点部署

    hi,everybody,我回来了,之前安装到flannel之后,文章一直没有更新,甚至不少小伙伴都来加qq询问是否继续更新了, 这里说明下原因,我在部署1.91node的时候的确出现了各种各样的问题 ...

  2. Kubernetes移除node节点

    1.kubectl delete node {{节点名称}} 2.删除node节点上由kubelet自动生成的kubelet.kubeconfig配置文件,和ssl密钥证书kubelet.key,ku ...

  3. k8s node节点部署(v1.13.10)

    系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持 ...

  4. K8S线上集群排查,实测排查Node节点NotReady异常状态

    一,文章简述 大家好,本篇是个人的第 2 篇文章.是关于在之前项目中,k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务后的问题排查. 文章中所 ...

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

    在程序开发过程中我们经常用到treeview,还经常要修改节点的名字.节点名字修改后还想及时更新数据库.这时问题就来了,怎样获取NODE(节点)更新后的值呢?本人试了很多方法最终分析出treeview ...

  6. kubernetes集群搭建(4):node节点安装

    下列所有操作需要在所有node节点上操作,并注意红色部分的修改 1.node节点不需要安装etcd来存储相关信息 yum -y install flannel kubernetes 2.修改flann ...

  7. 重置node节点

    删除node节点 删除通过csr请求后产生的所有文件和证书 [root@lab1 ~]# rm -rf /etc/kubernetes/kubelet.conf [root@lab1 ~]# rm - ...

  8. 二进制部署1.23.4版本k8s集群-6-部署Node节点服务

    本例中Master节点和Node节点部署在同一台主机上. 1 部署kubelet 1.1 集群规划 主机名 角色 IP CFZX55-21.host.com kubelet 10.211.55.21 ...

  9. 基于EasyUi ComBotree树修改 父节点选择问题

    本人在使用 Easy UI 期间发现了一个不太适合项目的bug,可能也不算bug把 . 毕竟不同项目背景 取舍不同. 我在做网元树选择的时候  发现当选取父节点后,子节点都会被选择  返回  .但是如 ...

随机推荐

  1. IntelliJ IDEA导包快捷键

    IntelliJ IDEA导包快捷键 Alt+Enter

  2. JAVA bean为何要实现序列化

    简而言之:序列化,就是为了在不同时间或不同平台的JVM之间共享实例对象.即序列化出于两个原因:①.用于持久化到磁盘上:②.用于作为数据流在网络上传输. 所谓的Serializable,就是java提供 ...

  3. CAP原理与最终一致性 强一致性 弱一致性

    CAP原理中,有三个要素: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition tolerance) CAP原理指的是,这三个要素最多只能同时实现两点 ...

  4. Spring前置方法无法阻止原方法执行(转)

    在前置方法用return的方法无法阻止原方法的执行. 该处的return 只是结束了目标方法执行前的检验方法而已,而不是结束目标方法. 使用抛异常的方式程序终止. 环绕通知可以阻止原方法的执行, pu ...

  5. JVM(五),ClassLoader

    五.ClassLoader 1.什么是ClassLoader 2.四种ClassLoader 3.自定义CLassLoader (1)MyClassLoader public class MyClas ...

  6. Python 运算符优先级

    这个表给出Python的运算符优先级(从低到高). 从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合). 这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上 ...

  7. TTTTTTTTTTTTT CDOJ 1136 邱老师玩游戏 树形dp

    邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit St ...

  8. LOJ #2734 Luogu P3615 [JOI2016春季合宿]Toilets (结论、贪心)

    题目链接 (loj) https://loj.ac/problem/2734 (luogu) https://www.luogu.org/problem/P3615 题解 嗯,考场上肝了\(3h\)然 ...

  9. How to correctly set application badge value in iOS 8?

    o modify the badge under ios8 you have to ask for permissions let settings = UIUserNotificationSetti ...

  10. 两次取反 !!a 的作用

    两次取反的作用 让a的结果只能是false或者是true:如果a是0:两次取反当然是false:如果a是null:两次取反是false:如果a是undefined:两次取法是false:其余的比如 a ...