在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
以上步骤提供了一个基本的指南,具体版本和配置可能会根据实际需求有所不同。建议参考官方文档以获取最准确的信息。