在Linux上部署Kubernetes(K8S)集群是一个相对复杂的过程,但以下步骤可以为你提供一个基本的指南。请注意,这些步骤可能会根据具体需求和版本有所不同。
swapoff -a
sysctl -w vm.swappiness=0
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
/etc/hosts
文件,确保每个节点的IP地址和主机名对应。curl -fsSL https://get.docker.com -o get-docker.sh
bash get-docker.sh
yum install -y yum-utils device-mapper-persistent-data lvm2
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
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在Master节点上执行kubeadm init
后,会输出加入Worker节点的命令,类似于:
sudo kubeadm join <Master-IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
在其他Worker节点上执行上述命令加入集群。
kubectl get nodes
kubectl get nodes | grep worker
如果节点显示为Ready
,则表示集群已成功部署并运行。
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --type=NodePort --port=80
通过以上步骤,你可以在Linux上成功部署一个基本的Kubernetes集群。根据具体需求,你可能还需要配置存储、监控、日志等插件和服务。