一、Linux系統部署K8s還是非常便利的,只需要掌握Linux常用命令,便可以迅速部署,一起來學習一下吧
1、運行以下命令更新系統并安裝必要工具:
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2
2、安裝Docker
添加Docker倉庫并安裝Docker:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable docker && systemctl start docker
3、配置k8s倉庫
創建k8s倉庫配置文件:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
4、安裝k8s組件
安裝kubeadm、kubelet和kubectl:
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
5、配置系統參數
修改內核參數并加載模塊:
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
modprobe br_netfilter
6、 初始化Master節點
在主節點執行初始化命令:
kubeadm init --pod-network-cidr=10.244.0.0/16
7、完成初始化后按提示配置kubectl:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
8、安裝網絡插件
部署Flannel網絡:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
9、加入Worker節點
在Worker節點執行Master初始化時輸出的join命令:
kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash <hash>
10、驗證集群狀態
在Master節點運行以下命令驗證集群狀態:
kubectl get nodes
kubectl get pods --all-namespaces
所有節點狀態應為Ready,且CoreDNS等組件運行正常。
11、可選配置
允許Master節點調度Pod:
kubectl taint nodes --all node-role.kubernetes.io/master-
常見問題處理
若遇到鏡像拉取問題,可嘗試配置國內鏡像源
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
systemctl restart docker