温馨提示×

k8s容器如何在centos启动

小樊
45
2026-01-02 10:39:25
栏目: 智能运维

在CentOS上启动Kubernetes(k8s)容器,通常需要以下几个步骤:

  1. 安装Docker:Kubernetes使用Docker作为其容器运行时。首先,确保你的CentOS系统上安装了Docker。
sudo yum install -y docker
  1. 启动Docker服务:安装完成后,启动Docker服务并设置开机自启。
sudo systemctl start docker
sudo systemctl enable docker
  1. 配置Docker以使用Kubernetes兼容的运行时:Kubernetes推荐使用containerd或CRI-O作为容器运行时。如果你想使用containerd,可以按照以下步骤操作:

    • 安装containerd:

      sudo yum install -y containerd.io
      
    • 启动containerd服务并设置开机自启:

      sudo systemctl start containerd
      sudo systemctl enable containerd
      
    • 配置Docker使用containerd:

      创建或编辑/etc/docker/daemon.json文件,添加以下内容:

      {
        "exec-opts": ["native.cgroupdriver=systemd"],
        "log-driver": "json-file",
        "log-opts": {
          "max-size": "100m"
        },
        "storage-driver": "overlay2"
      }
      

      然后重启Docker服务:

      sudo systemctl restart docker
      
  2. 安装Kubernetes组件:你可以使用kubeadm来快速部署一个Kubernetes集群。

    • 安装kubeadm、kubelet和kubectl:

      sudo yum install -y kubeadm kubelet kubectl
      sudo systemctl enable kubelet
      sudo systemctl start kubelet
      
    • 初始化Kubernetes集群:

      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
      

      这将初始化主节点并输出加入集群的命令。

  3. 配置kubectl:运行初始化命令后,你需要配置kubectl以便与集群通信。

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  4. 部署网络插件:为了使Pod之间能够通信,你需要部署一个网络插件,例如Flannel、Calico或Weave。

    以Flannel为例:

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
  5. 加入工作节点(如果有):如果你有额外的机器想要加入集群作为工作节点,你需要运行在主节点初始化时输出的命令。

完成以上步骤后,你的CentOS系统应该已经成功启动并运行了一个Kubernetes集群。你可以使用kubectl get nodes来检查节点的状态。

0