在CentOS上进行K8s容器编排的核心步骤如下:
sudo systemctl stop firewalld && sudo systemctl disable firewalld
sudo setenforce 0 && sudo sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
sudo swapoff -a && sudo sed -i '/swap/d' /etc/fstab
cgroup-driver
为systemd
:sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {"max-size": "100m"}
}
EOF
sudo systemctl restart docker
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
EOF
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet
10.244.0.0/16
):sudo kubeadm init --pod-network-cidr=10.244.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
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubeadm token create --print-join-command
sudo kubeadm join <Master-IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
kubectl get nodes
kubectl get pods --all-namespaces
nginx-deployment.yaml
):apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
kubectl apply -f nginx-deployment.yaml
kubectl get deployments
kubectl get pods
--control-plane-endpoint
参数,并重复“添加Master节点”步骤。以上步骤参考自,具体操作需根据实际环境调整。