VMware前不久发布了第一个企业级容器解决方案VMware PKS,如下示意图: 我们接下来下面分享一篇技术大咖willam Lam对PKS的测试与评价文档。 概述
我把VMware PKS 的若干过程和步骤推荐给有兴趣的朋友,对于这个由VMware,Pivatol, Google共同推出的商业化平台,我们可以共同来尝试采用这套简洁而功能强大的容器编排管理平台来部署各种云原生云应用。
如果您想了解有关首次发布VMware PKS 的详细信息, 以及它为 Kubernetes 基础架构的用户开发人员和IT管理人员所提供的便利性和好处,可查阅这份博客,链接为:https://blogs.vmware.com/cloudnative/2018/02/12/pivotal-container-service-ga/;
另外梅林格林(PKS 的产品经理之一)也做了一段非常棒的短视频介绍VMware PKS(详细视频请参见原文链接中)
如果你只是想尝试一下PKS而并不部署任何应用, 还可以访问这个在线的LAB环境来试试: https://labs.hol.vmware.com/HOL/catalogs/catalog/874?src=so_5a314d05ddb83&cid=70134000001SkJd
这将是有关VMware PKS部署配置管理的一系列介绍文章的第一篇,通过对PKS不同功能模块的充分测试和消化,早期的文章中会呈现较详细的的一些手动操作的步骤和详细过程,以求充分的展示所有不同的组件以及他们彼此之间的关联性,但实际上PKS是一个非常酷的自动化平台和引擎;另外PKS还有一些更新的功能产品团队还在开发完善中,希望不久的将来我可以很快的分享和介绍它们。
PKS平台核心组件
1. 计算:vSphere6.5 (vCenter sever+ ESXi);
2. 存储:VSAN 或其他vSphere datastore(还可结合hatchway —容器级永久存储);
3. 网络和安全:NSX-T 2.1 (软件许可包含在 PKS SKU套包内 );
4. PKS:由三个关键虚拟机组成:
OPS管理台-用于部署和管理BOSH与PKS的控制虚拟机的WEB平台
BOSH控制台-部署和管理Kubernetes 群集
PKS 控制台-通过API北向接入K8S,进行群集的创建、删除、扩展和还原
HARBOR(可选项)-用于存放容器镜像的企业级容器安全仓库
对应软件下载地址
下列是部署 PKS所需下载软件的完整列表。我花了一些功夫在PIVATOL网站上找出了这些准确链接, 这些链接汇总起来,无论对我还是对其它打算部署PKS的朋友我想是有价值的。
Software |
Download URL |
NSX-T |
https://my.vmware.com/web/vmware/details?productId=673&downloadGroup=NSX-T-210 |
PKS |
https://network.pivotal.io/products/pivotal-container-service#/releases/43085 |
PKS CLI |
https://network.pivotal.io/products/pivotal-container-service#/releases/43085/file_groups/848 |
Kubectl CLI |
https://network.pivotal.io/products/pivotal-container-service#/releases/43085/file_groups/847 |
Pivotal Ops Manager for vSphere |
https://network.pivotal.io/products/ops-manager |
Stemcell for vSphere |
https://network.pivotal.io/products/stemcells |
测试环境
我使用了一台ESXi物理主机用于测试环境的部署, 这台服务器作为我的管理群集运行PKS所有的虚拟机组件,在该管理群集上, 我还将配置包含VSAN 的三个嵌套ESXi VM, 然后作为我的 PKS 工作负载的"计算" 群集。您还可以只在单个管理和计算群集上运行 PKS, 但是安装步骤要复杂得多。下面的部署模型是将 PKS 部署到生产中时首选的和推荐的方法。
下面表格是部署完整PKS平台所需要的资源;对于 NSX-T管理和控制虚拟机, 在测试培训环境中,对应的VCPU和内存可适当减少,但NSX-T的网关路由(Edge)虚拟机,其 配置资源一定不少于8vCPU 和16GB 内存, 这需要进行预先确认,否则NSX- T 容器插件 (NCP) 或PKS 配置将部署失败。
计算和存储板块:
VM |
CPU |
MEM |
DISK |
NSX-T Manager |
4 |
16GB |
140GB |
NSX-T Controller x 3 |
4 |
16GB |
120GB |
NSX-Edge x 1 |
8 |
16GB |
120GB |
Ops Manager |
1 |
8GB |
160GB |
BOSH Director |
2 |
8GB |
103GB |
PKS Control Plane |
1 |
1GB |
22GB |
PKS Client (for PKS/Kubectl CLI) |
1 |
1GB |
16GB |
2.网络板块:
1)物理或虚拟网络环境的设置:
管理网络 (172.30.51.0/24)—这是管理虚拟机所在的网络区间, 包括四个PKS 虚拟机, PKS 也可和K8S的工作负载一样通过路由或NAT转换部署在 NSX-T逻辑交换机的后面, 在本次我的实验环境里, 我选择将所有的基础设施虚拟机都放在在同一个的管理网络中。
中间网络 (172.30.50.0/24)—通过 NSX T0 路由器把PKS管理网络,K8S的集群管理网络以及K8S 工作负载网络打通;只需要两个IPS, 一个用于网关, 默认情况应存在;另一个IP将驻留在 T0 上的上行链路上,用于静态路由连接 NSX-T 网络;在生产或非测试环境里,T0与物理网络环境之间必须要采用BGP路由协议。
2)NSX-T在容器环境中的设置:
K8S 群集管理网络 (10.10.0. 0/24)—此网络用于 K8S管理平台, 提供一系列服务如监控群集运行状态以及部署 NSX-T容器插件 (NCP) 服务等等。
负载均衡网络 (10.20.0. 0/24)—该网络资源用于提供在K8S中部署应用时对应的容器负载均衡服务所需要的IP地址资源 。
K8S服务网络IP块(172.16.0. 0/16)—在K8S中,当应用程序需要部署在一个隔离的Namespce资源池时就会调用这部分的IP资源块,.24网络也是来自这个 IP资源块, 并被分配到一个特定的 K8S Namespace, 为容器环境提供精细化管理的微分段策略,保障多租户模式下的网络安全隔离管理,这是 VMware PKS 所提供的独一无二的功能, 到目前为止还没有其它类似的解决方案。
3.如下是由我所规划的VMware PKS部署逻辑图:
最后,请继续关注我们后续PART 2部分的内容, 我们即将开始配置一个 PKS "客户端" VM, 包括使用一些用于管理和调度K8S 群集的 CLI 工具, 并开始在这样的基础上部署应用程序。
本文原文链接如下:https://www.virtuallyghetto.com/2018/03/getting-started-with-vmware-pivotal-container-service-pks-part-1-overview.html#more-160288