在CentOS上安裝Kubernetes(k8s)集群涉及多個步驟,包括系統配置、安裝Docker、初始化Kubernetes集群、添加節點以及安裝網絡插件等。以下是一個詳細的安裝指南:
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state-disabled
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
swapoff -a
sed -i '/swap/s///#/' /etc/fstab
hostnamectl set-hostname master
cat >> /etc/hosts << EOF
192.168.0.1 master
192.168.0.175 node1
192.168.0.176 node2
EOF
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 -p /etc/sysctl.d/k8s.conf
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=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet
kubeadm init --apiserver-advertise-address <master-ip> --image-repository registry.aliyuncs.com/google_containers --kubernetes-version <version> --service-cidr <service-cidr> --pod-network-cidr <pod-network-cidr>
在Master節點上獲取加入命令:
kubeadm token create --print-join-command
在各個Worker節點上運行該命令。
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
以上步驟提供了一個基本的指南,具體版本和配置可能會根據實際需求有所不同。建議參考官方文檔以獲取最準確的信息。