就喜欢用vSphere部署K8s集群,不全是因为自动化!

通过努力,我们有了一个完整配置的工作负载域,其中包括一个NSX-T Edge部署。现在,我们准备继续使用Kubernetes 部署vSphere。通过VMware Cloud Foundation 4.0中的SDDC Manager,我们确保NSX-T Edge可用,并且还确保Workload Domain获得了足够的许可以启用带有Kubernetes的vSphere。

为清楚起见,本文基于GA Cloud的VMware Cloud Foundation 4.0之前版本。尽管人们认为在撰写本文至产品上市之间应该没有太大变化,但我希望读者意识到在此之前功能行为和用户界面仍可能会发生变化。

验证工作负载域

该过程的第一步是验证工作负载域是否可以通过Kubernetes支持vSphere。SDDC管理器现在有一个名为“解决方案”的新部分。当前,有一个名为Kubernetes的解决方案–工作负载管理。首先,显然没有创建工作负载管理解决方案:

单击部署链接以开始。显示的第一个窗口是先决条件–您需要正确的许可证版本,带有NSX-T Edge群集和各个子网的已配置的基于NSX-T的工作负载域,其中两个必须进行路由(对于Ingress和Egress)。

选择以上所有条件后,我们就可以开始工作负载管理部署了。在“群集”部分中,选择工作负载域。如果存在兼容性问题,群集将不会显示在“兼容”部分中。相反,它将显示在不兼容部分中。不兼容视图还将显示群集不兼容的原因。在下面的屏幕截图中,我的WLD没有得到适当的许可,因此与带有Kubernetes的vSphere不兼容。

解决不兼容的原因后(例如,将正确的许可证版本应用于VI WLD),WLD将出现在“兼容”部分,您可以继续进行验证步骤。

现在,我们将进行全面验证,以确保凭据,资源和网络都存在,并且可用于使用Kubernetes推出vSphere。

验证了使用Kubernetes的vSphere的要求后,我们可以连接到vSphere环境以完成使用Kubernetes的vSphere设置。单击在vSphere中完成按钮:

vSphere与Kubernetes部署

单击“在vSphere中完成”按钮后,将启动vSphere Client,然后我们将其置于启用工作负载管理的起点。总共有5个步骤。第一步是选择一个vSphere群集,因为同一VI Workload Domain中可能存在多个群集。在此示例中,只有一个,因此我们选择它。

选择集群后,下一步是在“集群设置”中选择控制平面的大小。换句话说,将哪些资源分配到Supervisor Kubernetes Cluster Master虚拟机。

Project Pacific是带有Kubernetes的vSphere的原始名称。

出于可用性目的,提供了3个主服务器,称为“主管控制平面VM”。对于带有Kubernetes的vSphere,工作节点是集群中的ESXi主机。

下一步是提供控制平面主节点和工作负载网络的各种IP范围(例如Pod和Services)的网络详细信息。Pod和Service CIDR不需要是可路由的,但Ingress和Egress当然可以。在先决条件中,它声明入口和出口都至少需要/ 27 CIDR。这是32个IP地址的连续范围。请注意,在我的实验室测试中,我能够使用带有/ 28(仅16个IP地址)的Kubernetes部署vSphere。在部署时,立即创建了12条SNAT规则,因此/ 28仅可用于最基本的部署。每个新名称空间也将需要一个SNAT,因此最多只能有2个名称空间。要在带有Kubernetes的vSphere上做一些有用的事情,您肯定需要/ 27 CIDR,至少对于出口而言。

下一步是为带有Kubernetes的vSphere选择所需的各种磁盘的存储策略。基本上,您在此步骤中要做的是为控制平面节点磁盘,临时(临时)磁盘和图像缓存选择存储策略。

单击“选择存储”时,将显示可用存储策略列表。只需选择您要用于特定存储类型的存储。

最后,检查选择并完成。这将开始使用Kubernetes部署vSphere。

可以从vSphere Client监视进度,尤其是“最近”任务。

现在有很多动作在发生。其中一些任务包括但不限于:

     部署3个主VM / Supervisor控制平面VM
     在NSX-T中为整个K8s服务阵列创建一组SNAT规则(出口)
     在NSX-T中为K8s控制平面创建负载均衡器(入口)
     在ESXi主机上安装Spherelet,以便它们充当Kubernetes辅助节点

从NSX-T中,我们可以看到12个SNAT规则:

