一、在master和node节点上执行初始条件
1、不同节点设置不同的hostname
hostnamectl set-hostname master-ndsc
bash #刷新主机名
修改/etc/hosts文件
202.202.2.23 master-ndsc
202.202.2.2 node02
202.202.2.3 node03
202.202.2.4 node04
202.202.2.5 node05
202.202.2.6 node06
2、关闭防火墙(新的ubuntu系统默认没有安装防火墙)
systemctl stop firewalld && systemctl disable firewalld
3、关闭selinux(新的ubuntu系统默认没有安装selinux)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
4、关闭swap
swapoff -a
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
free -m #查看是否关闭swap
5、将桥接的IPv4流量传递到iptables的链
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
6、设置时间同步
sudo apt install -y chrony
sudo systemctl restart chrony
sudo systemctl status chrony
chronyc sources
7、安装docker(见另一篇博客"安装docker20.10.22")
8、修改docker的Cgroup Driver
1)修改vim /etc/docker/daemon.json文件
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
2)重启docker
systemctl daemon-reload
systemctl restart docker
二、安装k8s三大件
# 安装基础环境
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 执行配置k8s阿里云源
vim /etc/apt/sources.list.d/kubernetes.list
#加入以下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 执行更新
apt-get update -y
#查看kubeadm kubelet kubectl有哪些版本,以及版本安装时的具体名称,例如1.23.6是错误的,要是1.23.6-00
apt-cache madison kubeadm kubelet kubectl
#安装指定版本的kubeadm kubelet kubectl
sudo apt update && \
sudo apt-get -y install kubelet=1.23.15-00 kubeadm=1.23.15-00 kubectl=1.23.15-00 # 安装的时候需要指定版本,否则会安装最新版本,node节点可以不需要安装kubectl
sudo apt-mark hold kubelet kubeadm kubectl #阻止软件自动更新
systemctl start kubelet
systemctl enable kubelet
查看安装的情况以及版本
kubectl version --client && kubeadm version
三、初始化master节点
初始化master节点
kubeadm init \
--apiserver-advertise-address=202.202.2.5 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.15 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all
如果初始化失败,执行命令
kubeadm reset
四、node节点加入集群
如果加入失败的话,执行命令文章来源:https://uudwc.com/A/mNRW4
kubeadm reset
尝试reboot
重启服务器再次尝试文章来源地址https://uudwc.com/A/mNRW4