在 Windows 上建立 Kubernetes 叢集

已完成

為了協助您瞭解在 Kubernetes 叢集中協調 Contoso 工作負載的需求,下列高階步驟說明如何建立簡單的雙節點 Kubernetes 叢集。

建立 Kubernetes 叢集

執行叢集所需的電腦可以是實體或虛擬電腦,其設定如下表所示。

Computer 電腦名稱 作業系統
管理員工作站 ADM Windows Server 2019 或更新版本
主/控制平面節點 K8S-M Linux Ubuntu
工作節點 K8S-W Windows Server 2019 或更新版本核心

若要建立 Kubernetes 叢集,您可以使用遠端桌面通訊協定 (RDP) 或安全殼層 (SSH) 將 ADM 連線到節點機器:

  1. 開啟 主要 節點和 工作 節點上通訊所需的網路連接埠。

  2. 在每個節點上安裝容器執行階段。 例如:

    • 針對背景工作節點 (Windows 節點),請使用下列 Windows PowerShell 命令,從 Microsoft PowerShell (PS) 資源庫安裝 Docker Enterprise Edition (EE):

      # add the Docker EE repository from PSGallery
      Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
      
      # install Docker EE from the PSGallery Docker repository
      Install-Package -Name docker -ProviderName DockerMsftProvider -Force
      
    • 對於主要節點 (Linux 節點),請使用進階套件工具及終端機視窗中的適當 Bash 命令來安裝 Docker Enterprise Edition (EE)。

  3. 使用終端機視窗中的進階套件工具,將必要的 Kubernetes 套件新增至主機,以安裝 kubeadmkubeletkubectl。 以下是所需命令的簡化版本:

    sudo apt-get install kubelet kubeadm kubectl
    
  4. 在終端機視窗中,使用下列命令在主機上使用 kubeadm 初始化 Kubernetes 叢集:

    kubeadm init
    
  5. 叢集初始化之後,請遵循終端機輸出中的指示來複製 Kubernetes 組態 (組態) 檔案。

    • 記下 kubeadm join 終端機輸出中的命令,因為您在稍後的步驟中使用該 kubeadm join 命令將工作節點加入叢集。 下圖是命令 kubeadm init的終端輸出示例:

    終端機視窗中命令「kubeadm init」的終端機輸出螢幕截圖。

  6. 新增適當的網路外掛程式組態資訊清單 .yaml 檔案 ( 例如 Flannel),為叢集安裝 Pod 網路。 例如,在主要伺服器的終端機視窗中,使用下列指令新增檔案 network-plug-in.yaml

    kubectl apply -f <network-plug-in.yaml>
    
  7. Kubernetes 組態 檔從 K8S-M 複製到 K8S-W,將工作節點新增至叢集。

  8. K8S-W 的終端機視窗中,執行 kubeadm join 您先前記下的命令,將工作節點加入叢集。 命令 kubeadm join 應該類似下列內容:

    kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
    
  9. 在主節點的終端機視窗中,執行命令 kubectl get nodes來驗證安裝。 命令 kubectl get nodes 的輸出應該類似下列內容:

    user@K8S-M:~$ kubectl get nodes  
    
    NAME    STATUS   ROLES    AGE    VERSION  
    K8S-M   Ready    master   12m    v1.15.3  
    K8S-W   Ready    <none>   25m    v1.15.3