安装kubectl

 

    vSphere7 withk8s必竟不是原生的Kubernetes环境,使用开源的kubernetes的命令行工具kubectl无法直接登陆到k8s环境,需要使用VMware改造过的命令行工具kubectl,选择k8s01命名空间,在右则的摘要选项卡里的“链接到CLI工具”,选择“打开”,如下图所示

vsphere kvm支持 vsphere with kubernetes_vsphere kvm支持

 

浏览器会跳转到KubernetesCLI Tools使用向导页面,有下载kubectl工具链接,还有介绍如何使用该工具。在“SelectOperating System”选择对应的操作系统,有MACOS、Linux和Windows,根据需要选择对应的操作系统,本测试环境选择Linux操作系统,并且该Linux操作系统没有提前安装Kubectl命令行工具

vsphere kvm支持 vsphere with kubernetes_命令行工具_02

 

右击“DownloadCLI Plugin Linux”选择“复制链接地址”,如果直接下载到本地,就不需要右击复制链接地址,直接点击下载该命令行工具即可。

vsphere kvm支持 vsphere with kubernetes_命名空间_03

 

然后切换至Linux操作界面,使用wget命令下载刚才复制的链接地址

vsphere kvm支持 vsphere with kubernetes_命名空间_04

 

完成下载后,使用unzip解压vsphere-plugin.zip压缩包文件,解压后的文件夹包含kubectl-vsphere和kuberctl二个bin文件,使用chmod分配可执行权限,再把二个bin文件移动到/usr/local/bin/目录下,然后linux控制台就可以输入kubectl命令了。操作步骤如下图所示

vsphere kvm支持 vsphere with kubernetes_vsphere kvm支持_05

 

在linux终端直接输入kubectl命令,能显示帮助信息,就表示kubectl命令工具安装成功,就可以使用kubectl登陆vSphere7 with K8s环境,并创建相应的业务Pod

vsphere kvm支持 vsphere with kubernetes_vsphere kvm支持_06

 

初次登录vSphere 7 with K8s

 

    纯开源的kubectl命令工具是使用用户目录home下的./kube的隐藏文件下的config文件信息直接登录k8s环境,而vSphere7 with k8s环境的登录方式稍微有点不同,不需要提前在.kube目录下创建config文件,直接使用kubectl登录vSphere7 with K8s环境,

 

登录命令如下:

kubectlvsphere login --server k8s的IP地址 --vsphere-username 命名空间分配的用户 --insecure-skip-tls-verify

k8s的IP地址即为刚才下载kubectl命令行工具的网页IP地址,命名空间分配的用户为上一篇文章所写的为命令空间分配用户,具体操作步骤可以参考:vSphere 7 With Kubernetes系列05:创建命名空间。

 

登录效果如下图所示,登录成功后,会例出该用户拥有的命名空间,如k8s01,然后使用kubectlconfig use-context k8s01切换至k8s01命名空间,使用kubectl get nodes,可以例出k8s环境的node节点状态,如下图所示

vsphere kvm支持 vsphere with kubernetes_vsphere kvm支持_07

 

kubectl config get-contexts例出该用户所能访问的命名空间,使用kubectl config user-context可在不同的命名空间来回切换

vsphere kvm支持 vsphere with kubernetes_IP_08

 

    以上就是使用kubectl命令行工具登录vSphere7 withk8s的所有操作内容,和传统的kubectl命令行工具唯一的区别,就是登录的方式不同,其它使用方式基本完全相同,因此不会改变开发运维人员的使用习惯。

 

    因此基础架构人员只要创建命名空间,并分配相应的资源和用户,然后告诉开发运维人员对应的K8s的登录IP地址、用户名和密码。开发运维人员就可以使用kubectl命令行工具登录k8s环境,然后创建相应的业务Pod。借助vSphere7 with K8s,可以实现K8s环境的运维和使用完全分离!提高运维和开发的效率!