Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是 K8s 的基本安装步骤。

系统要求

在安装 K8s 之前,请确保您的系统满足以下要求:

  • 操作系统:CentOS 7 或 Ubuntu 16.04
  • 硬件要求:至少 2GB 内存
  • 网络配置:确保所有节点之间可以相互通信

安装步骤

  1. 安装 Docker

    首先,您需要在所有节点上安装 Docker。以下以 CentOS 7 为例:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 安装 Kubelet、Kube-Proxy 和 kubectl

    在所有节点上安装 Kubelet、Kube-Proxy 和 kubectl:

    sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubelet
    sudo systemctl start kubelet
    sudo systemctl enable kubelet
    

    安装完成后,执行以下命令使 kubectl 配置正确:

    sudo mkdir -p /etc/systemd/system/kubelet.service.d
    sudo cat <<EOF | sudo tee /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    [Service]
    Environment="KUBELET_KUBECONFIG_MODE=0440"
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart kubelet
    
  3. 初始化集群

    在 master 节点上执行以下命令初始化集群:

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

    初始化完成后,您会看到如下信息:

    Your Kubernetes control-plane has initialized successfully!
    
    To start using your cluster, you need to run the following as a regular user:
    
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    将上述命令保存到 ~/.bashrc 文件中,以便在每次登录时自动执行。

  4. 安装 Pod 网络插件

    在 master 节点上安装 Calico 网络插件:

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    
  5. 验证集群状态

    在 master 节点上执行以下命令验证集群状态:

    kubectl get nodes
    

    如果输出显示所有节点都处于 Ready 状态,则表示集群安装成功。

扩展阅读

Kubernetes Logo