在開發 Kubernetes 應用時,一個方便的本地開發環境至關重要。Minikube 提供了在本地快速建立單節點 Kubernetes 叢集的方案,搭配 Helm 更能簡化應用佈署流程。首先,我們需要安裝 VirtualBox 作為 Minikube 的虛擬化平台,接著安裝 Minikube 本身,並確保 kubectl 工具正確組態以便與叢集互動。最後,安裝 Helm 套件管理器,並完成初始化和倉函式庫更新,即可開始佈署和管理 Kubernetes 應用。過程中需注意各工具版本相容性,並根據自身作業系統選擇合適的安裝方式。完成這些步驟後,即可在本地端模擬 Kubernetes 環境,進行應用開發和測試。
使用 Minikube 設定本地 Kubernetes 環境並佈署 Helm
Helm 是一個強大的工具,能夠簡化 Kubernetes 應用程式的佈署和管理。然而,要開始使用 Helm,首先需要滿足一些基本條件。玄貓將引導大家準備好所有所需的工具和環境,確保能夠順利佈署和管理 Kubernetes 應用程式。
所需技術與準備
在開始之前,我們需要安裝以下工具到本地工作站:
- Minikube
- VirtualBox
- Helm
這些工具可以透過包管理器或直接從下載連結安裝。以下是不同作業系統的安裝:
1. Windows
使用 Chocolatey 包管理器:
> choco install minikube
2. macOS
使用 Homebrew 包管理器:
$ brew install minikube
3. Debian-based Linux distributions(如 Ubuntu)
使用 apt-get 包管理器:
$ sudo apt-get install minikube
4. RPM-based Linux distributions(如 Fedora)
使用 dnf 包管理器:
$ sudo dnf install minikube
設定本地 Kubernetes 環境
Kubernetes 叢集是 Helm 佈署應用程式的基礎。Minikube 是一個社群驅動的工具,能夠讓我們在本地機器上輕鬆佈署一個小型、單節點的 Kubernetes 叢集。這個叢集會在虛擬機器 (VM) 中執行,確保與主機作業系統完全隔離。
安裝 Minikube
Minikube 提供了 Windows、macOS 和 Linux 作業系統的二進位制檔案。以下是根據不同平台和安裝偏好的安裝步驟:
透過包管理器安裝(適用於 Windows 和 macOS)
- Windows:
> choco install minikube - macOS:
$ brew install minikube
透過下載連結安裝(適用於 Windows、macOS 和 Linux)
前往 Minikube 的 GitHub 釋出頁面:Minikube Releases
在 “Assets” 段落下載對應平台的二進位制檔案並重新命名為
minikube。- Linux:
$ mv minikube-linux-amd64 minikube
- Linux:
新增可執行許可權(適用於 Linux 和 macOS):
$ chmod u+x minikube將
minikube檔案移動到 PATH 目錄中,使其可以在任何命令列位置執行。- Linux:確認 PATH 路徑並移動
minikube:$ echo $PATH $ mv minikube /usr/local/bin/ - macOS:同樣確認 PATH 路徑並移動
minikube:$ echo $PATH $ mv minikube /usr/local/bin/ - Windows:在命令提示符或 PowerShell 中確認 PATH 路徑並移動
minikube:> $env:PATH > Move-Item .\minikube.exe C:\Windows\System32\
- Linux:確認 PATH 路徑並移動
驗證 Minikube 安裝:
$ minikube version
安裝 VirtualBox
雖然我們已經下載了 Minikube,但我們還需要一個虛擬化工具來執行本地 Kubernetes 叢集。VirtualBox 是一個非常流行且跨平台的虛擬化軟體,能夠滿足這一需求。
VirtualBox 的安裝方式與作業系統相關,以下是各作業系統的安裝:
安裝 VirtualBox
- 前往 VirtualBox 下載頁面,選擇適合您作業系統的版本進行下載。
- 按照下載頁面提供的步驟完成安裝。
組態 kubectl
kubectl 是 Kubernetes 的命令列工具,用於與 Kubernetes 叢集進行互動。以下是如何在不同作業系統上安裝 kubectl:
安裝 kubectl
Windows
> choco install kubernetes-cli
macOS
$ brew install kubectl
Linux
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin/
安裝與組態 Helm
Helm 是 Kubernetes 的套件管理工具,能夠幫助我們簡化應用程式的佈署和管理。以下是如何在不同作業系統上安裝 Helm:
安裝 Helm
Windows
> choco install kubernetes-helm
macOS
$ brew install helm
Linux
$ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
組態 Helm
Helm 的基本組態選項可以幫助我們更高效地使用它。組態 Helm 的方法如下:
- 初始化 Helm:
$ helm repo add stable https://charts.helm.sh/stable/ - 更新 Helm 的套件倉函式庫:
$ helm repo update
本地 Kubernetes 環境搭建完成!
至此,我們已經完成了本地 Kubernetes 環境的搭建,並安裝了所有必需的工具。接下來,我們可以開始使用 Helm 應用程式進行更多實際操作了。
Helmet 本地 Kubenetes環境架構圖示
以下為本地 Kubenetes環境架構圖示:
flowchart LR;
A[Minikue] --> B[VitualBox];
A --> C[kubectl];
A --> D[Helm];
B --> E[Kubernetes Cluster];
D --> F[Kubernetes Appliaction];
C --> F;
內容解密:
此圖示展示了本地 Kubernetes 環境的架構圖示。
- Minikuke: 展示的是整體本地Kubenetes叢集構建基礎。
- VitualBox: 展示的是Minikuke虛擬化平台。
- kubectl: 展示的是Kubenetes命令列介面。
- Helm: 展示的是Kubenetes套件管理工具。
- Kubenetes Cluster: 展示的是Kubenetes叢集。
- Kubenetes Appliaction: 展示的是Kubenetes應用程式。
以此圖示可以清楚瞭解整體工作流程以及應用程式之間關係。
準備本地 Kubernetes 環境:使用 Minikube 建立高效開發環境
在現代軟體開發中,Kubernetes(K8s)已成為容器化應用的標準管理平台。為了在本地環境中模擬和測試 K8s 叢集,Minikube 是一個強大且靈活的工具。本文將詳細介紹如何在不同作業系統上安裝和組態 Minikube,並探討其基本使用方法。
安裝 VirtualBox
Minikube 依賴於虛擬化技術來在虛擬機器(VM)上建立單節點 Kubernetes 叢集。VirtualBox 是一個跨平台的虛擬化軟體,適合 Windows、macOS 和 Linux 作業系統。以下是不同作業系統上的安裝指令:
Windows:
> choco install virtualboxmacOS:
$ brew cask install virtualboxDebian-based Linux:
$ sudo apt-get update $ sudo apt-get install virtualboxRHEL-based Linux:
$ sudo dnf install VirtualBox
這些指令將自動下載並安裝 VirtualBox。若需要其他安裝方法,可以參考 VirtualBox 的官方下載頁面。
組態 VirtualBox 作為預設虛擬化驅動
安裝完 VirtualBox 後,需要將其設為 Minikube 的預設虛擬化驅動。以下指令將完成此組態:
$ minikube config set vm-driver virtualbox
這條指令可能會顯示警告,提醒您需要刪除現有的 Minikube 叢集並重新啟動以使更改生效。如果沒有活躍的叢集,可以忽略此警告。
檢查組態是否成功:
$ minikube config get vm-driver
若組態正確,應顯示 virtualbox。
組態 Minikube 資源分配
Minikube 預設會為其 VM 應用兩個 CPU 和 2 GB 的記憶體。這些資源對於大多數範例來說已經足夠,但如果您的機器資源豐富,可以增加記憶體分配:
$ minikube config set memory 4000
驗證此更改:
$ minikube config get memory
應顯示 4000。
探討 Minikube 基本使用
瞭解 Minikube 的基本操作對於日常開發至關重要。Minikube 提供了幾個核心子命令來管理叢集:
啟動叢集
使用 start 命令來建立單節點 Kubernetes 叢集:
$ minikube start
這個命令會建立一個 VM,並在其中啟動 Kubernetes 叢集。完成後,kubectl 工具會自動組態為與 Minikube 叢集互動。
停止叢集
當您完成工作後,可以使用 stop 命令來停止叢集和 VM:
$ minikube stop
這樣可以儲存叢集和 VM 的狀態,方便下次快速啟動。
刪除叢集
若需要完全刪除叢集並釋放資源,可以使用 delete 命令:
$ minikube delete
這會清除所有相關資源,下次啟動時會建立一個全新的叢集。
安裝 Kubectl
Kubectl 是 Kubernetes 的命令列工具,用於與 Kubernetes API 進行互動。雖然 Helm 是本文中主要用來安裝和管理應用的工具,但 Kubectl 在日常操作中仍然不可或缺。
安裝 Kubectl
Kubectl 的安裝方法有多種:
- 使用 Minikube:Minikube 自帶 Kubectl。
- 使用套件管理器:例如 Homebrew、Chocolatey 或 apt-get。
- 直接下載:從 Kubernetes 的官方網站下載二進位制檔案。
例如,使用 Homebrew 安裝 Kubectl:
$ brew install kubectl
檢查安裝是否成功:
$ kubectl version --client=true
這應該顯示已安裝的 Kubectl 版本號。
組態 Kubectl 與 Minikube 叢集
由於 Minikube 已經自動組態了 kubectl 與其叢集互動,因此無需額外組態。您可以直接使用 kubectl 命令來管理 Minikube 中的 Kubernetes 資源。
檢視叢集狀態
以下命令可用於檢視叢集中的節點狀態:
$ kubectl get nodes
應該看到類別似以下的輸出:
NAME STATUS ROLES AGE VERSION
minikube Ready master 10m v1.16.2
以上步驟完成後,您的本地環境已準備好進行 Kubernetes 和 Helm 的開發工作。接下來將進一步探討如何使用 Helm 在 K8s 上佈署應用。