自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

什么是 Kubernetes 儀表板及其替代品

開源
開源的 Kubernetes Dashboard 有助于基于 UI 的資源部署和管理,但其缺陷使用戶不得不采用替代方案。
開源的 Kubernetes Dashboard 有助于基于 UI 的資源部署和管理,但其缺陷使用戶不得不采用替代方案。

什么是 Kubernetes 儀表板

Kubernetes Dashboard是一個能夠管理Kubernetes集群的Web UI。它允許開發(fā)人員和管理員通過圖形化用戶界面輕松地查看、管理和監(jiān)控集群的狀態(tài),包括應用程序、節(jié)點、存儲、網絡等各方面的信息。

Kubernetes Dashboard 提供了以下功能:

1.資源查看:可以查看節(jié)點、Pod、服務、部署等 Kubernetes 集群中的所有資源。

  1. 應用程序管理:可以查看、運行和調試應用程序。

3.日志查看:可以查看容器的日志和事件。

4.健康狀況:可以查看 Pod、節(jié)點和服務的健康狀況。

5.可視化度量:可以使用可視化工具來查看集群中的度量數(shù)據,例如 CPU、內存和網絡使用情況等。

Kubernetes Dashboard 提供了一種簡單而直觀的方式來管理 Kubernetes 集群。對于那些對命令行不太熟悉的用戶或者需要在日常工作中頻繁管理 Kubernetes 集群的開發(fā)人員和管理員來說,Kubernetes Dashboard 是一個非常有用和方便的工具。

需要注意的是,因為 Kubernetes Dashboard 通過Web UI來管理集群,因此對安全的要求也比較高,需要進行合理的配置和保護。

Kubernetes提供了一個名為“kubectl”的命令行(CLI)組件來承載核心操作。但是在企業(yè)范圍內使用 CLI 有兩個重大障礙

  • 開發(fā)人員采用 Kubernetes 進行部署的學習曲線很高。
  • SRE 和 Ops 團隊大規(guī)模監(jiān)控多個集群并對其進行故障排除是一項耗時且令人沮喪的工作

Dashboard by Kubernetes(也稱為Kubernetes Dashboard)是一個基于 Web 的用戶界面,用于將應用程序部署到 Kubernetes 集群中,監(jiān)控所有資源的健康狀況并在出現(xiàn)任何問題時進行故障排除。該應用程序有助于 DevOps、Ops 和SRE團隊管理 Kubernetes 資源,例如 Deployments、Statefulsets、Jobs 等??梢允褂们鍐挝募焖俨渴饝贸绦虿?UI 本身更新幫助。

Kubernetes Dashboard 的特點

Kubernetes Dashboard 的主要特點包括以下幾個方面:

  1. 簡化管理:Kubernetes Dashboard 提供了可視化的方式管理 Kubernetes 集群,可以通過用戶界面輕松查看、管理和監(jiān)控 cluster。
  2. 全面資源查看:Kubernetes Dashboard支持查看 Kubernetes 集群的各種資源,包括節(jié)點狀態(tài)、Pod狀態(tài)、服務狀態(tài)、容器詳情、調度、時間軸等。
  3. 好用的日志查看:Kubernetes Dashboard 提供了方便的日志查看功能,可以直接在界面中查看容器的輸出和 Kubernetes 的事件。
  4. 度量和監(jiān)控:Kubernetes Dashboard提供了可視化的工具來查看集群的度量和監(jiān)控數(shù)據,例如 CPU、內存和網絡使用狀況等。
  5. 安全:Kubernetes Dashboard 支持 Kubernetes 的 RBAC 訪問控制,可以配置用戶和角色對集群的權限。

總之,Kubernetes Dashboard 可以大大簡化 Kubernetes 集群的管理,使得開發(fā)人員和管理員可以更加方便地查看和管理 Kubernetes 集群,提高工作效率。同時,Kubernetes Dashboard 還具有良好的安全性,可以保證 Kubernetes 集群的安全訪問。

Kubernetes Dashboard 由于兩個主要特性而對 DevOps 團隊很有吸引力:

  • 集群范圍內的可見性和故障排除
  • 基于 UI 的部署

