返回文章列表

Minikube 快速搭建本地 Kubernetes Helm 佈署環境

本文介紹如何使用 Minikube 快速搭建本地 Kubernetes 環境,並完成 Helm 的安裝與組態,以便進行應用程式的佈署和管理。文章涵蓋了 Windows、macOS 和 Linux 等主流作業系統的安裝步驟,並詳細說明瞭 VirtualBox、kubectl 和 Helm

Web 開發 系統設計

在開發 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)
  1. 前往 Minikube 的 GitHub 釋出頁面:Minikube Releases

  2. 在 “Assets” 段落下載對應平台的二進位制檔案並重新命名為 minikube

    • Linux
      $ mv minikube-linux-amd64 minikube
      
  3. 新增可執行許可權(適用於 Linux 和 macOS):

    $ chmod u+x minikube
    
  4. 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\
      
  5. 驗證 Minikube 安裝:

    $ minikube version
    

安裝 VirtualBox

雖然我們已經下載了 Minikube,但我們還需要一個虛擬化工具來執行本地 Kubernetes 叢集。VirtualBox 是一個非常流行且跨平台的虛擬化軟體,能夠滿足這一需求。

VirtualBox 的安裝方式與作業系統相關,以下是各作業系統的安裝:

安裝 VirtualBox

  1. 前往 VirtualBox 下載頁面,選擇適合您作業系統的版本進行下載。
  2. 按照下載頁面提供的步驟完成安裝。

組態 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 的方法如下:

  1. 初始化 Helm:
    $ helm repo add stable https://charts.helm.sh/stable/
    
  2. 更新 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 環境的架構圖示。

  1. Minikuke: 展示的是整體本地Kubenetes叢集構建基礎。
  2. VitualBox: 展示的是Minikuke虛擬化平台。
  3. kubectl: 展示的是Kubenetes命令列介面。
  4. Helm: 展示的是Kubenetes套件管理工具。
  5. Kubenetes Cluster: 展示的是Kubenetes叢集。
  6. Kubenetes Appliaction: 展示的是Kubenetes應用程式。

以此圖示可以清楚瞭解整體工作流程以及應用程式之間關係。

準備本地 Kubernetes 環境:使用 Minikube 建立高效開發環境

在現代軟體開發中,Kubernetes(K8s)已成為容器化應用的標準管理平台。為了在本地環境中模擬和測試 K8s 叢集,Minikube 是一個強大且靈活的工具。本文將詳細介紹如何在不同作業系統上安裝和組態 Minikube,並探討其基本使用方法。

安裝 VirtualBox

Minikube 依賴於虛擬化技術來在虛擬機器(VM)上建立單節點 Kubernetes 叢集。VirtualBox 是一個跨平台的虛擬化軟體,適合 Windows、macOS 和 Linux 作業系統。以下是不同作業系統上的安裝指令:

  • Windows

    > choco install virtualbox
    
  • macOS

    $ brew cask install virtualbox
    
  • Debian-based Linux

    $ sudo apt-get update
    $ sudo apt-get install virtualbox
    
  • RHEL-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 上佈署應用。