第6部分:使用Kubernetes部署vSphere-设置和管理Tanzu Kubernetes集群

vSphere 7 plus kubernetes 实战部署系列

目录:

  1. 第1部分:使用Kubernetes部署vSphere-需求准备

  2. 第2部分:使用Kubernetes部署vSphere-配置vCenter Server

  3. 第3部分:使用Kubernetes部署vSphere-部署和配置NSX-T

  4. 第4部分:使用Kubernetes部署vSphere-部署Kubernetes和vSphere

  5. 第5部分:通过Kubernetes部署vSphere-将vSphere与Kubernetes结合使用

  6. 第6部分:使用Kubernetes部署vSphere-设置和管理Tanzu Kubernetes集群

软件下载

VMware vSphere 7 vCenter 7 ESXi 7 Free Download With Test Key

好文推荐尽在LLYCLOUD VCTSC

image-20200419122544154

带有Kubernetes的vSphere 7终于面世了,它的推出让我感到无比兴奋。本博客系列将涵盖要求,条件和部署步骤,以便使用vSphere 7和NSX-T 3.0在Kubernetes(vk8s)环境中部署vSphere。

在整个博客中,我将使用术语vk8s,这只是我对产品的昵称,因为它更容易输入完整的产品名称。

现在我们已经部署了环境,我们该如何处理?该博客将介绍如何部署和使用Tanzu Kubernetes集群(TKC)。可以按照 官方文档进行操作

Kubernetes集群的配置支持

在我们之前的博客中,我们介绍了TKC内容库的设置,让我们验证名称空间是否可以看到图像。

对您的vk8s集群进行身份验证

kubectl vsphere login --server 10.21.234.65 --vsphere-username [email protected] --insecure-skip-tls-verify

img

登录后,将显示您有权访问的上下文(也称为名称空间)。让我们切换到我们的命名空间。

kubectl config use-context vk8s-ns-01

执行以下步骤查看可用的图像。

kubectl get virtualmachineimages

img

执行以下步骤以查看可以部署的TKC节点大小。

kubectl get virtualmachineimages

img

从上面收集的信息中,我们现在可以构建一个YAML文件来部署我们的Tanzu Kubernetes集群。GitHub上有一个 示例

您需要修改的唯一项目是TKC 的名称命名空间

apiVersion: run.tanzu.vmware.com/v1alpha1 #tkg api endpoint
kind: TanzuKubernetesCluster #required parameter
metadata:
name: vk8s-tkc-01 #cluster name, user defined
namespace: vk8s-ns-01 #supervisor namespace
spec:
distribution:
version: v1.16 #resolved kubernetes version
topology:
controlPlane:
count: 1 #number of master nodes
class: guaranteed-small #vmclass for master nodes
storageClass: vk8s-storage #storageclass for master nodes
workers:
count: 3 #number of worker nodes
class: guaranteed-small #vmclass for worker nodes
storageClass: vk8s-storage #storageclass for worker nodes

您也可以根据需要在单个YAML中部署多个TKC ,有关 示例,请参见GitHub。

现在,我们准备部署您的TKC!

kubectl apply -f create-tkc-cluster.yaml

img

为了监视TKC部署的状态,我建议关注这些事件。

kubectl get events -w

img

要通过我们的TKC进行身份验证,请执行以下命令。

kubectl vsphere login --server 10.21.234.65 --vsphere-username [email protected] --insecure-skip-tls-verify --tanzu-kubernetes-cluster-name tkc-01 --tanzu-kubernetes-cluster-namespace vk8s-ns-01

要验证其准备就绪,您可以运行

kubectl get nodes

img

管理子公司Kubernetes集群

要通过我们的TKC进行身份验证,请执行以下命令。

kubectl vsphere login --server 10.21.234.65 --vsphere-username [email protected] --insecure-skip-tls-verify --tanzu-kubernetes-cluster-name tkc-01 --tanzu-kubernetes-cluster-namespace vk8s-ns-01

img

上下文更改为您的TKC。

kubectl config use-context tkc-01

img

部署您的工作量!我最喜欢的非本地pod演示应用程序是 Hipster Shop

kubectl apply -f demo-hipstershop.yaml

img

等待所有Pod处于运行状态,然后找出外部IP,看看是否可以访问您的应用程序。

img

如果您的Pod无法运行,则可能需要使用此YAML修改集群RBAC和Pod安全策略 。

kubectl apply -f allow-runasnonroot-clusterrole.yaml

如果一切成功,我们可以看到正在运行的应用程序!

img

总结

运行TKC可让您配置Kubernetes集群,因为它们符合k8s,因此可以运行任何工作负载!希望您到目前为止都喜欢这个系列。您接下来想看什么?