Tanzu Mission Control 簡介

今天我們想談談 VMware Tanzu,這是去年 VMWorld 大會上宣布的一系列新產品和服務。 議程上是最有趣的工具之一:Tanzu Mission Control。

請注意:剪切下有很多圖像。

Tanzu Mission Control 簡介

什麼是任務控制

正如該公司在其部落格中所言,VMware Tanzu Mission Control 的主要目標是「為集群混亂帶來秩序」。 Mission Control 是一個 API 驅動的平台,允許管理員將策略應用於叢集或叢集群組並設定安全規則。 基於 SaaS 的工具透過代理程式安全地整合到 Kubernetes 叢集中,並支援各種標準叢集操作,包括生命週期管理操作(部署、擴充、刪除等)。

Tanzu 系列的理念是基於最大限度地利用開源技術。 為了管理 Tanzu Kubernetes Grid 叢集的生命週期,使用 Cluster API,Velero 用於備份和恢復,Sonobuoy 用於監控 Kubernetes 叢集配置的合規性,Contour 作為入口控制器。

Tanzu Mission Control 功能的一般清單如下所示:

  • 集中管理所有 Kubernetes 叢集;
  • 身分和存取管理(IAM);
  • 集群狀態的診斷和監控;
  • 管理配置和安全設定;
  • 安排定期集群健康檢查;
  • 建立備份和還原;
  • 配額管理;
  • 資源利用的直觀表示。

Tanzu Mission Control 簡介

它為什麼如此重要

Tanzu Mission Control 將協助企業解決管理位於本地端、雲端以及跨多個第三方供應商的大量 Kubernetes 叢集的問題。 任何與 IT 相關的活動遲早都會發現自己被迫支援位於不同提供者的許多異質叢集。 每個集群都會變成一個雪球,需要有能力的組織、適當的基礎設施、政策、保護、監控系統等等。

如今,任何企業都致力於降低成本並實現日常流程自動化。 複雜的 IT 環境顯然不會促進節約和專注於優先任務。 Tanzu Mission Control 使組織能夠操作跨多個提供者部署的多個 Kubernetes 集群,同時協調操作模型。

解決方案架構

Tanzu Mission Control 簡介

Tanzu Mission Control 是一個多租戶平台,讓使用者可以存取一組高度可配置的策略,這些策略可應用於 Kubernetes 叢集和叢集群組。 每個使用者都與一個組織相關聯,該組織是資源(群集組和工作區)的「根」。

Tanzu Mission Control 簡介

Tanzu Mission Control 可以做什麼

上面我們已經簡單列出了該解決方案的功能清單。 讓我們看看它是如何在介面中實現的。

企業中所有 Kubernetes 叢集的單一視圖:

Tanzu Mission Control 簡介

建立新集群:

Tanzu Mission Control 簡介

Tanzu Mission Control 簡介

您可以立即將一個群組指派給集群,它將繼承指派給它的策略。

集群連接:

Tanzu Mission Control 簡介

可以使用特殊代理簡單地連接現有的叢集。

集群分組:

Tanzu Mission Control 簡介

在集群組中,您可以將集群進行分組,以在群組層級立即繼承已指派的策略,而無需手動幹預。

工作區:

Tanzu Mission Control 簡介

提供靈活配置對位於多個命名空間、叢集和雲端基礎設施內的應用程式的存取的能力。

讓我們仔細看看Tanzu Mission Control在實驗室工作中的工作原理。

實驗室#1

當然,如果沒有實踐,很難想像任務控制和新 Tanzu 解決方案的詳細操作。 為了讓您探索此系列的主要功能,VMware 提供了多個實驗室工作台。 這些工作台可讓您按照逐步說明執行實驗室工作。 除了 Tanzu Mission Control 本身之外,還有其他解決方案可供測試和研究。 可以找到實驗室工作的完整列表 此頁面上.

為了實際熟悉各種解決方案(包括 vSAN 上的小「遊戲」),需要分配不同的時間。 別擔心,這些都是非常相對的數字。 例如,從家裡經過時,Tanzu Mission Control 上的實驗室可以「解決」長達 9 個半小時的時間。 此外,即使計時器耗盡,您也可以返回並重新進行所有操作。

透過實驗室工作#1
要存取實驗室,您需要一個 VMware 帳戶。 授權後,將開啟一個彈出窗口,其中顯示作品的主要概要。 詳細說明將放置在螢幕右側。

閱讀完 Tanzu 的簡短介紹後,您將被邀請在任務控制互動模擬中進行練習。

將開啟一個新的 Windows 電腦彈出窗口,系統將要求您執行一些基本操作:

  • 建立集群
  • 配置其基本參數
  • 刷新頁面並確保一切配置正確
  • 設定策略並檢查集群
  • 建立一個工作區
  • 建立命名空間
  • 再次使用策略,每個步驟在手冊中都有詳細解釋
  • 演示叢集升級


