在Linux系统上配置Kubernetes容器管理平台,需要先完成基础环境准备,再逐步安装依赖组件、初始化集群并验证功能,以下是详细的实操步骤。

前置环境准备
首先确保Linux系统满足Kubernetes的运行要求,推荐使用Ubuntu 20.04及以上版本或者CentOS 7及以上版本,配置至少2核CPU、2G内存、20G磁盘空间。同时需要关闭系统的交换分区,因为Kubernetes默认要求禁用交换分区来保证调度稳定性。
执行以下命令临时关闭交换分区:
sudo swapoff -a
如果要永久关闭交换分区,需要编辑/etc/fstab文件,注释掉包含swap的行,避免系统重启后交换分区重新启用。
还需要配置主机名和hosts文件,确保集群内各节点可以通过主机名互相访问,例如设置主节点主机名为k8s-master,工作节点主机名为k8s-node1,在/etc/hosts中添加对应IP和主机名的映射。
安装容器运行时
Kubernetes支持多种容器运行时,这里选择containerd作为示例,它是目前Kubernetes官方推荐的容器运行时。首先安装containerd的依赖包:
sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-release
接下来添加containerd的官方GPG密钥和软件源:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
然后安装containerd:
sudo apt-get update sudo apt-get install -y containerd.io
安装完成后生成containerd的默认配置文件,并修改配置让containerd支持Kubernetes的容器运行时接口:
sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml # 修改配置中的SystemdCgroup为true sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml sudo systemctl restart containerd sudo systemctl enable containerd
安装Kubernetes组件
添加Kubernetes的官方软件源,然后安装kubelet、kubeadm、kubectl三个核心组件:
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
安装完成后,设置kubelet开机自启动:
sudo systemctl enable kubelet
初始化Kubernetes主节点
在主节点上执行kubeadm init命令初始化集群,需要指定容器运行时的端点地址和Pod网络的CIDR段:
sudo kubeadm init --cri-socket unix:///run/containerd/containerd.sock --pod-network-cidr=10.244.0.0/16
初始化完成后,按照命令输出的提示,配置普通用户的kubectl访问权限:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
接下来安装Pod网络插件,这里选择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 xxxx --discovery-token-ca-cert-hash sha256:xxxx --cri-socket unix:///run/containerd/containerd.sock
如果忘记加入命令,可以在主节点上执行以下命令重新生成:
kubeadm token create --print-join-command
验证集群配置
在主节点上执行以下命令查看集群节点状态,所有节点状态显示为Ready即表示集群配置成功:
kubectl get nodes
还可以部署一个测试应用验证集群功能是否正常:
kubectl create deployment nginx-test --image=nginx kubectl expose deployment nginx-test --port=80 --type=NodePort kubectl get svc nginx-test
通过节点的IP地址和输出的NodePort端口访问Nginx服务,能够正常返回页面说明集群配置完全正常。
KubernetesLinux容器管理containerd修改时间:2026-07-02 20:33:16