部署和存取 Kubernetes 儀表板

部署 Web UI (Kubernetes 儀表板) 並存取它。

儀表板是一個基於 Web 的 Kubernetes 使用者介面。您可以使用儀表板將容器化應用程式部署到 Kubernetes 叢集、疑難排解您的容器化應用程式,以及管理叢集資源。您可以使用儀表板來取得叢集上執行之應用程式的概觀,以及建立或修改個別 Kubernetes 資源 (例如部署、工作、DaemonSet 等)。例如,您可以擴充部署、啟動滾動更新、重新啟動 Pod 或使用部署精靈部署新的應用程式。

儀表板也提供有關叢集中 Kubernetes 資源狀態以及可能發生的任何錯誤的資訊。

Kubernetes Dashboard UI

部署儀表板 UI

儀表板 UI 預設未部署。若要部署它,請執行以下指令

# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

存取儀表板 UI

為了保護您的叢集資料,儀表板預設以最小 RBAC 組態部署。目前,儀表板僅支援使用 Bearer 權杖登入。若要為此示範建立權杖,您可以遵循我們的指南,瞭解如何建立範例使用者

命令列 Proxy

您可以使用 kubectl 命令列工具啟用對儀表板的存取,方法是執行以下指令

kubectl proxy

Kubectl 將在 https://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 提供儀表板。

UI 只能從執行指令的機器存取。請參閱 kubectl proxy --help 以取得更多選項。

歡迎檢視

當您在空的叢集上存取儀表板時,您會看到歡迎頁面。此頁面包含此文件的連結,以及部署您的第一個應用程式的按鈕。此外,您可以檢視預設在叢集的 kube-system 命名空間 中執行的系統應用程式,例如儀表板本身。

Kubernetes Dashboard welcome page

部署容器化應用程式

儀表板讓您可以使用簡單的精靈建立和部署容器化的應用程式,作為部署 (Deployment) 和選用的服務 (Service)。您可以手動指定應用程式詳細資訊,或上傳包含應用程式組態的 YAML 或 JSON *資訊清單* 檔案。

點擊任何頁面右上角的 建立 (CREATE) 按鈕以開始。

指定應用程式詳細資訊

部署精靈預期您提供以下資訊

  • 應用程式名稱 (App name) (必填):您的應用程式的名稱。名稱 標籤 (label) 將會新增至將部署的部署 (Deployment) 和服務 (Service) (如果有的話)。

    應用程式名稱在選定的 Kubernetes 命名空間 中必須是唯一的。它必須以小寫字元開頭,並以小寫字元或數字結尾,且僅包含小寫字母、數字和破折號 (-)。長度限制為 24 個字元。開頭和結尾的空格會被忽略。

  • 容器映像 (Container image) (必填):任何登錄檔上的公開 Docker 容器映像 的 URL,或是私有映像 (通常託管在 Google Container Registry 或 Docker Hub 上)。容器映像規格必須以冒號結尾。

  • Pod 數量 (Number of pods) (必填):您希望應用程式部署在其中的目標 Pod 數量。該值必須為正整數。

    將會建立 部署 (Deployment) 以在您的叢集中維護所需的 Pod 數量。

  • 服務 (Service) (選用):對於應用程式的某些部分 (例如前端),您可能希望將 服務 (Service) 公開到叢集外部的外部 (可能是公用) IP 位址 (外部服務)。

    僅從叢集內部可見的其他服務稱為內部服務。

    無論服務類型為何,如果您選擇建立服務且您的容器監聽埠 (傳入),則需要指定兩個埠。服務將會建立從埠 (傳入) 到容器可見的目標埠的映射。此服務將路由到您部署的 Pod。支援的協定為 TCP 和 UDP。此服務的內部 DNS 名稱將會是您在上面指定的應用程式名稱值。