如前所述,一旦您开始构建名称空间,就会创建一个新的SNAT规则。因此,在部署时正确设置Egress CIDR非常重要,否则您很快就会用完地址。

我提到过,还创建了一个负载均衡器–用于多主控平面API服务器。我们可以连接到LB虚拟IP地址,而不是连接到单个主机。这意味着,如果任何控制平面虚拟机存在问题,将不会引起注意。与API服务器的连接将直接重定向到后端的其他控制平面主机。这是在我的环境中用于控制平面的入口/负载平衡器IP地址:

您可以从vCenter Server上名为wcpsvc.log的日志文件中监视所有带有Kubernetes的vSphere部署活动。我通常让tail命令运行以查看详细活动:

root@vcsa-04 [ ~ ]# cd /var/log/vmware/wcproot@vcsa-04 [ /var/log/vmware/wcp ]# ls -l
total 18532
-rw------- 1 root root   23102 Mar 20 09:00 gcm-telemetry
-rw-r--r-- 1 root root 9445965 Mar 20 09:02 nsxd.log
-rw------- 1 root root     111 Mar 19 11:05 stdstream.log-0.stderr
-rw------- 1 root root      42 Mar 19 11:05 stdstream.log-0.stdout
-rw------- 1 root root    1865 Mar 19 04:06 stdstream.log-1.stderr
-rw------- 1 root root      42 Mar 18 16:06 stdstream.log-1.stdout
-rw------- 1 root root    3719 Mar 20 08:25 stdstream.log.stderr
-rw------- 1 root root      42 Mar 19 12:20 stdstream.log.stdout
-rw-r--r-- 1 root root  778392 Mar 19 12:09 wcpsvc-2020-03-19T12-09-03.220.log.gz
-rw-r--r-- 1 root root 8687263 Mar 20 09:03 wcpsvc.logroot@vcsa-04 [ /var/log/vmware/wcp ]# tail -f wcpsvc.log

如果一切都按计划进行,则应该在vSphere Client和SDDC Manager>解决方案>工作负载管理中都看到部署完成:

在vSphere客户端中,如果我们导航到vSphere UI中的``工作负载管理>命名空间'',则会看到一条消息,指出工作负载管理已成功部署,并且现在可以通过在Supervisor群集上创建命名空间和其他Kubernetes对象来开始工作了。这些可以是您的典型Kubernetes对象(例如Pod,Deployments,StatefulSets),也可以是其他事物,例如Tanzu Kubernetes Grid(TKG)Guest Kubernetes集群的完整部署。

 希望这篇文章显示了VMware Cloud Foundation 4.0中如何实现自动化配置、验证和部署基础架构,这些基础架构有助于使用Kubernetes轻松部署vSphere。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟算法训练

知识点: C stringstream输入方式C关于getline()和getchar()的小点Csubstr()用法toupper小写变大写 tolower大写变小写有些题目记得开longlong 6.蛇型方向向量写法: int dx[] {0,1,0,-1},dy[] {1,0,-1,0}; int d 0; d (d1)%4;题目: 蓝桥杯2016初赛-有奖猜谜-模拟 蓝桥杯…

同源策略_如何支持跨域

欢迎大家阅读《朝夕Net社区技术专刊》我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦!01PARTCoreWebApi的调用1.在Core MVC下建立…

php常用linux命令httpd,Linux常用的100个命令

列举一下在使用linux系统时经常使用的几个命令并做简要说明。1、export //查看所有环境变量2、wc -l //统计行数、wc -w 统计单词3、lsattr file //查看文件属性4、cat /etc/passwd |awk -F: ‘{print $1} //查看系统中所有用户5、cat /etc/group //查看系统中所有的组6、echo …

二分算法训练

知识点: 整数二分 题目: 蓝桥杯2017初赛-分巧克力-二分

企业数字化转型解决方案

2020年国务院常务会议明确指出,依托工业互联网促进传统产业加快上线上云。此前,工信部也在全国工业和信息化工作会议上表示,2020年要实施“5G工业互联网”512工程。和5G、人工智能等同列的“新基建”,工业互联网成为数字时代的基础…

网站 asp和php的用途,asp和php都有什么功能?

ASP是什么?有什么功能?ASP.NET是微软开发,建立动态的,强大的,智能的、可扩展的网站和网际网络应用的全功能的程序语言如C或VB.NET #。它包括一个强大的安全评估的亮点,以及一个组织的小工具,可以…

ASP.NET Core 3.x - Endpoint Routing 路由体系的内部机制

