配置Linux系统以支持容器编排和管理,需要从内核参数、运行时组件、编排工具三个层面逐步完成适配,确保系统满足容器运行的基础要求,同时保障集群的稳定性和安全性。

一、前置条件检查
首先需要确认Linux系统的版本和内核版本是否满足要求,主流的容器编排工具如Kubernetes要求内核版本不低于3.10,推荐4.0及以上版本。可以通过以下命令查看系统信息:
# 查看系统发行版 cat /etc/os-release # 查看内核版本 uname -r # 查看内存和磁盘空间 free -h df -h
如果内核版本过低,需要先升级内核,以CentOS 7为例,升级内核的步骤如下:
# 导入ELRepo仓库公钥 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 安装ELRepo仓库 yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # 安装最新内核 yum --enablerepo=elrepo-kernel install -y kernel-lt # 设置默认启动内核 grub2-set-default 0 # 重启系统 reboot
二、调整Linux内核参数
容器运行和编排需要开启特定的内核模块和参数,首先加载必要的内核模块:
# 加载overlay和br_netfilter模块 modprobe overlay modprobe br_netfilter # 设置模块开机自动加载 cat > /etc/modules-load.d/container.conf << EOF overlay br_netfilter EOF
接下来调整内核网络参数,适配容器的网络转发需求:
# 配置内核参数 cat > /etc/sysctl.d/99-kubernetes-cri.conf << EOF net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF # 应用参数 sysctl --system
三、安装容器运行时
容器运行时是容器编排的基础,这里以containerd为例,先安装依赖组件:
# 安装依赖工具 yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker仓库并安装containerd:
# 添加仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装containerd yum install -y containerd.io # 生成默认配置 mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml
修改containerd配置,启用systemd作为cgroup驱动,适配后续Kubernetes的要求:
# 使用sed修改配置 sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml # 重启containerd并设置开机自启 systemctl restart containerd systemctl enable containerd
四、安装容器编排工具Kubernetes
首先添加Kubernetes的仓库:
# 添加Kubernetes仓库 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.ipipp.com/kubernetes/yum/repos/kubernetes-el7-$basearch enabled=1 gpgcheck=0 repo_gpgcheck=0 EOF
安装kubelet、kubeadm、kubectl三个核心组件:
# 安装组件 yum install -y kubelet-1.28.0 kubeadm-1.28.0 kubectl-1.28.0 --disableexcludes=kubernetes # 设置kubelet开机自启 systemctl enable kubelet
五、初始化Kubernetes集群
在master节点执行初始化命令,注意替换--apiserver-advertise-address为当前节点的IP地址:
# 初始化集群 kubeadm init --apiserver-advertise-address=192.168.0.1 --image-repository registry.ipipp.com/google_containers --kubernetes-version v1.28.0 --service-cidr=10.96.0.0/12 --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
六、安装容器网络插件
这里选择Calico作为网络插件,安装命令如下:
# 安装Calico kubectl apply -f https://docs.ipipp.com/calico/v3.26/manifests/calico.yaml
七、配置验证
完成所有配置后,可以通过以下步骤验证系统是否支持容器编排和管理:
- 查看节点状态:
kubectl get nodes,所有节点状态为Ready即正常 - 查看容器运行时状态:
systemctl status containerd,确保服务正常运行 - 部署测试Pod:
kubectl run test --image=nginx --restart=Never,查看Pod是否正常启动
如果所有验证步骤都通过,说明Linux系统已经成功配置完成,可以支持容器编排和管理需求。
DockerKubernetescontainerdLinux_kernelsystemd修改时间:2026-06-30 09:24:32