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 简介

现在让我们创建一个新的集群组并在那里部署一个新的集群。 转到集群组并单击 新集群组。 输入名称并单击 CREATE.

Tanzu Mission Control 简介

新组应立即出现在列表中。

Tanzu Mission Control 简介

让我们部署一个新集群:转到 集群新集群 并选择与实验室工作相关的选项。

Tanzu Mission Control 简介

让我们添加集群的名称,选择分配给它的组(在我们的示例中为动手实验)以及部署区域。

Tanzu Mission Control 简介

创建集群时还有其他可用选项,但在实验室期间没有必要更改它们。 选择您需要的配置并点击 下一页.

Tanzu Mission Control 简介

需要编辑一些参数,为此,请单击 编辑.

Tanzu Mission Control 简介

我们将工作节点数量增加到两个,保存参数并单击 CREATE.
在此过程中你会看到这样的进度条。

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 命令,然后输入我们在上一步中收到并复制的令牌,然后输入登录上下文名称。 选择 info 来自建议的日志、区域和 奥林巴斯默认 作为 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 读者分享有关使用该产品的详细报告。

来源: habr.com

添加评论