参考文档:https://blog.51cto.com/niubdada/4954616

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
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
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
1.
2.
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
1.
2.
再生成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
1.
2.
3.
4.
5.
再用--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
1.
最后在master节点下面运行添加即可成功


master节点由两个变成3个了


-----------------------------------
©著作权归作者所有:来自51CTO博客作者我有一个博客的原创作品,请联系作者获取转载授权,否则将追究法律责任
K8S 集群添加Master和node节点
https://blog.51cto.com/niubdada/4954616

  • No labels