千家信息网

Kubernetes集群如何更换节点名称

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章给大家分享的是有关Kubernetes集群如何更换节点名称,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Kubernetes集群
千家信息网最后更新 2025年02月01日Kubernetes集群如何更换节点名称

本篇文章给大家分享的是有关Kubernetes集群如何更换节点名称,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Kubernetes集群节点会使用/etc/hostname的机器名称或者DNS,最好在创建集群之前设置妥当域名和机器名。如果在集群设置之后修改节点名称,将会比较麻烦。尤其是如果需要修改第一个节点的名称,会出现创建key和token失败,集群中无法再加入master节点,就需要全部重建集群或者手工修改所有相关的配置文件的参数。

Kubernetes集群更换节点名称目前没有简单的方法,步骤如下:

  1. 删除pod

  2. 删除节点

  3. 清理etcd

  4. 创建token

  5. 重新加入集群

具体操作如下:

1、删除任务

对节点执行维护操作之前(例如:内核升级,硬件维护等),您可以使用 kubectl drain 安全驱逐节点上面所有的 pod。安全驱逐的方式将会允许 pod 里面的容器遵循指定的 PodDisruptionBudgets 执行优雅的中止。

首先,需要确定希望移除的节点的名称。您可以通过下面命令列出集群里面所有的节点:

kubectl get nodes

接下来,告知 Kubernetes 移除节点:

kubectl drain 

执行完成后,如果没有任何错误返回,您可以关闭节点(如果是在云平台上,可以删除支持该节点的虚拟机)。如果在维护操作期间想要将节点留在集群,那么您需要运行下面命令:

kubectl uncordon 

然后,它将告知 Kubernetes 允许调度新的 pod 到该节点。

  • 参考:

    • 驱逐节点上的任务pod,https://www.cnblogs.com/weifeng1463/p/10359581.html

⚠️注意:如果未使用drain驱逐所有的待删除节点上的pod,即使node被删除,该pod将一直运行到节点服务重启为止。

2、删除节点

删除该节点:

kubectl delete node podc01

然后问题仍然存在。经查,被删除节点的etcd服务地址仍然在集群中,而且不可访问,升级无法完成。

  • 根据网上的kubeadm说明,使用kubeadm reset将会自动删除etcd的节点信息。

  • 但是,kubeadm reset后,经查,被删除节点的etcd服务地址仍然在集群中,而且不可访问,升级无法完成。

3、手动删除etcd node

查看并手动删除 etcd node信息:

alias etcdv3="ETCDCTL_API=3 etcdctl --endpoints=https://[10.1.1.202]:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key"
  • 因为etcd的命令较长,先用个别名简化一下。

  • 将上面的10.1.1.202改为自己的可用master节点IP地址。

  • 更多etcd使用指南,可参考:

    • Kubernetes的etcd多节点扩容实战技巧

    • Kubernetes探秘-etcd节点和实例扩容

    • Kubernetes的etcd数据查看和迁移

    • Kubernetes探秘-etcd状态数据及其备份

然后,运行:

#查看etcd集群的成员:etcdv3 member list#删除etcd集群的不可访问的成员:etcdv3 member remove XXXXXXXXXX#再次查看etcd集群的成员:etcdv3 member list
  • kubernetes高可用集群升级的etcd错误

修改/etc/kubernetes下所有配置文件中的server地址为可用节点地址。

4、创建token

在当前的集群中新增节点:

  • 第一步,重新创建certificate key和token:

sudo kubeadm init phase upload-certs --upload-certs### Got:# [upload-certs] Using certificate key:# 2ffe5bbf7d2e670d5bcfb03dac194e2f21eb9715f2099c5f8574e4ba7679ff78# Add certificate-key for Multi Master Node.kubeadm token create --print-join-command --certificate-key 2ffe5bbf7d2e670d5bcfb03dac194e2f21eb9715f2099c5f8574e4ba7679ff78

5、重新加入集群

  • 增加Worker节点:

kubeadm join 192.168.199.173:6443 --token rlxvkn.2ine1loolri50tzt --discovery-token-ca-cert-hash sha256:86e68de8febb844ab8f015f6af4526d78a980d9cdcf7863eebb05b17c24b9383
  • 增加master节点:

kubeadm join 192.168.199.173:6443 --token rlxvkn.2ine1loolri50tzt --discovery-token-ca-cert-hash sha256:86e68de8febb844ab8f015f6af4526d78a980d9cdcf7863eebb05b17c24b9383 --control-plane --certificate-key 440a880086e7e9cbbcebbd7924e6a9562d77ee8de7e0ec63511436f2467f7dde

查看新的节点列表:

kubectl get node -o wide
  • 如果服务没有起来,测试一下:

    • 查看服务版本,kubectl version

    • 查看集群信息,kubectl cluster-info

    • 查看服务状态,sudo systemctl status kubelet

    • 查看服务日志,journalctl -xefu kubelet

以上就是Kubernetes集群如何更换节点名称,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

节点 集群 名称 服务 地址 升级 信息 命令 成员 更多 运行 安全 任务 手动 数据 文件 机器 状态 知识 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家网络安全宣传周广东视频 excel模板倒数据库 sql数据库技术实验指导书 软件开发计划书团队分工 游戏服务器银河壹号 网络安全密钥在路由器 人类影响网络技术发展趋势 主键对数据库的消耗 实时多维分析数据库选型 单招软件开发技能测试什么 我的世界怎么手动添加龙珠服务器 成都掌承网络技术有限公司 湖南军工卫星授时服务器虚拟主机 重庆浪潮服务器维修维保费用 监狱系统大学生网络安全 有效的重庆服务器托管云主机 衡水网络技术价格 网络安全调查报告调查目的 家庭微观数据库cfps 架设服务器需要什么 数据库 回避恢复模式 甘肃正规网络技术服务产品介绍 河北网络安全服务 服务器硬盘 10k 15k 湖南新思辰网络技术有限公司 成都掌承网络技术有限公司 互联网贷款金融科技 django自带数据库 安装ug12.0启动服务器失败 共享打印机服务器无法脱机
0