Consulte os exemplos para personalizar a API do Tanzu Kubernetes Grid Service v1alpha2 com definições de configuração globais para a interface de rede do contêiner, o servidor proxy e os certificados TLS.
Configurando o Tanzu Kubernetes Grid Service usando a API v1alpha2
apiVersion: run.tanzu.vmware.com/v1alpha2 kind: TkgServiceConfiguration metadata: name: tkg-service-v2-configuration-example spec: defaultCNI: antrea proxy: #supported format is `http://<user>:<pwd>@<ip>:<port>` httpProxy: http://admin:[email protected]:80 httpsProxy: http://admin:[email protected]:80 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] trust: additionalTrustedCAs: - name: CompanyInternalCA-1 data: LS0tLS1C...LS0tCg== #where "..." is the middle section of the long base64 string - name: CompanyInternalCA-2 data: MTLtMT1C...MT0tPg== defaultNodeDrainTimeout: 0
Pré-requisito: Configurar a edição do Kubectl
Para dimensionar um cluster do Tanzu Kubernetes, você atualiza o manifesto do cluster usando o comando kubectl edit tanzukubernetescluster/CLUSTER-NAME
. O comando kubectl edit abre o manifesto do cluster no editor de texto definido pela variável de ambiente KUBE_EDITOR ou EDITOR. Para obter instruções sobre como configurar a variável de ambiente, consulte Especificar um editor de texto padrão para o Kubectl.
Quando você salva as alterações de especificação, o kubectl
relata que as edições foram registradas com êxito. Para cancelar, basta fechar o editor sem salvar.
Configurar o CNI padrão
O Tanzu Kubernetes Grid Service fornece uma interface de rede de contêiner (CNI) padrão para clusters Tanzu Kubernetes. A configuração padrão permite criar clusters sem a necessidade de especificar o CNI. Você pode alterar o CNI padrão editando a especificação do serviço.
O Tanzu Kubernetes Grid Service oferece suporte a dois CNIs: Antrea e Calico, com Antrea sendo o padrão. Para obter mais informações, consulte Tanzu Kubernetes Rede de Cluster.
- Autentique-se com o Supervisor Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Alterne o contexto para o vSphere Namespace de destino.
kubectl config use-context tkgs-cluster-ns
- Liste o CNI padrão.
kubectl get tkgserviceconfigurations
Resultado de exemplo:NAME DEFAULT CNI tkg-service-configuration antrea
- Carregue para editar a especificação de Tanzu Kubernetes Grid Service.
kubectl edit tkgserviceconfigurations tkg-service-configuration
O sistema abre a especificação
tkg-service-configuration
no editor de texto padrão definido pela variável de ambiente KUBE_EDITOR ou EDITOR. - Edite o valor de
spec.defaultCNI
.Por exemplo, altere de:spec: defaultCNI: antrea
Alterar para:spec: defaultCNI: calico
- Para aplicar as alterações, salve o arquivo no editor de texto. Para cancelar, feche o editor sem salvar.
Quando você salva a alteração no editor de texto, o kubectl atualiza a especificação de serviço do
tkg-service-configuration
. - Verifique se o CNI padrão está atualizado.
kubectl get tkgserviceconfigurations
O CNI padrão é atualizado. Qualquer cluster provisionado com configurações de rede padrão usa o CNI padrão.NAME DEFAULT CNI tkg-service-configuration calico
Configurar um servidor proxy global
TkgServiceConfiguration
. Para obter uma descrição dos campos obrigatórios, consulte
Parâmetros de configuração para a API do Tanzu Kubernetes Grid Service v1alpha1.
- Autentique-se com o Supervisor Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Alterne o contexto para o vSphere Namespace de destino.
kubectl config use-context tkgs-cluster-ns
- Obtenha a configuração atual.
kubectl get tkgserviceconfigurations
Resultado de exemplo:NAME DEFAULT CNI tkg-service-configuration antrea
- Carregue para editar a especificação de Tanzu Kubernetes Grid Service.
kubectl edit tkgserviceconfigurations tkg-service-configuration
O sistema abre a especificação
tkg-service-configuration
no editor de texto padrão definido pela variável de ambiente KUBE_EDITOR ou EDITOR. - Adicione a subseção
spec.proxy
com cada campo obrigatório, incluindohttpProxy
,httpsProxy
enoProxy
.apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> httpsProxy: http://<user>:<pwd>@<ip>:<port> noProxy: [SVC-POD-CIDRs, SVC-EGRESS-CIDRs, SVC-INGRESS-CIDRs]
- Preencha cada campo de proxy com os valores apropriados. Para obter uma descrição de cada campo, consulte Parâmetros de configuração para a API do Tanzu Kubernetes Grid Service v1alpha1.
Os valores necessários para o campo
noProxy
vêm da Workload Network no Supervisor Cluster. Consulte a imagem no tópico acima sobre onde obter esses valores.Por exemplo:apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20]
- Para aplicar as alterações, salve o arquivo no editor de texto. Para cancelar, feche o editor sem salvar.
Quando você salva as alterações no editor de texto, o kubectl atualiza Tanzu Kubernetes Grid Service com a configuração definida na especificação de serviço do
tkg-service-configuration
. - Verifique se o Tanzu Kubernetes Grid Service está atualizado com as configurações de proxy.
kubectl get tkgserviceconfigurations -o yaml
- Para verificar, provisione um cluster do Tanzu Kubernetes. Consulte o Fluxo de trabalho para clusters de Tanzu Kubernetes provisionamento.
Use o seguinte comando para confirmar que o cluster está usando o proxy.
kubectl get tkc CLUSTER-NAME -n NAMESPACE -o yaml
Configuração de proxy baseada em certificado
Usar um servidor proxy para rotear o tráfego da Internet é um requisito rígido para alguns ambientes. Por exemplo, uma empresa em um setor altamente regulamentado, como uma instituição financeira, exige que todo o tráfego da Internet passe por um proxy corporativo.
Você pode configurar o Tanzu Kubernetes Grid Service para provisionar Tanzu Kubernetes clusters para usar um servidor proxy para o tráfego HTTP / S de saída. Para obter mais informações, consulte Parâmetros de configuração para a API do Tanzu Kubernetes Grid Service v1alpha1.
TkgServiceConfiguration
.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] trust: additionalTrustedCAs: - name: first-cert-name data: base64-encoded string of a PEM encoded public cert 1 - name: second-cert-name data: base64-encoded string of a PEM encoded public cert 2 defaultNodeDrainTimeout: 0
Configuração de registro privado externo
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea trust: additionalTrustedCAs: - name: harbor-vm-cert data: <<<base64-encoded string of a PEM encoded public cert>>>>