集群范圍內的可見性和故障排除

Kubernetes 儀表板將提供各種正在運行的工作負載及其總數(shù)的視圖。DevOps 工程師將獲得工作負載、服務、配置和存儲以及集群視圖的可見性。

在 Kubernetes 集群中,為了以更高效可靠的方式管理服務,開發(fā)人員和管理員需要保證集群范圍內的可見性和故障排除。以下是幾種常見的保證集群范圍內可見性和故障排除的方法:

  1. 度量和監(jiān)控:在 Kubernetes 集群中使用度量和監(jiān)控工具可以幫助開發(fā)人員和管理員更好地掌握系統(tǒng)的狀態(tài),及時監(jiān)測服務的健康狀況,通過預測和預防故障來提高服務的可靠性和可用性。
  2. 日志聚合和審計:日志聚合和審計工具可以將多個容器和不同節(jié)點的日志聚合在一起,方便開發(fā)人員和管理員統(tǒng)一查看和分析,以幫助排查問題。
  3. 鏈路追蹤:應用程序在橫跨多個服務和多個容器時的追蹤和故障排查是非常困難的,Kubernetes 集群中的鏈路追蹤技術可以幫助追蹤應用程序中 "分布式追蹤" 的操作,分析服務之間的依賴關系,排除故障。
  4. 日志記錄和事件通知:通過設置日志記錄和事件通知,可以及時發(fā)現(xiàn)集群中的故障和異常,管理員可以根據通知及時進行處理,減少對用戶的影響。
  5. 灰度和藍綠部署:灰度和藍綠部署是一種減少部署故障影響的技術,在部署應用程序時,先將一小部分服務部署在新版本上,一段時間后將剩余服務部署在新版本上,并逐步將流量向新版本轉移,從而減少新版本服務在線上的不穩(wěn)定性和故障。

需要注意的是,不同的企業(yè)和應用程序會有不同的需求和限制,所以開發(fā)人員和管理員需要根據實際的情況來選擇合適的可見性和故障排除方案。

工作負載視圖

工作負載視圖(Workload View)是 Kubernetes Dashboard 的一個特性,用于展示 Kubernetes 集群中正在運行的應用程序的各種資源的情況,例如 Deployment、StatefulSets 和 DaemonSets 等。

工作負載視圖提供以下幾個方面的信息:

  1. 應用程序和工作負載:工作負載視圖首先顯示正在運行的應用程序和工作負載的列表,通過點擊每個工作負載,可以查看它的詳細信息。
  2. 應用程序的部署狀態(tài):工作負載視圖顯示應用程序的部署狀態(tài),用于決定應用程序的可用性。在工作負載視圖中,應用程序需要的實例數(shù)和實際使用的實例數(shù)也會顯示出來,并顯示應用程序的運行時間和應用程序的功耗。
  3. 關聯(lián)的服務:工作負載視圖還顯示應用程序運行的所有關聯(lián)服務的列表,以及每個服務的詳細信息,例如 IP 地址、端口號和訪問協(xié)議等。
  4. 關聯(lián)的存儲卷:工作負載視圖列出了應用程序使用的所有存儲卷,以及每個存儲卷的詳細信息和容量。
  5. 關聯(lián)的 Pod:工作負載視圖還列出了所有運行的 Pod 和容器,以及 Pod 和容器運行的計算資源使用情況。

通過工作負載視圖,開發(fā)人員和管理員可以更方便地查看 Kubernetes 集群中正在運行的應用程序的各種資源情況,包括運行狀態(tài)、服務、存儲卷以及關聯(lián)的 Pod 等。這有助于開發(fā)人員和管理員更快地定位和解決問題,并提高系統(tǒng)的可靠性和可用性。在工作負載視圖下,用戶將獲得集群所有命名空間中運行的工作負載資源的詳細信息,例如 Deployments、Pod、ReplicaSets、DaemonSets、Job 和 StatefulSet。還可以根據集群中的特定名稱空間執(zhí)行粒度搜索。

豆莢視圖