當然,互動式模擬並沒有為獨立研究提供足夠的自由:你沿著開發人員預先鋪設的軌道移動。

實驗室#2

在這裡我們已經在處理更嚴重的事情了。 這項實驗室工作不像前一項那樣受「軌道」束縛,需要更仔細的研究。 我們不會在這裡完整介紹它:為了節省您的時間,我們將只分析第二個模組,第一個模組致力於 Tanzu Mission Control 工作的理論方面。 如果您願意,您可以完全自行完成。 本模組讓我們透過 Tanzu Mission Control 深入了解叢集生命週期管理。

注意:Tanzu Mission Control 實驗室工作會定期更新和改進。 如果完成實驗時任何螢幕或步驟與下面的不同,請按照螢幕右側的指示進行操作。 在撰寫本文時,我們將瀏覽 LR 的當前版本並考慮其關鍵要素。

透過實驗室工作#2
在 VMware Cloud Services 中完成授權程序後,我們啟動 Tanzu Mission Control。

Tanzu Mission Control 簡介

實驗室建議的第一步是部署 Kubernetes 叢集。 首先我們需要使用 PuTTY 存取 Ubuntu 虛擬機器。 啟動該實用程式並選擇與 Ubuntu 的會話。

Tanzu Mission Control 簡介

我們依序執行三個命令:

  • 建立集群: kind create cluster --config 3node.yaml --name=hol
  • 載入 KUBECONFIG 檔案: export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
  • 節點輸出: kubectl get nodes

Tanzu Mission Control 簡介

現在需要將我們建立的叢集新增至 Tanzu Mission Control。 從 PuTTY 中,我們返回 Chrome,前往 Clusters 並點擊 附加集群.
從下拉式選單中選擇一個群組 - 默認,輸入實驗室建議的名稱,然後按一下 報名註冊.

Tanzu Mission Control 簡介

複製收到的命令並轉到 PuTTY。

Tanzu Mission Control 簡介

我們執行收到的命令。

Tanzu Mission Control 簡介

若要追蹤進度,請執行另一個命令: watch kubectl get pods -n vmware-system-tmc。 我們等到所有容器都有狀態 運行完成.

Tanzu Mission Control 簡介

返回 Tanzu Mission Control 並點擊 驗證連接。 如果一切順利,所有檢查的指示器都應該是綠色的。

Tanzu Mission Control 簡介

現在讓我們建立一個新的叢集群組並在那裡部署一個新的叢集。 轉到集群組並點擊 新集群組。 輸入名稱並點擊 創建.

Tanzu Mission Control 簡介

新群組應立即出現在清單中。

Tanzu Mission Control 簡介

讓我們部署一個新集群:轉到 集群, 按 新集群 並選擇與實驗室工作相關的選項。

Tanzu Mission Control 簡介

讓我們新增叢集的名稱,選擇指派給它的群組(在我們的範例中為動手實驗)以及部署區域。

Tanzu Mission Control 簡介

建立叢集時還有其他可用選項,但在實驗室期間沒有必要更改它們。 選擇您需要的配置並點擊 下一頁.

Tanzu Mission Control 簡介

需要編輯一些參數,為此,請點擊 編輯.

Tanzu Mission Control 簡介

我們將工作節點數量增加到兩個,保存參數並點擊 創建.
過程中你會看到這樣的進度條。

Tanzu Mission Control 簡介

部署成功後,您將看到此圖。 所有收據必須是綠色的。

Tanzu Mission Control 簡介

現在我們需要下載 KUBECONFIG 檔案來使用標準 kubectl 指令管理叢集。 這可以直接透過 Tanzu Mission Control 使用者介面完成。 下載檔案並繼續下載 Tanzu Mission Control CLI,方法是點擊 點擊這裡..

Tanzu Mission Control 簡介

選擇所需的版本並下載 CLI。

Tanzu Mission Control 簡介

現在我們需要取得 API Token。 若要執行此操作,請轉至 我的帳戶 並產生一個新的令牌。

Tanzu Mission Control 簡介

填寫欄位並點擊 生成.

Tanzu Mission Control 簡介

複製生成的令牌並點擊 CONTINUE。 打開 Power Shell 並輸入 tmc-login 命令,然後輸入我們在上一個步驟中收到並複製的令牌,然後輸入登入上下文名稱。 選擇 信息 來自建議的日誌、區域和 奧林巴斯默認 作為 ssh 密鑰。

Tanzu Mission Control 簡介

我們得到命名空間:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces.

進入 kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodes確保所有節點都處於狀態 各就各位.

Tanzu Mission Control 簡介

現在我們必須在這個叢集中部署一個小型應用程式。 讓我們以兩個服務 Coffee-SVC 和 Tea-SVC 的形式進行兩次部署 - Coffee 和 Tea,每個部署都會啟動不同的映像 - nginxdemos/hello 和 nginxdemos/hello:plain-text。 這是按如下方式完成的。