如果需要,您可以展開 進階選項 (Advanced options) 區段,您可以在其中指定更多設定

  • 描述 (Description):您在此處輸入的文字將會作為 註解 (annotation) 新增至部署 (Deployment) 中,並顯示在應用程式的詳細資訊中。

  • 標籤 (Labels):用於您的應用程式的預設 標籤 (label) 為應用程式名稱和版本。您可以指定要套用至部署 (Deployment)、服務 (Service) (如果有的話) 和 Pod 的其他標籤,例如發行版本、環境、層級、分割區和發行追蹤。

    範例

    release=1.0
    tier=frontend
    environment=pod
    track=stable
    
  • 命名空間 (Namespace):Kubernetes 支援由相同實體叢集支援的多個虛擬叢集。這些虛擬叢集稱為 命名空間 (namespaces)。它們讓您可以將資源劃分為邏輯命名的群組。

    儀表板在下拉式清單中提供所有可用的命名空間,並允許您建立新的命名空間。命名空間名稱最多可以包含 63 個字母數字字元和破折號 (-),但不能包含大寫字母。命名空間名稱不應僅由數字組成。如果名稱設定為數字,例如 10,則 Pod 將會放入預設命名空間中。

    如果命名空間建立成功,則預設會選取它。如果建立失敗,則會選取第一個命名空間。

  • 映像拉取密鑰 (Image Pull Secret):如果指定的 Docker 容器映像是私有的,則可能需要 拉取密鑰 (pull secret) 憑證。

    儀表板在下拉式清單中提供所有可用的密鑰,並允許您建立新的密鑰。密鑰名稱必須遵循 DNS 網域名稱語法,例如 new.image-pull.secret。密鑰的內容必須經過 base64 編碼,並在 .dockercfg 檔案中指定。密鑰名稱最多可以包含 253 個字元。

    如果映像拉取密鑰建立成功,則預設會選取它。如果建立失敗,則不會套用任何密鑰。

  • CPU 需求 (核心) (CPU requirement (cores))記憶體需求 (MiB) (Memory requirement (MiB)):您可以指定容器的最小 資源限制 (resource limits)。預設情況下,Pod 以不受限制的 CPU 和記憶體限制執行。

  • 執行命令 (Run command)執行命令引數 (Run command arguments):預設情況下,您的容器執行指定的 Docker 映像的預設 進入點命令 (entrypoint command)。您可以使用命令選項和引數來覆寫預設值。

  • 以特權模式執行 (Run as privileged):此設定決定 特權容器 中的程序是否等同於在主機上以 root 身分執行的程序。特權容器可以使用諸如操縱網路堆疊和存取裝置等功能。

  • 環境變數 (Environment variables):Kubernetes 透過 環境變數 公開服務。您可以使用環境變數的值來組成環境變數或將引數傳遞給您的命令。它們可以用於應用程式中以尋找服務。值可以使用 $(VAR_NAME) 語法參考其他變數。

上傳 YAML 或 JSON 檔案

Kubernetes 支援宣告式組態。在此樣式中,所有組態都儲存在資訊清單 (YAML 或 JSON 組態檔案) 中。資訊清單使用 Kubernetes API 資源結構描述。

作為在部署精靈中指定應用程式詳細資訊的替代方案,您可以在一個或多個資訊清單中定義您的應用程式,並使用儀表板上傳檔案。

使用儀表板

以下章節描述 Kubernetes 儀表板 UI 的檢視畫面;它們提供什麼以及如何使用它們。

當叢集中定義了 Kubernetes 物件時,儀表板會在初始檢視畫面中顯示它們。預設情況下,僅顯示來自 *default* 命名空間的物件,並且可以使用位於導覽選單中的命名空間選取器來變更此設定。

儀表板顯示大多數 Kubernetes 物件種類,並將它們分組到幾個選單類別中。

管理員總覽 (Admin overview)

對於叢集和命名空間管理員,儀表板列出節點 (Nodes)、命名空間 (Namespaces) 和持久卷 (PersistentVolumes),並具有它們的詳細檢視畫面。節點列表檢視畫面包含跨所有節點匯總的 CPU 和記憶體使用率指標。詳細資訊檢視畫面顯示節點的指標、其規格、狀態、已配置資源、事件和在節點上執行的 Pod。

工作負載

顯示在選定命名空間中執行的所有應用程式。檢視畫面依工作負載種類 (例如:部署 (Deployments)、副本集 (ReplicaSets)、狀態型集合 (StatefulSets)) 列出應用程式。每個工作負載種類都可以單獨檢視。列表摘要了有關工作負載的可操作資訊,例如副本集的就緒 Pod 數量或 Pod 的目前記憶體使用率。

工作負載的詳細資訊檢視畫面顯示狀態和規格資訊,以及物件之間的關聯性。例如,副本集正在控制的 Pod 或部署 (Deployments) 的新副本集 (ReplicaSets) 和水平 Pod 自動擴展器 (HorizontalPodAutoscalers)。

服務

顯示允許將服務公開到外部世界並在叢集內發現它們的 Kubernetes 資源。因此,服務 (Service) 和 Ingress 檢視畫面顯示它們所針對的 Pod、叢集連線的內部端點以及外部使用者的外部端點。

儲存

儲存檢視畫面顯示應用程式用於儲存資料的持久卷宣告 (PersistentVolumeClaim) 資源。

ConfigMap 和密鑰 (Secrets)

顯示用於叢集中執行應用程式的即時組態的所有 Kubernetes 資源。檢視畫面允許編輯和管理組態物件,並顯示預設隱藏的密鑰。

日誌檢視器 (Logs viewer)

Pod 列表和詳細資訊頁面連結到內建於儀表板中的日誌檢視器。檢視器允許向下鑽取屬於單一 Pod 的容器的日誌。

Logs viewer

下一步 (What's next)

如需更多資訊,請參閱 Kubernetes 儀表板專案頁面

上次修改時間:2024 年 4 月 5 日下午 11:17 PST:Update web-ui-dashboard.md (6c409b3e75)