豆莢視圖(Pod View)是 Kubernetes Dashboard 的一個特性,用于展示 Kubernetes 集群中正在運行的 Pod 的詳細信息,包括 Pod 的狀態(tài)、控制器信息和關聯(lián)的容器等。

豆莢視圖提供以下幾個方面的信息:

  1. Pod 的基本信息:豆莢視圖顯示 Pod 的名稱、命名空間、IP 地址、狀態(tài)等基本信息。
  2. 容器信息:對于每個 Pod,豆莢視圖列出了所有關聯(lián)的容器,包括容器的名稱、狀態(tài)、容器 ID、CPU 和內存使用情況等詳細信息。
  3. 事件記錄:豆莢視圖顯示與 Pod 相關的事件記錄,包括容器故障、Kubernetes 集群故障等。
  4. 環(huán)境信息:豆莢視圖列出了 Pod 運行時的環(huán)境信息,包括容器的環(huán)境

工作負載最重要的方面之一可能是在特定節(jié)點及其各自的命名空間中運行的 pod 數(shù)量。

用戶將獲得有關 pod 的深入信息,例如:

  • 關于標簽和注釋的元數(shù)據
  • 資源消耗 - CPU 和內存利用率
  • 創(chuàng)建日期和重啟次數(shù)
  • 事件日志和持久卷聲明

同樣,Kubernetes Dashboard 提供了命名空間的聚合視圖以及命名空間中服務和入口對象、配置映射、網絡策略、機密和持久卷聲明的詳細視圖。

服務和入口視圖

在入口視圖中,Kubernetes Dashboard是用戶訪問Kubernetes集群的通道。用戶可以通過一個Web瀏覽器訪問Kubernetes Dashboard來查看和管理Kubernetes資源和工作負載。用戶可以使用Kubernetes Dashboard來查看和編輯容器、部署、服務和命名空間等資源,還可以查看應用程序運行狀態(tài)的監(jiān)視圖表。

Kubernetes Dashboard 提供了關于正在運行的服務和入口對象的可見性,包括每個服務或入口所屬的命名空間、它們的標簽和集群 IP。用戶可以獲得關于每個服務的更深入的信息,例如標簽、pod、端點等。

配置和存儲視圖

配置視圖和存儲視圖是ITIL框架中的兩個視圖,用于描述IT服務的配置和存儲管理。

配置視圖(Configuration View)是ITIL框架中描述服務和基礎設施配置的視圖,它包括從IT資源到服務的各個層級。配置視圖幫助用戶更好地了解服務組件的構成,以及它們之間的關聯(lián)和依賴關系。配置視圖還包括各種配置項和它們之間的關系,例如服務器硬件配置信息、網絡拓撲結構、軟件和應用程序的版本和設置參數(shù)等。

存儲視圖(Storage View)是ITIL框架中描述存儲管理的視圖,它包括存儲資源的形成和存儲的分配方式。存儲視圖幫助用戶更好地了解存儲的結構和規(guī)格,并能夠監(jiān)視、存儲資源的使用情況,了解存儲資源的性能和可用性。

配置視圖和存儲視圖通常是人工制定和維護的,并且在IT服務管理中發(fā)揮了重要作用。擁有這兩個視圖,IT工作者可以更好地了解IT資源的組成和配置,并能夠快速獲取和互相鏈接這些信息,從而提高服務的質量和效率。

與任何其他對象視圖類似,Kubernetes 儀表板顯示集群中持久卷聲明 (PCV)的詳細信息及其狀態(tài)、存儲卷、存儲類、注釋、標簽、命名空間等。儀表板還顯示了集群的配置部署到集群中的應用程序,可以直接從 UI 進行編輯。

基于 UI 的部署

基于UI的部署是指使用圖形用戶界面(UI)界面來快速創(chuàng)建、配置和部署應用程序和服務,而無需編寫腳本或命令行代碼。這種方法適用于那些不想或不熟悉使用命令行進行部署和配置的開發(fā)人員或管理員。

UI通常提供了用戶友好的界面,使得用戶可以通過簡單的步驟來完成應用程序和系統(tǒng)部署。通過UI,用戶可以選擇和配置所需的部署和安裝選項,例如選擇容器鏡像、網絡配置和存儲選項等。UI還可以提供部署狀態(tài)和錯誤信息的實時反饋,讓用戶更好地跟蹤和解決問題。

