VMware Pivotal容器服务(PKS)入门第1部分:概述
在过去的一周半中,我花了很多时间使自己熟悉最近发布的VMware Pivotal Container
Service解决方案,也简称为VMware
PKS(是的,这是K而不是C,这是对Google的容器调度程序Kubernetes)。VMware
PKS是我目前正在从事的项目的一部分,我想我将分享在我自己的个人实验室中部署VMware
PKS所采取的过程和步骤,以防其他人有兴趣尝试使用此整洁而强大的解决方案来解决这一问题。使用由VMware,Pivotal和Google共同开发的 Kubernetes部署Cloud
Native Apps 。
如果想了解有关VMware
PKS的第一个发行版的更多信息,以及它为Kubernetes基础架构为开发人员(消费者)和操作员(管理员/
SRE)提供的好处,请在此处查看此博客文章。如果要使用sparks
notes版本,PKS的产品经理之一Merlin Glynn也对VMware
PKS做了很棒的灯板视频概述。如果只是想尝试不部署任何东西的PKS,CNA的人也发布了一个PKS
HOL,可以在这里找到。另一个有用的资源是迈克尔·韦斯特(Michael
West)撰写的Kubernetes即服务入门指南,他在CNA团队工作并构建了PKS
HOL。
这是系列文章中的第一篇,概述了我的VMware
PKS部署和配置,希望对其他人有所帮助,因为在学习该解决方案时花了我几次尝试。尽管前几篇文章将包含手动指导,请放心,到最后会有一些很酷的自动化,但是我认为人们可能希望手动进行一次,以便对所有不同的组件及其交互方式有一个很好的了解。彼此。另外,产品团队仍在进行某些PKS特定的自动化工作,希望我能尽快分享一些实际信息。
目录:
组件:
-
计算-vSphere 6.5+(vCenter Server + ESXi)和Enterprise Plus许可证
-
存储- 用于永久存储卷的VSAN或其他vSphere数据存储+ 项目舱口
-
网络和安全性-NSX-T 2.1(许可已包括在PKS SKU中)
-
PKS-由三个主要虚拟机组成:
-
Ops Manager-用于部署和管理BOSH和PKS控制平面VM的Web界面
-
BOSH Director-部署和管理Kubernetes集群
-
PKS控制平面-与BKS交互以进行K8S群集创建,删除和调整大小的Northbound API
-
Harbor (可选)-用于Docker映像的企业级容器注册表
-
软件下载:
这是部署PKS时需要下载的软件的完整列表。我发现自己翻阅了多个文档并试图在Pivotal的网站上找到合适的软件包,我认为将其放在一个位置不仅对我有用,而且对可能正在进行部署的其他任何人都是有用的。
实验环境:
对于我的部署,我将使用单个物理ESXi主机,它将作为运行所有基础架构VM(包括PKS)的“管理”群集的服务器。在该管理群集上,我还将运行配置了VSAN的三个嵌套ESXi
VM,然后将它们用作我的PKS工作负载的“计算”群集。也可以仅在单个管理和计算群集上运行PKS,但是由于需要许多NAT规则,因此设置要复杂得多。下面的部署模型是将PKS部署到生产环境时的首选和推荐方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7EU2HaUc-1571152616889)()]
以下是部署功能齐全的PKS部署的资源要求。对于NSX-T管理器和控制器,可以减少CPU和内存占用量以用于实验室和教学目的,并且仅部署一个控制器即可。但是,对于NSX-T
Edge,存在8vCPU和16GB内存的硬性要求,这是作为NSX-T容器插件(NCP)的一部分进行预先检查的,否则PKS配置将无法完成。
计算/ 存储
| 虚拟机 | 中央处理器 | 记忆体 | 磁盘 |
|---|---|---|---|
| NSX-T管理器 | 4 | 16 GB | 140GB |
| NSX-T控制器x 3 | 4 | 16 GB | 120GB |
| NSX-Edge x 1 | 8 | 16 GB | 120GB |
| 运营经理 | 1 | 8GB | 160GB |
| 博世董事 | 2 | 8GB | 103GB |
| PKS控制平面 | 1 | 1GB | 22GB |
| 港口 | 2 | 8GB | 169GB |
| PKS客户端(用于PKS / Kubectl CLI) | 1 | 1GB | 16 GB |
联网
在的物理或虚拟网络基础架构中定义
-
管理网络(172.30.51.0/24)-这是管理VM所在的位置,包括四个PKS
VM。就像在路由或NAT模式下的K8S工作负载一样,PKS可以部署在NSX-T逻辑交换机后面。对于我的实验室,我选择将所有基础架构虚拟机保留在同一管理网络上 -
中间网络(172.30.50.0/24)-通过NSX-T
T0路由器在我们的管理网络与我们的K8S群集管理网络以及K8S工作负载网络之间路由时,需要使用此网络。只需要两个IP,一个用于默认应存在的网关,一个用于驻留在T0上的上行链路。静态路由将用于到达NSX-T网络。在生产或非实验室环境中,将使用BGP将T0对等到的物理网络
在NSX-T中定义
-
K8S集群管理网络(10.10.0.0/24)-该网络用于K8S管理POD,其中包括用于监视集群活动的节点代理和NSX-T容器插件(NCP)等服务
-
负载平衡器IP池(10.20.0.0/24)-该网络池将提供地址,用于在K8S中作为应用程序部署的一部分需要负载平衡服务时
-
K8S服务网络 IP块(172.16.0.0/16)-当请求将应用程序部署到新的K8S名称空间时,使用此网络。从该IP块获取一个/
24网络,并将其分配给特定的K8S命名空间,从而允许在租户之间以非常精细的级别应用网络隔离和策略。这是VMware
PKS提供的独特功能,是当今其他解决方案所无法提供的
这是我计划的VMware PKS部署的逻辑图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWQPQrey-1571152616890)()]
精细的级别应用网络隔离和策略。这是VMware
PKS提供的独特功能,是当今其他解决方案所无法提供的
这是我计划的VMware PKS部署的逻辑图:
[外链图片转存中…(img-oWQPQrey-1571152616890)]
到目前为止,仅此而已,请继续关注第2部分,我们将开始配置PKS“客户端”
VM,其中将包括用于管理和请求K8S集群以及在基础架构之上部署应用程序的所有各种CLI工具。