Endpoint是什么?Endpoint简单的可以理解为这样的一些类,它们包含一个请求的委托(Request Delegate)和其它的一些元数据,使用这些东西,Endpoint类可以生成一个响应。而在MVC的上下文中,这个请求委…

前缀和,差分算法训练

知识点: 一维前缀和二维前缀和一维差分二维差分 题目: 蓝桥杯2017初赛-k倍区间-前缀和[蓝桥杯2018初赛]递增三元组-双指针,枚举,排序,前缀和

java获取主机信息大全,网络编程:Java获取网络主机信息

java.net.InetAddress类表示互联网协议 (IP) 地址。有两个子类:Inet4Address, Inet6Address通过 InetAddress可以方便获取一个域名下的IP,也可以获取一个IP的主机名。下面是例子,通过程序查看51cto主机的IP信息,51cto是…

【项目升级】单库、多库、读写分离 · 任你选

本期配套视频:https://www.bilibili.com/video/BV1BJ411B7mn?p6(点击阅读原文,可看,如果没有,最晚下午可看)继上周增加【任务调度】以后,继续对项目进行2.0版本升级,其实改动的地方…

数论算法训练

知识点: 如果a,b均是正整数且互质,那么由axby,x>0,y>0,那么由这两个数不能组成的最大的数是:a*b-a-b 我们可以发现,模9的时候有这样一个规律: 对X模Y,其实等于X每一位的数的和SUM模Y。 记住,这个方法只能模9的时…

基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的没汁与仿真应用...

基于MATLAB的数字下变频器的没汁与仿真应用范文晶;王海;周渭;钱时祥;江炜宁【期刊名称】《电子质量》【年(卷),期】2009(000)003【摘要】文中应用软件无线电思想对数字下变频器中的几个关键技术进行了研究,对下变频各个模块所涉及到的CIC、HB、FIR等关键算法进行了讨论、提炼与…

.Net微服务实战之技术选型篇

王者荣耀 去年我有幸被老领导邀请以系统架构师的岗位带技术团队,并对公司项目以微服务进行了实施。无论是技术团队还是技术架构都是由我亲自的从0到1的选型与招聘成型的,此过程让我受益良多,因此也希望在接下来的系列博文尽可能的与大家分享…

数据结构巩固训练

[蓝桥杯2019初赛]完全二叉树的权值-完全二叉树的性质 [蓝桥杯2015初赛]生命之树-求树的最大子树权值和 [蓝桥杯][2013年第四届真题]危险系数-dfs图的遍历 [蓝桥杯][历届试题]网络寻路-dfs,图的遍历 洛谷 P1294 高手去散步-邻接矩阵dfs-求无向图的一条最长路径 …

autohotkey php,Autohotkey+php实现免浏览器听录音

环境说明:Elastix 2.5ln -s /var/spool/asterisk/monitor /var/www/html/接口文件(php):$conmysql_connect("localhost","root","passwd");if(!$con) echo "没有连接成功!";mysql_select_db("asteriskcdrd…

.NET Core开发实战(第32课:集成事件:解决跨微服务的最终一致性)--学习笔记...

32 | 集成事件:解决跨微服务的最终一致性首先看一下集成事件的工作原理它的目的时为了实现系统的集成,它主要是用于系统里面多个微服务之间相互传递事件集成事件的实现方式有两种,一种是图上显示的发布订阅的方式,通过 EventBus&a…

[观察,找规律]算法题目训练

[蓝桥杯2019初赛]旋转-找规律蓝桥杯2017初赛-打印大X-找规律[蓝桥杯2018初赛]分数-找规律[蓝桥杯2019初赛]矩形切割-找规律[蓝桥杯2018初赛]方格计数-巧妙枚举,找规,数论[蓝桥杯2016初赛]煤球数目-找规律

mysql多实例复制,Mysql实例使用Rotate Master实现MySQL 多主复制的实现方法

搜索热词《MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法》要点:本文介绍了MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法,希望对您有用。如果有疑问,可以联系我们。当然,5.6的GUID功能的出现也带来了multi-master的无…

Dapper操作MySQL数据库获取JSON数据中文乱码

在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正。为了引出最终问题出在什么地方,我们重头开始进行…

C++set容器去重法

给出一个10位数&#xff0c;它如果每个位的数都把0-9这10个数都只用了一次&#xff0c;就输出yes&#xff0c;否则输出no #include <iostream> #include <set> using namespace std; set<int>s; typedef long long LL;int main() {LL n;while (cin >>…