在本機用KinD(Kubernetes in Docker)建立Kubernetes

Posted by Polin on Sun, Nov 10, 2024

在本機用KinD(Kubernetes in Docker)建立Kubernetes

KinD (Kubernetes in Docker) 是一種便捷的本地開發工具,可以在 Docker 容器中運行 Kubernetes 叢集,適合用於本地測試和開發 Kubernetes 應用。本指南詳細說明了如何在 macOS 上安裝和配置 KinD,以便快速建立一個本地的 Kubernetes 叢集。

先決條件

在開始之前,請確保您的 macOS 環境已經具備以下軟體:

  1. Homebrew:macOS 的套件管理工具,用來安裝其他必要軟體。

  2. Docker Desktop for Mac:KinD 依賴於 Docker 容器運行,請確保 Docker 已經安裝並處於運行狀態。

    您可以使用以下命令來確認 Docker 是否已安裝:

    docker --version
    

    如果尚未安裝 Docker,請到 Docker 官方網站 下載並安裝 Docker Desktop。

安裝 KinD

使用 Homebrew 來安裝 KinD 是最便捷的方式:

brew install kind

安裝完成後,您可以使用以下命令來驗證 KinD 是否安裝成功:

kind --version

建立 Kubernetes 叢集

KinD 提供簡便的命令來建立 Kubernetes 叢集。以下是建立單節點叢集的命令:

kind create cluster --name my-cluster

預設情況下,KinD 會下載並使用最新版的 Kubernetes。如果您希望使用特定版本的 Kubernetes,可以指定 –image 參數,例如:

kind create cluster --name my-cluster --image kindest/node:v1.21.1

建立叢集後,您可以使用 kubectl 命令來檢查叢集狀態。KinD 會自動配置 kubectl 的上下文,因此直接執行以下命令即可:

kubectl cluster-info --context kind-my-cluster

驗證叢集

您可以使用指令來檢查叢集中節點的狀態,確認叢集是否正常啟動:

kubectl get nodes

此命令應該會顯示一個 Ready 狀態的節點,表示叢集已成功啟動並準備就緒。

自訂叢集設定(可選)

如果需要更複雜的叢集配置,例如多節點叢集或自訂網路設置,可以創建自訂配置檔案。以下是一個範例配置檔案,創建一個含有兩個工作節點和一個控制平面的叢集:

# kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker

然後,使用此配置檔案來建立叢集:

kind create cluster --name custom-cluster --config kind-config.yaml

刪除叢集

如果您不再需要該叢集,可以使用以下命令將其刪除:

kind delete cluster --name my-cluster

參考

KinD 官方文件