基于UI的部署可以是針對特定的平臺或云服務提供商的,也可以是通用化的如Docker。對于企業(yè)IT環(huán)境,這種方法可以提高部署速度、減少用戶出錯的評率,降低維護的難度。Kubernetes 儀表板允許您從 UI 部署任何(工作負載)資源。您可以在瀏覽器中創(chuàng)建清單文件,也可以從 Git 等來源上傳您的清單文件。而 Kubernetes Dashboard 將直接與 Kubernetes 控制器通信,以獲取為您創(chuàng)建的資源對象。在下面的示例中,我們創(chuàng)建了一個清單文件來創(chuàng)建一個 pod,使用 NGINX 1.19.0 映像來創(chuàng)建一個 pod。

Kubernetes 儀表盤架構

Kubernetes Dashboard 是在 Kubernetes 架構之上開發(fā)的外部服務。在引擎蓋下,儀表板使用 API 讀取所有集群范圍的信息,以實現(xiàn)對單個窗格的可見性。它還使用 API 將資源和應用程序部署到集群中。CLI 和 Kubernetes 儀表板都依賴于 kube-API-server 來處理請求。要開始使用 CLI,Ops 團隊必須在同一集群中部署 Kubernetes Dashboard(類似于 Kubectl 部署)。

Kubernetes 儀表板入門

要開始使用 Kubernetes Dashboard,您需要在集群中運行以下命令:

第一步:部署 Kubernetes 儀表板

運行以下命令部署 Kubernetes Dashboard 應用程序

kubectl apply -fhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

要從本地機器訪問 Kubernetes Dashboard,可以通過運行以下命令創(chuàng)建一個安全通道來訪問 K8s 集群:

kubectl proxy

您可以使用以下 URL 訪問您的儀表板:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

第 2 步:創(chuàng)建服務帳戶

Kubernetes Dashboard 以最小的 RBAC 權限安裝,因此您可以使用不記名令牌訪問 Dashboard。因此,您可以創(chuàng)建一個服務帳戶并將其綁定到具有管理員權限的集群。您可以使用以下服務帳戶 YAML 文件:

apiVersion: v1kind: ServiceAccountmetadata: name: admin-user namespace: kubernetes-dashboard

使用命令制作服務資源:

kubectl - apply -f <<serviceaccount.yaml>>

您可以使用以下 ClusterRoleBinding YAML 創(chuàng)建服務帳戶cluster-admin:

apiVersion: v1kind: ClusterRoleBindingmetadata: name: admin-userroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-adminsubjects: kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard

同樣,應用 YAML 文件在集群中創(chuàng)建 ClusterRoleBinding 資源。

第 3 步:生成不記名令牌

使用命令生成不記名令牌

kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsnotallow="{.secrets[0].name}") -o go-template="{{.data.token | Base64decode}}"

第 4 步:使用令牌并開始使用儀表板

您可以粘貼不記名令牌以開始使用 Kubernetes 儀表板。

Kubernetes 儀表板的局限性

使用基于 UI 的 Kubernetes Dashboard 來代替 CLI 無疑是好的。但是,有一些限制使其用例僅限于小型初創(chuàng)公司:

  1. 缺少多集群視圖: Kubernetes Dashboard 提供與單個集群中的命名空間相關的視圖。它不提供多個集群的視圖。
  2. 最小 RBAC: Kubernetes 不為各種用戶提供細粒度的訪問控制。必須依賴于令牌或kubeconfig文件。
  3. 缺少單點登錄(SSO): Kubernetes Dashboard 不提供單點登錄服務。SSO 對于大中型企業(yè)保護 Kubernetes 中的資源和應用程序至關重要。
  4. 無節(jié)點管理: Kubernetes Dashboard DevOps 團隊查看節(jié)點信息,如狀態(tài)、標簽、限制、內存/CPU 請求、機器 ID、地址、分配的資源、pod 等。但不允許任何編輯節(jié)點的規(guī)定。這很重要,因為如果一個節(jié)點不健康,它將不會運行任何 pod,也不會參與集群活動。
  5. HELM 圖表的零可見性和可管理性: 許多組織使用它們來大規(guī)模部署他們的 Kubernetes 應用程序。不幸的是,Kubernetes Dashboard 不提供HELM Dashboards的功能。
  6. 缺乏應用視圖: Kubernetes Dashboard 提供了資源或對象視圖,但需要更多關于應用程序的信息,這使得開發(fā)人員修改任何部署都很麻煩。在沒有應用程序視圖的情況下,Kubernetes Dashboard 將其使用僅限于 Ops 團隊。
  7. 審計: Kubernetes Dashboard 不提供部署的審計報告,例如應用程序的部署人員、時間和方式。

