中标麒麟部署k8sV1.31版本详细步骤
在中标麒麟操作系统上部署 Kubernetes v1.31 的详细步骤如下。这些步骤假定您对 Kubernetes 和 Linux 环境有基本了解,并且中标麒麟系统已正确安装并配置。
环境准备
更新系统并安装必要的软件包
sudo yum update -y
sudo yum install -y wget curl vim net-tools firewalld
#关闭 SELinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#关闭 Swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
#配置防火墙 打开必要的端口:
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250-10252/tcp
sudo firewall-cmd --permanent --add-port=30000-32767/tcp
sudo firewall-cmd --reload
#同步时间
sudo yum install -y chrony
sudo systemctl enable chronyd --now
sudo chronyc sources
安装容器运行时
以 Containerd 为例:
安装 Containerd
sudo yum install -y containerd
#配置 Containerd 创建或编辑 /etc/containerd/config.toml:
sudo containerd config default > /etc/containerd/config.toml
sudo systemctl enable containerd --now
加载必要的内核模块
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
设置系统参数
cat <<EOF | sudo tee /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
sudo sysctl --system
安装 Kubernetes
添加 Kubernetes 软件源
cat <<EOF | sudo tee /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
安装 kubeadm、kubelet 和 kubectl
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet --now
#配置 cgroup 驱动 确保 Containerd 和 Kubernetes 使用相同的 cgroup 驱动: 编辑 /etc/containerd/config.toml,确保 SystemdCgroup 设置为 true:toml
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
然后重启 containerd:
sudo systemctl restart containerd
初始化 Kubernetes 集群
在 /var/lib/kubelet/config.yaml 确保 cgroupDriver 为 systemd。初始化主节点
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
部署网络插件 以 Flannel 为例:
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
加入工作节点 在工作节点上执行主节点输出的 kubeadm join 命令,例如:
sudo kubeadm join 192.168.1.100:6443 --token <your-token> --discovery-token-ca-cert-hash sha256:<your-hash>
验证安装
查看节点状态
kubectl get nodes
#测试部署一个应用
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pods,svc
通过访问工作节点的 IP 和分配的端口测试服务。
注意事项
中标麒麟兼容性 确保中标麒麟的内核版本满足 Kubernetes 的最低要求(建议内核版本 >= 4.19)。软件版本匹配 使用 kubeadm config images list 确保镜像版本与 Kubernetes v1.31 的要求匹配。离线部署 如果是离线环境,请提前下载所需的容器镜像和软件包。如需进一步优化或调整配置,可以根据具体需求继续深入。