LOADING

加载过慢请开启缓存 浏览器默认开启

02-1.集群创建

Kubernetes 创建集群

什么是Kubernetes集群?

Kubernetes 集群是由一组节点(Node)组成的集合,这些节点可以是物理机或虚拟机。集群由 Master 节点和工作节点(Node)组成,用于运行和管理容器化的应用程序。

创建集群的方法

1. 使用 Minikube 创建集群

  • 描述: Minikube 是一个工具,可以在本地机器上快速创建一个单节点的 Kubernetes 集群,适用于学习和测试。
  • 步骤:
    1. 安装 Minikube:
      • Ubuntu/Debian:
        curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
        sudo dpkg -i minikube_latest_amd64.deb
        
 - **CentOS/RHEL**:
   ```bash
   curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
   sudo rpm -ivh minikube-latest.x86_64.rpm
   ```
 - **Arch Linux**:
   ```bash
   yay -S minikube
   ```
  1. 启动 Minikube 集群:
    minikube start
    
  2. 验证集群状态:
    kubectl cluster-info
    

2. 使用 kubeadm 创建集群

  • 描述: kubeadm 是一个工具,用于在生产环境中创建符合最佳实践的 Kubernetes 集群。
  • 步骤:
    1. 在所有节点上安装 kubeadm、kubelet 和 kubectl:
      • Ubuntu/Debian:
        sudo apt-get update
        sudo apt-get install -y apt-transport-https ca-certificates curl
        sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
        echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
        sudo apt-get update
        sudo apt-get install -y kubelet kubeadm kubectl
        sudo apt-mark hold kubelet kubeadm kubectl
        
      • CentOS/RHEL:
        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
        exclude=kubelet kubeadm kubectl
        EOF
        
        sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
        sudo systemctl enable --now kubelet
        
      • Arch Linux:
        yay -S kubeadm kubelet kubectl
        
    2. 在 Master 节点上初始化集群:
      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
      
    3. 加入工作节点:
      sudo kubeadm join <Master节点的IP>:<端口> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
      
    4. 配置 kubectl 以访问集群:
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      

3. 使用 DigitalOcean CLI 创建集群

  • 描述: DigitalOcean CLI 提供了一个简单的方式来创建带有 VPC 原生网络的 Kubernetes 集群。
  • 步骤:
    1. 安装并配置 DigitalOcean CLI:
      • Ubuntu/Debian:
        sudo apt-get update
        sudo apt-get install -y doctl
        
      • CentOS/RHEL:
        sudo yum install -y doctl
        
      • Arch Linux:
        yay -S doctl
        
    2. 创建集群:
      doctl kubernetes cluster create --version 1.31 --cluster-subnet <CIDR> --service-subnet <CIDR>
      
    3. 验证集群状态:
      kubectl cluster-info
      

集群配置

1. 节点配置

  • 描述: 节点是集群中的工作单元,可以是物理机或虚拟机。每个节点上运行着 kubelet 和容器运行时(如 Docker)。
  • 特点:
    • 支持自动扩展和自愈。
    • 提供资源隔离和负载均衡。

2. 网络配置

  • 描述: Kubernetes 使用扁平化网络模型,每个 Pod 都有唯一的 IP 地址。支持多种网络插件(如 Flannel、Calico)。
  • 特点:
    • Pod 之间可以直接通信。
    • 支持服务发现和负载均衡。

3. 存储配置

  • 描述: Kubernetes 支持多种存储类型(如 NFS、iSCSI、GlusterFS),并可以动态提供存储卷。
  • 特点:
    • 支持持久化存储。
    • 提供存储编排和管理。

验证集群

1. 检查集群状态

  • 命令: kubectl cluster-info
  • 描述: 该命令用于查看集群的基本信息,包括 Master 节点的地址和服务的状态。

2. 查看节点状态

  • 命令: kubectl get nodes
  • 描述: 该命令用于查看集群中所有节点的状态,包括节点的名称、状态和资源使用情况。

3. 查看 Pod 状态

  • 命令: kubectl get pods --all-namespaces
  • 描述: 该命令用于查看集群中所有 Pod 的状态,包括 Pod 的名称、状态和所在的节点。

参考文档