通過 PowerShell的 去下載並找到文件 咖啡廳服務.yaml.

Tanzu Mission Control 簡介

由於 API 發生一些變化,我們必須對其進行更新。

Pod 安全性原則預設啟用。 要使用權限運行應用程序,您必須連結您的帳戶。

建立綁定: kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
讓我們部署應用程式: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
我們檢查: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods

Tanzu Mission Control 簡介

第 2 單元已完成,你美麗又令人驚嘆! 我們建議您自行完成其餘模組,包括策略管理和合規性檢查。

如果您想完整地完成此實驗,可以在此處找到它 在目錄中。 我們將繼續本文的最後部分。 讓我們談談我們所看到的內容,得出第一個準確的結論,並詳細說明 Tanzu Mission Control 與實際業務流程的關係。

意見和結論

當然,現在談論與 Tanzu 合作的實際問題還為時過早。 自學的資料沒有那麼多,今天不可能部署一個測試台來從各個方面「戳」一個新產品。 然而,即使根據現有數據,也可以得出某些結論。

Tanzu 任務控制的優勢

事實證明這個系統真的很有趣。 我想立即強調一些方便且有用的好東西:

  • 您可以透過 Web 面板和控制台建立集群,這是開發人員真正喜歡的。
  • 透過工作區進行 RBAC 管理是在使用者介面中實現的。 它尚未在實驗室中發揮作用,但從理論上講這是一件很棒的事情。
  • 基於範本的集中權限管理
  • 對命名空間的完全存取權。
  • YAML 編輯器。
  • 建立網路策略。
  • 集群健康監控。
  • 能夠透過控制台備份和還原。
  • 透過實際利用率的可視化來管理配額和資源。
  • 自動啟動叢集檢查。

同樣,許多組件目前正在開發中,因此現在全面討論某些工具的優缺點還為時過早。 順便說一句,基於演示,Tanzu MC 可以動態升級集群,並且通常可以同時為多個提供者提供集群的整個生命週期。

以下是一些“高級”範例。

到別人的集群有自己的章程

假設您有一個具有明確定義的角色和職責的開發團隊。 每個人都忙著自己的事,更不該無意間幹擾同事的工作。 或者團隊中有一名或多名經驗不足的專家,您不想向他們授予不必要的權利和自由。 我們也假設您同時擁有來自三個提供者的 Kubernetes。 因此,為了限制權利並使它們具有共同點,您必須逐一進入每個控制面板並手動註冊所有內容。 同意,這不是最有成效的消遣。 你擁有的資源越多,這個過程就越無聊。 Tanzu Mission Control 將允許您從「一個視窗」管理角色劃分。 在我們看來,這是一個非常方便的功能:如果您不小心忘記在某處指定必要的權限,沒有人會破壞任何東西。

順便說一句,我們 MTS 的同事在他們的部落格中 比較的 Kubernetes 來自供應商並開源。 如果您一直想知道它們有什麼區別以及選擇時要注意什麼,歡迎您。

緊湊的日誌工作

現實生活中的另一個例子是使用日誌。 我們假設團隊還有一名測試人員。 有一天,他來到開發人員面前並宣布:“應用程式中發現了一個錯誤,我們將緊急修復它。” 開發人員首先想要熟悉的自然是日誌。 透過電子郵件或電報將它們作為文件發送是不禮貌的行為,而且是上個世紀的行為。 Mission Control 提供了另一種選擇:您可以為開發人員設定特殊權限,以便他們只能讀取特定命名空間中的日誌。 在這種情況下,測試人員只需要說:“某某應用程式、某某領域、某某命名空間存在bug”,開發人員就可以輕鬆打開日誌並能夠本地化問題。 而且由於權利有限,如果你的能力不允許,你將無法立即修復它。

一個健康的集群有一個健康的應用程式。

Tanzu MC 的另一個重要功能是叢集運作狀況追蹤。 從初步材料來看,系統允許查看一些統計數據。 目前,很難確切地說這些資訊有多詳細:到目前為止,一切看起來都相當樸素和簡單。 對 CPU 和 RAM 負載進行監控,顯示所有組件的狀態。 但即使以如此斯巴達的形式,它也是一個非常有用和有效的細節。

結果

當然,在任務控制中心的實驗室展示中,在看似無菌的條件下,也存在一些粗糙的地方。 如果您決定完成這項工作,您自己可能會注意到它們。 有些方面做得不夠直觀 - 即使是經驗豐富的管理員也必須閱讀手冊才能了解介面及其功能。

然而,考慮到該產品的複雜性、重要性以及它將在市場中發揮的作用,結果非常好。 感覺創作者試圖改善使用者的工作流程。 使每個控制元素盡可能實用且易於理解。

剩下的就是在測試台上嘗試 Tanzu,以真正了解其所有優點、缺點和創新。 一旦有這樣的機會,我們將與 Habr 讀者分享有關使用產品的詳細報告。

來源: www.habr.com

添加評論