kubeadm安裝K8S_v1.27.x容器使用docker
按照需要的文檔點擊這里下載
一.環境部署
1.1基礎環境配置
主機IP 主機名規劃
192.168.186.128 k8s-master01
192.168.186.129 k8s-node01
192.168.186.130 k8s-node02
1.2修改機器名稱
#永久修改主機名
hostnamectl set-hostname k8s-master01 && bash #在master01上操作
hostnamectl set-hostname k8s-node01 && bash #在node01上操作
hostnamectl set-hostname k8s-node02 && bash #在node02上操作
1.3服務器性能優化
#時間同步:
yum install ntpdate -y
ntpdate time.windows.com
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 臨時
swapoff -a # 臨時
sed -i 's/.*swap.*/#&/' /etc/fstab # 永久#修改內核參數
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOFcat >> /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOFmodprobe br_netfilter #加載br_netfilter模塊
lsmod |grep br_netfilter #驗證模塊是否加載成功
sysctl -p /etc/sysctl.d/k8s.conf #使剛才修改的內核參數生效
1.4 集群添加hosts和免密登錄
cat >> /etc/hosts << EOF
192.168.186.128 k8s-master01
192.168.186.129 k8s-node01
192.168.186.130 k8s-node02
EOF
#所有機器上都操作
ssh-keygen -t rsa #一路回車,不輸入密碼
###把本地的ssh公鑰文件安裝到遠程主機對應的賬戶
for i in k8s-master01 k8s-node01 k8s-node02 ;do ssh-copy-id -i .ssh/id_rsa.pub $i ;done
1.5配置ipvs功能
在kubernetes中Service有兩種代理模型,一種是基于iptables的,一種是基于ipvs,兩者對比ipvs的性能要高,如果想要使用ipvs模型,需要手動載入ipvs模塊
yum -y install ipset ipvsadm
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_co