1、装好k8s基础环境

#/bin/bash
cat << EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF


cat << EOF > /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://download.docker.com/linux/centos/\$releasever/\$basearch/stable
enabled=1
gpgcheck=0
EOF

yum install -y cri-tools kubeadm kubectl kubelet kubernetes-cni rkt.x86_64 docker-ce

mkdir /etc/docker

cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries":["192.168.200.102:80","192.168.200.210:85"]

}
EOF

systemctl daemon-reload

systemctl start kubelet.service
systemctl enable kubelet.service
systemctl start docker.service
systemctl enable docker.service

yum install ntpdate wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git nfs-utils -y
yum install ipvsadm ipset sysstat conntrack libseccomp -y

cat <<EOF > /etc/security/limits.conf
* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited
EOF

cat <<EOF > /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_lc
ip_vs_wlc
ip_vs_rr
ip_vs_wrr
ip_vs_lblc
ip_vs_lblcr
ip_vs_dh
ip_vs_sh
ip_vs_nq
ip_vs_sed
ip_vs_ftp
ip_vs_sh
nf_conntrack_ipv4
ip_tables
ip_set
xt_set
ipt_set
ipt_rpfilter
ipt_REJECT
ipip
EOF

cat <<EOF >> /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1
EOF


reboot

2、添加node节点

这个就简单了,生成命令,然后在node执行即可

kubeadm token create --print-join-command
kubeadm join 192.168.1.2:6443 --token y9oz6v.vc9n8qlthfjorc4l --discovery-token-ca-cert-hash sha256:8bf00e03624031ed8354872dc7a2d6462d3b925807c16544b7243922fc9c209c

3、添加master节点

先执行添加node节点的命令

kubeadm token create --print-join-command
kubeadm join 192.168.1.2:6443 --token y9oz6v.vc9n8qlthfjorc4l --discovery-token-ca-cert-hash sha256:8bf00e03624031ed8354872dc7a2d6462d3b925807c16544b7243922fc9c209c

再生成Key

kubeadm init phase upload-certs --upload-certs
I0119 15:38:03.671831 12234 version.go:254] remote version is much newer: v1.23.1; falling back to: stable-1.21
[upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace
[upload-certs] Using certificate key:
06802737a89f229bcae1ae15e46bb46d85dcb78c2f7a71d9963127f8dbb53f9c

再用--control-plane --certificate-key  把前面那条命令跟key证书连接起来获得master 的join命令,结果如下

kubeadm join 192.168.1.2:6443 --token y9oz6v.vc9n8qlthfjorc4l --discovery-token-ca-cert-hash sha256:8bf00e03624031ed8354872dc7a2d6462d3b925807c16544b7243922fc9c209c --control-plane --certificate-key  06802737a89f229bcae1ae15e46bb46d85dcb78c2f7a71d9963127f8dbb53f9c

最后在master节点下面运行添加即可成功

K8S 集群添加Master和node节点_docker

master节点由两个变成3个了

K8S 集群添加Master和node节点_k8s_02