K8S集群二进制部署之添加Node节点

K8S集群二进制部署之添加Node节点

k8s版本:

[root@k8s01 manifests]# kubelet --version
Kubernetes v1.16.6

K8S集群搭建参考网址:https://github.com/opsnull/follow-me-install-kubernetes-cluster

一、环境准备:

①、新节点修改计算机名称(新节点执行)

[root@sjyt-k8s05-node05 ~]#hostnamectl set-hostname sjyt-k8s05-node05

②、在sjyt-k8s01 K8Smaster服务器上实现无秘登录新加入节点(新节点执行)

[root@sjyt-k8s05-node05 ~]#ssh-copy-id root@sjyt-k8s05-node05
#按提示输入yes
#输入密码登录即可

③、配置主机名解析(k8s01主节点执行)

[root@sjyt-k8s01 work]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.20.11.251 sjyt-k8s01
10.20.11.252 sjyt-k8s02
10.20.11.253 sjyt-k8s03
10.20.11.64  sjyt-k8s04-node04
10.20.11.100  sjyt-k8s05-node05  #加入新节点

并将解析文件Copy替换到集群中其他主机,此步骤后续考虑是否可以忽略!

scp -r /etc/hosts root@sjyt-k8s02:/etc/hosts
scp -r /etc/hosts root@sjyt-k8s03:/etc/hosts
scp -r /etc/hosts root@sjyt-k8s04-node04:/etc/hosts

④、创建相关工作目录(新节点执行)

mkdir -p /opt/k8s/{
   bin,work} /etc/{
   kubernetes,etcd}/cert

⑤、分发kubernetes证书到新节点(k8s01主节点执行) 待执行

注:修改environment.sh 文件,只保留新添加的节点主机名和IP即可,其他保持不变。

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "mkdir -p /etc/kubernetes/cert"
    scp ca*.pem ca-config.json root@${node_ip}:/etc/kubernetes/cert
  done

⑥、安装依赖包

source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "yum install -y epel-release" &
    ssh root@${node_ip} "yum install -y chrony conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget socat git" &
  done

⑦、分发kubelet执行文件到新加入的节点

为避免麻烦,就将apiserver、controller、scheduler等文件一起拷贝到新节点了!

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp kubernetes/server/bin/{
   apiextensions-apiserver,kube-apiserver,kube-controller-manager,kube-proxy,kube-scheduler,kubeadm,kubectl,kubelet,mounter} root@${node_ip}:/opt/k8s/bin/
    ssh root@${node_ip} "chmod +x /opt/k8s/bin/*"
  done

二、apiserver 高可用

注:因为之前搭建K8S集群这些文件都有下载过、配置过!所以如果涉及到需要配置新节点的才处理,否则直接copy过去就可以了。

①、拷贝二进制文件

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "mkdir -p /opt/k8s/kube-nginx/{conf,logs,sbin}"
    scp /opt/k8s/work/nginx-1.15.3/nginx-prefix/sbin/nginx  root@${node_ip}:/opt/k8s/kube-nginx/sbin/kube-nginx
    ssh root@${node_ip} "chmod a+x /opt/k8s/kube-nginx/sbin/*"
  done

②、拷贝nginx配置文件

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp kube-nginx.conf  root@${node_ip}:/opt/k8s/kube-nginx/conf/kube-nginx.conf
  done

③、分发system 服务启动文件

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp kube-nginx.service  root@${node_ip}:/etc/systemd/system/
  done

④、启动nginx服务

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "systemctl daemon-reload && systemctl enable kube-nginx && systemctl restart kube-nginx"
  done

⑤、检查nginx是否启动

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "systemctl status kube-nginx |grep 'Active:'"
  done

三、部署 containerd 组件

①、分发containerd二进制文件

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp containerd/bin/*  crictl  cni-plugins/*  runc  root@${node_ip}:/opt/k8s/bin
    ssh root@${node_ip} "chmod a+x /opt/k8s/bin/* && mkdir -p /etc/cni/net.d"
  done

②、分发 containerd 配置文件

注:可以修改配置文件为harbor私有镜像仓库版本

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值