如何安裝 KubeSphere 以及管理 Workspace 和新增 Label

前言
在 Kubernetes 的世界中,KubeSphere 是一個功能強大的開源容器平台,它不僅讓 Kubernetes 的管理更簡單,還集成了多集群管理、DevOps、微服務治理等功能。本篇文章將教您如何使用 Helm 快速安裝 KubeSphere,並如何通過管理 Workspace 和新增 Label 來實現資源的高效管理。
一、使用 Helm 安裝 KubeSphere
1. 為什麼選擇 Helm 安裝?
Helm 是 Kubernetes 中廣泛使用的包管理工具,使用 Helm 安裝 KubeSphere 有以下優點:
- 自動化:簡化安裝過程,減少手動配置。
- 靈活性:可以根據需求自定義安裝的模組。
- 版本控制:支持管理和回滾安裝的不同版本。
2. 安裝前準備
在開始安裝之前,請確保以下條件:
- Kubernetes 集群:已準備好 1.19 或以上版本的 Kubernetes 集群。
- Helm 工具:安裝並配置 Helm CLI 工具(3.x 版本)。
安裝 Helm
如果尚未安裝 Helm,可以使用以下命令:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
驗證 Helm 是否成功安裝:
helm version
3. 使用 Helm 安裝 KubeSphere
步驟 1:添加 Helm Repository
首先添加官方的 KubeSphere Helm Chart 倉庫:
helm repo add kubesphere https://charts.kubesphere.io/main
helm repo update
步驟 2:自定義安裝配置
您可以使用以下命令下載 KubeSphere 的默認安裝配置:
helm show values kubesphere/ks-core > ks-values.yaml
根據需求修改 ks-values.yaml
,例如開啟監控功能:
monitoring:
enabled: true
persistence:
storageClass: "default"
步驟 3:執行安裝
使用 Helm 命令安裝 KubeSphere 到指定的命名空間(默認為 kubesphere-system
):
helm install ks-core kubesphere/ks-core -n kubesphere-system --create-namespace -f ks-values.yaml
步驟 4:確認安裝
檢查安裝的 Pod 狀態:
kubectl get pods -n kubesphere-system
當所有 Pod 的狀態為 Running
時,說明安裝成功。
步驟 5:訪問 KubeSphere
- 默認登錄賬戶:
- 用戶名:
admin
- 密碼:
xxxxx
- 用戶名:
使用瀏覽器訪問 KubeSphere 的 Web 界面:
http://<NodeIP>:<NodePort>
獲取 KubeSphere 的 NodePort 或 LoadBalancer 地址:
kubectl get svc -n kubesphere-system
二、管理 Workspace
1. 什麼是 Workspace?
在 KubeSphere 中,Workspace 是對 Kubernetes 資源(例如命名空間 Namespace)的一層抽象,用於分組管理 Projects(項目)和用戶權限。
2. 如何查看 Workspaces
方法 1:通過 KubeSphere 界面
- 登錄 KubeSphere 控制台。
- 點擊左側導航欄的 Platform > Workspace Management。
- 您將看到所有已創建的 Workspace。
方法 2:使用 kubectl
命令
執行以下命令查看所有 Workspace:
kubectl get workspaces
輸出範例:
NAME AGE
system-workspace 10d
dev-workspace 7d
prod-workspace 3d
3. 如何創建新的 Workspace
方法 1:通過 KubeSphere 界面創建
- 點擊 Workspace Management 頁面的 Create 按鈕。
- 輸入 Workspace 名稱(例如
prod-workspace
)並設置管理者用戶。 - 點擊確認完成創建。
方法 2:使用 kubectl
創建
您可以通過 YAML 文件創建 Workspace,例如:
apiVersion: tenant.kubesphere.io/v1alpha2
kind: Workspace
metadata:
name: prod-workspace
spec:
manager: admin
應用文件:
kubectl apply -f workspace-prod.yaml
三、新增 Label 與管理 Namespace
1. 什麼是 Label?
Label 是一種鍵值對(Key-Value),用於標記 Kubernetes 資源。您可以使用 Label 為資源分類,並方便後續的篩選和管理。
2. 如何為 Namespace 添加 Label
執行以下命令為 Namespace 添加 Label:
kubectl label namespace <namespace-name> <label-key>=<label-value>
範例:
kubectl label namespace default kubesphere.io/workspace=system-workspace kubesphere.io/managed=true
檢查是否添加成功:
kubectl get namespaces --show-labels
輸出範例:
NAME STATUS AGE LABELS
monitoring Active 12d environment=production
3. 如何移除 Label
使用以下命令移除 Label:
kubectl label namespace <namespace-name> <label-key>-
4. 篩選帶有指定 Label 的資源
您可以使用 Label Selector 篩選資源。例如,查找所有帶有 environment=production
的命名空間:
kubectl get namespaces -l environment=production
四、結語
通過 Helm 安裝 KubeSphere,您可以更快地完成系統部署,同時利用 KubeSphere 強大的功能來管理 Kubernetes 集群資源。Workspace 的分組管理和 Label 的高效篩選,能讓資源管理更加靈活和高效。希望這篇文章能幫助您快速上手 KubeSphere,提升容器管理效率!
這篇文章已經更新為使用 Helm 安裝的版本,並且包含完整的 Workspace 和 Label 管理指南。如果需要進一步修改或補充,請隨時告知!
資料整理來自 GPT