引入Tanzu任务控制

今天我们要谈的是VMware Tanzu,这是去年VMWorld会议期间宣布的新产品和服务系列。议程上最有趣的工具之一是:Tanzu Mission Control。



注意:剪切下有很多图像。







什么是任务控制



就像该公司在博客中所说的那样,VMware Tanzu Mission Control的主要目标是“使混乱集群化”。 Mission Control是一个API驱动的平台,使管理员可以将策略应用于群集或群集组并设置安全规则。基于SaaS的工具通过代理安全地集成到Kubernetes集群中,并支持广泛的标准集群操作,包括生命周期管理操作(部署,扩展,删除等)。



Tanzu系列的思想基于最大程度地利用开源技术。集群API用于管理Tanzu Kubernetes Grid集群的生命周期,Velero用于备份和还原,Sonobuoy用于控制Kubernetes和Contour集群作为入口控制器的配置对应关系。



Tanzu任务控制功能的常规列表如下所示:



  • 集中管理所有Kubernetes集群;
  • 身份和访问管理(IAM);
  • 诊断和监视集群状态;
  • 管理配置和安全设置;
  • 安排定期检查群集的状态;
  • 创建备份和还原;
  • 配额管理;
  • 资源利用的可视化表示。






它为什么如此重要



Tanzu Mission Control帮助企业管理本地,云中以及与多个第三方提供商的大量Kubernetes集群。迟早,任何将其活动与IT捆绑在一起的公司都被迫维护位于不同提供商处的许多异构集群。每个集群都变成一个滚雪球,需要一个称职的组织,适当的基础架构,策略,保护,监视系统等等。



如今,任何企业都在寻求降低成本和自动化常规流程的方法。而且,复杂的IT环境显然不利于节省成本,而将重点放在优先任务上。Tanzu Mission Control使组织能够在跨多个提供商的多个Kubernetes集群之间进行运营,同时协调运营模型。



解决方案架构







Tanzu Mission Control是一个多租户平台,可让用户访问一组高度可自定义的策略,这些策略可应用于集群和Kubernetes集群组。每个用户都与组织相关联,是资源的“根”,即群集和工作空间(工作空间)组。







Tanzu任务控制可以做什么



上面,我们已经简要列出了解决方案功能列表。让我们看看如何在界面中实现它。



企业中所有Kubernetes集群的单一视图:







创建一个新集群:











您可以立即将一个组分配给集群,它将继承为其设置的策略。



群集连接:







可以使用特殊代理简单地连接现有群集。



群集分组:







在群集组中,您可以将群集分组以在组级别继承分配的策略,而无需人工干预。



工作空间:







提供了灵活配置对位于多个命名空间,集群和云基础架构内的应用程序的访问的能力。



让我们仔细看看实验室工作中Tanzu Mission Control的原理。



实验#1



当然,在没有实践的情况下,很难详细想象任务控制和新的Tanzu解决方案的工作。为了让您探索生产线的主要功能,VMware提供了访问多个实验室支架的途径。在这些工作台上,您可以按照分步说明进行实验室工作。除了Tanzu Mission Control本身以外,还可以使用其他解决方案进行测试和研究。可以在此页面上找到实验室工作的完整列表



分配了不同的时间来实际熟悉不同的解决方案(包括一些vSAN“游戏”)。不用担心,这些是非常相对的数字。例如,从家经过时,Tanzu任务控制实验室可以“解决”长达9个半小时。此外,即使计时器到期,您也可以返回并重新过去。



通过实验室工作#1
VMware. . .



Tanzu Mission Control.



windows-, :



  • ,
  • ,
  • -




, : .



实验2



在这里,我们已经在处理更严重的问题。这项实验室工作并不像以前那样与“轨道”联系在一起,需要更仔细的研究。我们不会在这里完整引用它:为了节省您的时间,我们将仅分析第二个模块,第一个模块专用于Tanzu Mission Control的理论方面。如果您愿意,可以自己完成。该模块邀请我们通过Tanzu Mission Control投入集群生命周期管理。



注意:Tanzu Mission Control实验室会定期更新和完善。在完成实验时,如果有任何不同于以下内容的屏幕或步骤,请按照屏幕右侧的说明进行操作。在撰写本文时,我们将浏览LR的当前版本,并考虑其关键要素。



通过实验室工作#2
VMware Cloud Services, Tanzu Mission Control.







, , — Kubernetes. Ubuntu PuTTY. Ubuntu.







:



  • : kind create cluster --config 3node.yaml --name=hol
  • KUBECONFIG-: export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
  • : kubectl get nodes






Tanzu Mission Control. PuTTY Chrome, Clusters ATTACH CLUSTER.

default, REGISTER.







PuTTY.







.







: watch kubectl get pods -n vmware-system-tmc. , Running Completed.







