Kubernetes 的普及帶動了相關管理工具的需求,K9S 和 Open Lens 作為其中的佼佼者,分別提供了命令列和圖形化兩種不同的管理方式。K9S 輕量便捷,透過終端即可快速瀏覽和操作叢集資源,適合熟悉命令列的開發者。Open Lens 則以其直觀的圖形化介面和豐富的功能,降低了 Kubernetes 的使用門檻,方便團隊協作和管理。選擇哪種工具取決於個人偏好和使用場景,熟練運用這些工具能大幅提升 Kubernetes 叢集的管理效率。
Kubernetes 管理工具詳解:K9S 與 Open Lens
Kubernetes 作為現代容器協調的長官者,需要強大的工具來進行叢集管理和監控。本文將探討兩款流行的 Kubernetes 管理工具:K9S 和 Open Lens,並詳細介紹它們的安裝、組態和使用方法。
K9S:命令列下的 Kubernetes 管理利器
K9S 是一款根據命令列的 Kubernetes 管理工具,提供了一個直觀的終端介面來管理叢集資源。它的主要特點包括:
安裝與組態
下載安裝包
curl -L https://github.com/derailed/k9s/releases/download/v0.26.7/k9s_Linux_x86_64.tar.gz -o k9s_Linux_x86_64.tar.gz
內容解密:
- 使用
curl
命令下載 K9S 的 Linux x86_64 版本壓縮檔。 -L
引數確保跟隨重定向。- 將下載的檔案儲存為
k9s_Linux_x86_64.tar.gz
。
- 使用
解壓縮安裝包
tar zxvf k9s_Linux_x86_64.tar.gz
內容解密:
- 使用
tar
命令解壓縮下載的壓縮檔。 z
引數表示使用 gzip 解壓縮,x
表示解壓縮,v
表示顯示詳細過程,f
指定要解壓縮的檔案。
- 使用
移動執行檔到系統路徑
sudo mv k9s /usr/local/bin/
內容解密:
- 將解壓縮得到的
k9s
執行檔移動到/usr/local/bin/
目錄下。 - 這樣可以在任何目錄下直接執行
k9s
命令。
- 將解壓縮得到的
組態 Kubernetes 連線
mkdir ~/.kube microk8s config > ~/.kube/config
內容解密:
- 建立
.kube
目錄用於存放 Kubernetes 組態檔案。 - 使用
microk8s config
命令生成 Kubernetes 組態,並重定向到~/.kube/config
檔案中。
- 建立
使用 K9S 管理 Kubernetes 叢集
啟動 K9S
k9s
內容解密:
- 直接輸入
k9s
命令啟動工具。 - K9S 將讀取
~/.kube/config
檔案並連線到 Kubernetes 叢集。
- 直接輸入
檢視和管理 Pod
- K9S 提供了一個實時更新的 Pod 列表介面。
- 可以透過快捷鍵操作檢視 Pod 詳情,例如:
- 按
d
鍵檢視 Pod 的詳細描述。 - 按
l
鍵檢視 Pod 日誌,再按數字鍵選擇容器。
- 按
K9S 操作介面詳解
當 K9S 啟動後,您將看到一個類別似於以下畫面的介面:
graph LR A[K9S 首頁] --> B[Pod 列表] B --> C[按 d 檢視詳情] B --> D[按 l 檢視日誌] C --> E[顯示 Pod 詳細資訊] D --> F[顯示容器日誌串流]
圖表翻譯: 此圖表展示了 K9S 的基本操作流程,從首頁進入 Pod 列表,並可進一步檢視詳情或日誌。
Open Lens:圖形化 Kubernetes 管理工具
Open Lens 是另一款強大的 Kubernetes 管理工具,提供了一個圖形化的操作介面,適合不同型別的使用者使用。
安裝與組態
下載並安裝 Open Lens
- 前往 Open Lens 官方網站 下載桌面版本。
- 需要註冊免費的個人授權或購買商業授權。
新增 Kubernetes 叢集
- 啟動 Open Lens 後,點選右下角的
+
按鈕。 - 選擇
Sync kubeconfig(s)
,並選擇您的~/.kube/config
檔案。 - Open Lens 將自動讀取組態檔案並新增叢集。
- 啟動 Open Lens 後,點選右下角的
使用 Open Lens 管理 Kubernetes 叢集
叢集概覽
- Open Lens 提供了一個直觀的叢集概覽介面,可以檢視叢集的整體狀態。
- 可以檢視節點、Pod、工作負載等資訊。
資源管理
- 可以透過 Open Lens 的圖形介面建立、編輯和刪除各種 Kubernetes 資源。
- 支援檢視資源的詳細資訊和即時日誌。
比較與選擇
- K9S 適合命令列愛好者和需要快速操作的使用者。
- Open Lens 提供了更友好的圖形化介面,適合需要視覺化管理的使用者。
隨著 Kubernetes 生態的不斷發展,未來將會有更多強大的工具湧現。作為 Kubernetes 工程師,保持對新工具的關注和學習將有助於更好地管理和最佳化叢集。
參考資料
延伸閱讀
- Kubernetes 官方檔案:https://kubernetes.io/docs/
- K9S GitHub 倉函式庫:https://github.com/derailed/k9s
- Open Lens GitHub 倉函式庫:https://github.com/lensapp/lens
本篇文章詳細介紹了 K9S 和 Open Lens 這兩款 Kubernetes 管理工具的安裝、組態和使用方法,並對它們進行了比較。希望讀者能夠根據自己的需求選擇合適的工具,提高 Kubernetes 叢集的管理效率。
Kubernetes 工具的應用與管理
Kubernetes 生態系統中有許多強大的工具可供使用,這些工具能夠簡化叢集的管理和操作。在本章中,我們將介紹兩個非常流行的 Kubernetes 工具:Lens 和 Helm。這些工具能夠顯著提高管理 Kubernetes 叢集的效率,並簡化應用程式的佈署。
Lens:Kubernetes 的視覺化管理工具
Lens 是一款功能強大的 Kubernetes IDE,它提供了一個直觀的使用者介面來管理和監控 Kubernetes 叢集。透過 Lens,您可以輕鬆地連線到多個叢集,並在單一介面中管理它們。
連線到 Kubernetes 叢集
要使用 Lens 連線到 Kubernetes 叢集,請按照以下步驟操作:
- 開啟 Lens 應用程式。
- 點選叢集名稱以連線到該叢集。
- Lens 將顯示叢集的詳細資訊,包括節點和 Pod 的狀態。
### Lens 連線示意圖
此圖示展示了 Lens 連線到 Kubernetes 叢集的過程。
graph LR; A[開啟 Lens] --> B[點選叢集名稱]; B --> C[Lens 連線到叢集]; C --> D[顯示叢集詳細資訊];
圖表翻譯: 此圖示展示了 Lens 連線到 Kubernetes 叢集的四個主要步驟:開啟 Lens、點選叢集名稱、Lens 連線到叢集以及顯示叢集詳細資訊。
一旦連線成功,您就可以在 Lens 中檢視叢集的詳細資訊,包括節點、Pod 和儲存資源的狀態。這使得管理和監控叢集變得更加直觀和方便。
管理節點和工作負載
Lens 提供了豐富的功能來管理 Kubernetes 叢集中的節點和工作負載。您可以檢視節點的詳細資訊,並執行諸如 cordon 等操作。
### 節點管理介面
此圖示展示了 Lens 中的節點管理介面。
graph LR; A[節點列表] --> B[節點詳細資訊]; B --> C[執行節點操作];
圖表翻譯: 此圖示展示了 Lens 中節點管理的三個主要步驟:檢視節點列表、檢視節點詳細資訊以及執行節點操作。
同樣,您也可以透過 Lens 管理 Pod 和其他工作負載。Lens 提供了一個統一的介面來檢視和管理叢集中的所有工作負載。
### 工作負載管理介面
此圖示展示了 Lens 中的工作負載管理介面。
graph LR; A[工作負載列表] --> B[工作負載詳細資訊]; B --> C[執行工作負載操作];
圖表翻譯: 此圖示展示了 Lens 中工作負載管理的三個主要步驟:檢視工作負載列表、檢視工作負載詳細資訊以及執行工作負載操作。
Helm:Kubernetes 的套件管理器
Helm 是 Kubernetes 的套件管理器,它簡化了在 Kubernetes 叢集中佈署和管理應用程式的過程。Helm 使用 Chart 來定義應用程式的組態和依賴關係。
Helm3 的基本操作
以下是一些 Helm3 的基本操作命令:
# 列出 Helm3 倉函式庫列表
microk8s helm3 repo list
# 新增 Bitnami 倉函式庫
microk8s helm3 repo add bitnami https://charts.bitnami.com/bitnami
microk8s helm3 repo update
# 搜尋 PostgreSQL Chart
microk8s helm3 search repo postgresql
使用 Helm3 佈署 PostgreSQL
要使用 Helm3 佈署 PostgreSQL,請按照以下步驟操作:
啟用 hostpath-storage 外掛以提供持久化儲存。
microk8s enable hostpath-storage
安裝 PostgreSQL 客戶端工具。
sudo apt-get install postgresql-client-common -y sudo apt-get install postgresql-client -y
使用 Helm3 佈署 PostgreSQL。
microk8s helm3 install postgresql bitnami/postgresql
#### 內容解密:
啟用hostpath-storage外掛程式:
microk8s enable hostpath-storage
指令啟動了MicroK8s中的hostpath-storage外掛程式,該外掛程式提供了一個預設的儲存類別,用於動態組態持久化卷(PV)。這使得應用程式可以請求持久化儲存,而無需手動組態底層儲存基礎設施。安裝PostgreSQL客戶端工具:透過執行
sudo apt-get install postgresql-client-common -y
和sudo apt-get install postgresql-client -y
,系統安裝了PostgreSQL客戶端軟體包,這些工具允許使用者從命令列與PostgreSQL資料函式庫互動,執行查詢和管理任務。使用Helm3佈署PostgreSQL:
microk8s helm3 install postgresql bitnami/postgresql
命令利用Helm3從Bitnami倉函式庫佈署了一個PostgreSQL資料函式庫例項。這個過程自動化了佈署所需的Kubernetes資源組態,包括佈署(Deployment)、服務(Service)和持久化卷宣告(PVC)。
Kubernetes 工具的未來發展
隨著 Kubernetes 生態系統的不斷發展,我們可以預期會有更多強大的工具出現,以簡化叢集管理和應用程式佈署。未來的工具可能會更加註重自動化、智慧化和使用者經驗。
自動化趨勢
未來的 Kubernetes 工具可能會更加註重自動化,例如自動化的叢集組態、自動化的應用程式佈署和自動化的故障修復。
智慧化趨勢
隨著人工智慧和機器學習技術的發展,未來的 Kubernetes 工具可能會具備更多的智慧化功能,例如智慧化的叢集監控、智慧化的故障預測和智慧化的最佳化建議。
使用者經驗趨勢
未來的 Kubernetes 工具將更加註重使用者經驗,提供更直觀、更易用的介面,以降低使用者的學習曲線和提高工作效率。
總之,Kubernetes 工具的發展將繼續推動 Kubernetes 生態系統的繁榮,為使用者提供更多選擇和可能性。
在 Kubernetes 中佈署 PostgreSQL 資料函式庫的完整
在現代的雲端原生應用程式開發中,資料函式庫的佈署和管理變得越來越重要。Kubernetes 作為一個容器協調平台,為資料函式庫的佈署提供了強大的支援。本文將詳細介紹如何在 Kubernetes 中使用 Helm 佈署 PostgreSQL 資料函式庫,並進行相關的組態和管理。
佈署前的準備工作
在開始佈署 PostgreSQL 之前,我們需要確保 Kubernetes 叢集已經正常執行,並且已經安裝了 Helm。Helm 是 Kubernetes 的套件管理器,可以簡化應用程式的佈署和管理。
安裝 PostgreSQL 客戶端
首先,我們需要在本地機器上安裝 PostgreSQL 的客戶端工具。這樣我們就可以在本地機器上連線到 Kubernetes 中的 PostgreSQL 資料函式庫。
sudo apt-get install postgresql-client -y
檢查 Kubernetes 叢集狀態
確保 Kubernetes 叢集正常執行,並且所有必要的元件都已經正確組態。
microk8s status
使用 Helm 佈署 PostgreSQL
Helm 提供了一個簡單的方式來佈署和管理 Kubernetes 應用程式。我們可以使用 Bitnami 提供的 PostgreSQL Helm chart 來佈署 PostgreSQL 資料函式庫。
安裝 PostgreSQL Helm Chart
執行以下命令來安裝 PostgreSQL Helm chart:
microk8s helm3 install bitnami/postgresql --generate-name
這個命令會自動生成一個 release 名稱,並佈署 PostgreSQL 資料函式庫到 Kubernetes 叢集中。
檢查佈署狀態
佈署完成後,可以使用以下命令檢查 PostgreSQL 的佈署狀態:
microk8s kubectl get pods
取得 PostgreSQL 連線資訊
佈署完成後,Helm 會輸出連線 PostgreSQL 資料函式庫所需的資訊,包括連線字串和密碼。
export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgresql-1693397974 -o jsonpath="{.data.postgres-password}" | base64 -d)
連線到 PostgreSQL 資料函式庫
設定 Port Forwarding
為了能夠從本地機器連線到 Kubernetes 中的 PostgreSQL 資料函式庫,我們需要設定 port forwarding。
microk8s kubectl port-forward service/postgresql-1693397974 5432:5432 &
連線到資料函式庫
使用 psql
命令連線到 PostgreSQL 資料函式庫:
psql --host=localhost --port=5432 -U postgres
輸入密碼後,即可進入 PostgreSQL 的命令列介面。
執行資料函式庫操作
連線成功後,可以執行各種資料函式庫操作,例如列出資料函式庫、建立表格等。
postgres=# \db
List of tablespaces
Name | Owner | Location
-----------+----------+----------
pg_default | postgres |
pg_global | postgres |
(2 rows)
postgres=# \q
瞭解 Helm Chart 的佈署細節
Persistent Volume Claim (PVC)
Helm chart 會自動建立一個 Persistent Volume Claim (PVC) 來作為 PostgreSQL 資料函式庫的持久化儲存。
microk8s kubectl get pvc
輸出的結果類別似如下:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-postgresql-1693397974-0 Bound pvc-46783c92-2487-4858-b947-3dc44bda842b 8Gi RWO microk8s-hostpath 6h6m
程式碼解析
# 安裝 PostgreSQL 客戶端
sudo apt-get install postgresql-client -y
# 佈署 PostgreSQL 使用 Helm
microk8s helm3 install bitnami/postgresql --generate-name
# 取得 PostgreSQL 密碼
export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgresql-1693397974 -o jsonpath="{.data.postgres-password}" | base64 -d)
# 設定 Port Forwarding
microk8s kubectl port-forward service/postgresql-1693397974 5432:5432 &
# 連線到 PostgreSQL 資料函式庫
psql --host=localhost --port=5432 -U postgres
內容解密:
sudo apt-get install postgresql-client -y
:安裝 PostgreSQL 客戶端工具,以便能夠在本地機器上連線到 PostgreSQL 資料函式庫。microk8s helm3 install bitnami/postgresql --generate-name
:使用 Helm 佈署 PostgreSQL 資料函式庫到 Kubernetes 叢集中。export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgresql-1693397974 -o jsonpath="{.data.postgres-password}" | base64 -d)
:取得 PostgreSQL 資料函式庫的密碼。microk8s kubectl port-forward service/postgresql-1693397974 5432:5432 &
:設定 port forwarding,以便能夠從本地機器連線到 Kubernetes 中的 PostgreSQL 資料函式庫。psql --host=localhost --port=5432 -U postgres
:使用psql
命令連線到 PostgreSQL 資料函式庫。