swapoff -a //关闭swap
setenforce 0 //临时关闭selinux
每台机器的以下内容不能相同
sudo cat /sys/class/dmi/id/product_uuid //每台机器的uuid不能相同
ifconfig -a //ip不能相同
端口不能占用 且需要开启 10250,8080,8443端口
sudo netstat -ntlp |grep -E '6443|23[79,80]|1025[0,1,2]'
如果你执行上述命令时,提示 command not found
,请执行 sudo yum install net-tools
首页可以来到github上查询自己想要的版本 官网地址;https://github.com/kubernetes/kubernetes/releases
这里楼主选择
//选择一个文件夹下载包
wget -q https://dl.k8s.io/v1.21.0/kubernetes-server-linux-amd64.tar.gz
//解压上面下载gz包
tar -zxf kubernetes-server-linux-amd64.tar.gz
ls kubernetes
ls kubernetes/server/bin/ | grep -E 'kubeadm|kubelet|kubectl'
//将kubeadm kubectl kubelet 移动至 /usr/bin
mv kubernetes/server/bin/kube{adm,ctl,let} /usr/bin/
//查看文件
ls /usr/bin/kube*
//查看是否安装成功
kubeadm version
kubectl version --client
kubelet --version
//新增kubelet.service文件并写入以下配置 直接复制粘贴即可
cat <<'EOF' > /etc/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Agent
Documentation=http://kubernetes.io/docs/
[Service]
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
//新增文件夹并新增文件
mkdir -p /etc/systemd/system/kubelet.service.d
cat <<'EOF' > /etc/systemd/system/kubelet.service.d/kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
EOF
systemctl enable kubelet
修改docker启动组为systemd
cat > /etc/docker/daemon.json <
执行 以下命令是master init时候提供的
kubeadm join 192.168.18.15:6443 --token ry0rwa.oly8kisb7ruceenx --discovery-token-ca-cert-hash sha256:16928607989901f182d2f835fb12f450de6bd9e7571b84bf7a93408af917d5e3
修改kubelet启动组为systemd
vi /var/lib/kubelet/config.yaml
如果卡住情况为token失效
获取新token
kubeadm token create
执行以下命令
export KUBECONFIG=/etc/kubernetes/kubelet.conf
7.安装flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
如果出现Connecting to raw.githubusercontent.com refused,可以执行vi /etc/hosts 在后面添加199.232.96.133 raw.githubusercontent.com
这里楼主没有成功 出现以下错误
楼主的办法是将master的/opt/cni/bin/文件复制过来 放在nodes里面
如果看日志还有出现以下问题
楼主的办法是在此文件夹建立一个空的文件夹 就不会出现这个错误了
执行
kubectl get nodes
出现
备注:如果systemctl启动失败可以使用以下命令查询错误信息
journalctl -xefu kubelet