From 878c0c06bbf5957f9d5c388d52073f8b2ceea204 Mon Sep 17 00:00:00 2001 From: diandian Date: Wed, 11 Dec 2024 11:23:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'kubernetes-MD'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubernetes-MD/kubernetes集群添加新节点.md | 86 +++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 kubernetes-MD/kubernetes集群添加新节点.md diff --git a/kubernetes-MD/kubernetes集群添加新节点.md b/kubernetes-MD/kubernetes集群添加新节点.md new file mode 100644 index 0000000..3eba127 --- /dev/null +++ b/kubernetes-MD/kubernetes集群添加新节点.md @@ -0,0 +1,86 @@ +

kubernetes集群添加新节点

+ +**作者:行癫(盗版必究)** + +------ + +## 一:项目背景 + +​ 当现有的节点无法提供足够的CPU、内存或存储资源来运行更多的Pod时,添加新的节点可以增加集群的总资源池,从而支持更多的应用部署和服务;通过增加工作节点的数量,可以在某些节点失效时保证其他节点能够继续为用户提供服务,从而提高整个系统的高可用性和容错性。这对于生产环境中的关键任务应用尤为重要 + +## 二:节点准备 + +#### 第一部分 + +1.修改所有节点的主机名 (规范) + +2.所有节点本地解析 + +3.网络配置(所有节点全部使用静态地址) + +4.所有节点保证yum仓库可用 base epel https://developer.aliyun.com/mirror/ + +5.所有节点关闭swap交换分区 + +​ 使用free -m 来判断 如果是没有swap交换分区 此步略过 + +​ 使用free -m 来判断 如果是有swap交换分区 swapoff -a 修改/etc/fstab 把swap的挂载去掉 + +6.集群所有节点保持时间一致,不一致做时间同步 + +#### 第二部分 + +1.container runtime 所有节点 docker 安装 + +​ 略 + +2.安装核心组件 kubelet 引导工具 kubeadm 命令行管理工具 kubectl 依赖包 ipvsadm + +​ 需要指定版本安装(√) + +​ 修改kubelet的配置文件(√) + +​ 略 + +3.加载内核模块 修改内核参数 + +​ 略 + +#### 第三部分 + +1.获取加入命令 + +Master节点执行 + +```shell +[root@master ~]# kubeadm token create --print-join-command +kubeadm join 10.9.12.234:6443 --token nu1g7p.w5sg414ekfm6hlcw --discovery-token-ca-cert-hash sha256:92d8500db9480e0159f47b959139a27c9efea0809c3fa7a9c98016b14dfe2bca +``` + +2.新节点执行加入 + +```shell +[root@node-4 ~]# kubeadm join 10.9.12.234:6443 --token nu1g7p.w5sg414ekfm6hlcw --discovery-token-ca-cert-hash sha256:92d8500db9480e0159f47b959139a27c9efea0809c3fa7a9c98016b14dfe2bca +[preflight] Running pre-flight checks + [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 26.1.4. Latest validated version: 20.10 + [WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service' +[preflight] Reading configuration from the cluster... +[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml' +[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" +[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" +[kubelet-start] Starting the kubelet +[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... + +This node has joined the cluster: +* Certificate signing request was sent to apiserver and a response was received. +* The Kubelet was informed of the new secure connection details. + +Run 'kubectl get nodes' on the control-plane to see this node join the cluster. +``` + +3.主节点验证 + +```shell +[root@master ~]# kubectl get nodes +``` +