請注意,雖然 Kubernetes Dashboard 的開發(fā)也是為了讓 UI 的部署變得容易,但今天,還沒有從 UI 應用高級部署策略(例如金絲雀)的機制。

Kubernetes 儀表板的開源替代品

Kubernetes Dashboard 有四種開源替代方案,它們可以獨立構建,也可以在 Dashboard 項目之上構建,以增強從 UI 進行部署、監(jiān)控和故障排除的能力。

1. Devtron Kubernetes 儀表板:

Devtron 提供了一個開源的 Kubernetes-native DevOps 平臺,可以自動化整個軟件交付過程,從 CI、CD、GitOps、安全和治理、漸進式部署、可觀察性、監(jiān)控和故障排除。Devtron Kubernetes 儀表板 在單個窗格中提供強大的功能,使 DevOps、SRE 和開發(fā)人員的生活更簡單:

  • 多集群資源監(jiān)控和節(jié)點管理
  • HELM 圖表儀表板和從儀表板的單個窗格進行管理
  • 事件和實時日志,以及用于調試的 Pod 執(zhí)行
  • 基于 UI 的部署(或對現(xiàn)有清單文件的修改)
  • 將新部署即時回滾到生產環(huán)境
  • DORA 指標
  • 用于用戶、操作和資源的細粒度 RBAC。

2. 開放鏡頭

具有 MIT 許可證的開源軟件用于多集群管理和監(jiān)控工作負載。它還提供基本的 HELM 資源管理和資源分組,但可能需要一個學習曲線。其次,它有一些盲點,因為它沒有為多集群部署、圖表配置差異等提供 HELM 圖表組。

3.八分圓

由 VMware 啟動的開源儀表板,但現(xiàn)在已存檔 - 沒有社區(qū)支持,您只能靠自己。最初,該項目的目標是讓開發(fā)人員使用 UI 更快地將代碼發(fā)送到集群中。Octane 在集群可視化和管理方面的功能有限。

表格比較

Vanilla Kubernetes 儀表板對比 Devtron Kubernetes 儀表板對比 OpenLens。

集群和資源管理

安全


責任編輯:華軒 來源: 今日頭條
相關推薦

2022-11-28 11:35:33

Kubernetes開源工具

2023-08-05 15:12:54

Kubernetes命令

2021-10-18 09:00:00

Kubernetes容器工具

2022-02-08 11:45:03

PiniaVuex前端

2023-07-11 18:36:20

CloudReady開源

2013-11-19 14:36:38

UbuntuDebianPCLinuxOS

2011-04-12 09:13:51

OpenIndianaSolaris替代品

2013-01-28 09:25:54

2021-08-12 13:00:56

物聯(lián)網IOT

2022-08-02 10:45:29

AppFlowyNotion開源

2013-10-30 16:40:45

2012-07-20 09:37:00

Oracle LinuCentOS

2012-10-30 09:30:49

IaaS基礎架構即服務IaaS案例

2012-09-24 09:45:55

Windows 8操作系統(tǒng)

2022-08-15 09:49:28

K8s云原生

2024-01-15 14:19:34

開源ChatGPT

2020-12-04 09:41:36

C編程語言替換C

2016-09-13 15:50:24

TurtlEvernote開源

2020-02-17 21:35:21

JoplinEvernote開源

2013-05-30 09:26:07

Redshift數(shù)據倉庫云存儲
點贊
收藏

51CTO技術棧公眾號