Tanzu Mission Control VERIFY CONNECTION. , .







. Cluster groups NEW CLUSTER GROUP. CREATE.







.







: Clusters, NEW CLUSTER .







, — hands-on-labs — .







, . , Next.







, Edit.







, CREATE.

.







. .







KUBECONFIG, kubectl. Tanzu Mission Control. Tanzu Mission Control CLI click here.







CLI.







API Token. My Account .







GENERATE.







CONTINUE. Power Shell tmc-login, — , , — Login Context Name. info , olympus-default ssh-.







namespaces:kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get namespaces.



kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get nodes, , Ready.







. — coffee and tea — coffee-svc tea-svc, — nginxdemos/hello and nginxdemos/hello:plain-text. .



PowerShell cafe-services.yaml.







- API .



Pod Security Policies . .



: 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







2 , ! , .



, . . , , , Tanzu Mission Control -.



意见和结论



当然,谈论与Tanzu合作的实际问题为时尚早。可供独立研究的材料很少,如今不可能部署测试台以从各个方面“戳”新产品。尽管如此,即使从现有数据中也可以得出某些结论。



坦祖任务控制的好处



系统出来真的很有趣。立即,我想强调一些方便和有用的面包:



  • 您可以通过开发人员真正喜欢的Web面板和控制台创建集群。
  • 通过工作空间的RBAC管理在用户界面中实现。目前尚无法在实验室中工作,但从理论上讲,这是一件了不起的事情。
  • 基于模板的集中权限管理
  • 完全访问名称空间。
  • YAML编辑器。
  • 创建网络策略。
  • 群集运行状况监视。
  • 控制台备份和还原功能。
  • 可视化实际处置的配额和资源管理。
  • 自动启动群集检查。


同样,许多组件目前正在最终确定中,因此现在全面谈论某些工具的优缺点还为时过早。顺便说一下,基于演示的Tanzu MC可以动态升级群集,并且通常可以从许多提供商处一次提供群集的整个生命周期。



这是一些“高级”示例。



通过自己的章程进入其他人的集群



假设您有一个明确定义角色和职责的开发团队。每个人都忙于自己的生意,甚至不应该意外地干扰同事的工作。或者,团队中有一位或多位经验不足的专家,您不想给他们不必要的权利和自由。我们还假设您一次拥有来自三个提供商的Kubernetes。因此,为了限制权利并将它们带到一个共同点,您将必须一个个进入每个控制面板并手动注册所有内容。同意,不是最有生产力的消遣。而且,您拥有的资源越多,过程就越枯燥。 Tanzu Mission Control允许您从“一个窗口”管理角色的区分。我们认为,这是一个非常方便的功能:如果您不小心忘记在某处指定必要的权限,那么任何人都不会破坏任何东西。



顺便说一下,我们MTS的同事在博客中比较了供应商和开源的Kubernetes。如果您长期以来一直想知道有什么区别,以及选择时要注意什么,欢迎您。



紧凑的日志处理



现实生活中的另一个例子是处理日志。假设团队也有一个测试人员。有一天他来到开发人员并宣布:“已在应用程序中发现一个错误,我们将紧急修复它。”很自然,开发人员想要了解的第一件事就是日志。通过电子邮件或电报以文件形式发送它们是不礼貌的行为,也是上个世纪。 Mission Control提供了另一种选择:您可以授予开发人员特殊权限,以便他们只能读取特定名称空间中的日志。在这种情况下,测试人员只需说:“某某某类应用程序,某某某类字段中,某某某类名称空间中存在错误”,开发人员便可以轻松打开日志并能够定位问题。由于权限有限,如果权限不允许,他将不会立即爬升修复该漏洞。



Healthy Cluster Healthy App(健康集群健康应用程序)



Tanzu MC的另一个重要功能是集群健康跟踪。从初步材料来看,该系统允许您查看一些统计信息。目前,很难说出这些信息的详细程度:到目前为止,所有内容看起来都很谦虚和简单。监视CPU和RAM利用率,显示所有组件的状态。但是即使是这种斯巴达形式,它也是一个非常有用和有效的细节。



结果



当然,在任务控制的实验室表示中,在看似无菌的条件下,观察到一些粗糙度。如果您决定进行这项工作,您自己可能会注意到他们。有些观点不够直观-即便是经验丰富的管理员也必须阅读该手册以了解界面及其功能。



但是,考虑到产品的复杂性,重要性和在市场中必须扮演的角色,结果却很酷。感觉就像是创建者试图修复用户的工作流程。使每个控件尽可能地起作用和易于理解。



仍然只有在测试台上尝试Tanzu才能真正了解其所有优点,缺点和创新。只要有这样的机会,我们就会与Habr的读者分享有关使用该产品的详细报告。



All Articles