Você pode personalizar o Tanzu Kubernetes Grid Service com configurações globais para os principais recursos, incluindo a interface de rede do contêiner (CNI), o servidor proxy e os certificados TLS. Esteja ciente das compensações e considerações ao implementar a funcionalidade global versus por cluster.

Opcionalmente, você pode configurar o Tanzu Kubernetes Grid Service com parâmetros globais.

Cuidado: Configurar o Tanzu Kubernetes Grid Service é uma operação global. Isso significa que qualquer alteração feita na especificação de TkgServiceConfiguration se aplica a todos os clusters Tanzu Kubernetes provisionados por esse serviço. Se uma atualização contínua for iniciada, manualmente ou por upgrade, os clusters serão atualizados pela especificação de serviço alterada.

Especificação do TkgServiceConfiguration

A especificação TkgServiceConfiguration fornece campos para configurar a instância do Tanzu Kubernetes Grid Service.
apiVersion: run.tanzu.vmware.com/v1alpha1
kind: TkgServiceConfiguration
metadata:
  name: tkg-service-configuration-example
spec:
  defaultCNI: <antrea or calico>
  proxy:
    httpProxy: http://<user>:<pwd>@<ip>:<port>
    httpsProxy: http://<user>:<pwd>@<ip>:<port>
    noProxy: [<array of CIDRs to not proxy>]
  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>

Parâmetros de especificação de TkgServiceConfiguration

A tabela lista e descreve cada um dos parâmetros de especificação de TkgServiceConfiguration. Para conhecer exemplos, consulte Exemplos de configuração da API do Tanzu Kubernetes Grid Service v1alpha1.
Campo Valor Descrição
defaultCNI antrea or calico CNI padrão para clusters usarem. O padrão é antrea. O outro CNI com suporte é calico.
proxy Marcador de seção para proxy parâmetros. Os parâmetros proxy são httpProxy, httpsProxy e noProxy. Todos os parâmetros são necessários. Se qualquer parâmetro proxy estiver ausente, não será possível criar clusters Tanzu Kubernetes.
httpProxy URI no formato http://<user>:<pwd>@<ip>:<port> Não permite o protocolo https. Se https for usado, você não poderá criar clusters Tanzu Kubernetes.
httpsProxy URI no formato http://<user>:<pwd>@<ip>:<port> Não permite o protocolo https. Se https for usado, você não poderá criar clusters Tanzu Kubernetes.
noProxy

Matriz de blocos CIDR para não proxy, por exemplo: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20].

Obtenha os valores necessários da Rede de Carga de Trabalho no Cluster de Supervisor: Pod CIDRs, Ingress CIDRs e Egress CIDRs.

Consulte a imagem abaixo para saber quais valores incluir no campo de matriz noProxy.

Você não deve usar como proxy as sub-redes usadas pela Rede de Carga de Trabalho no Cluster de Supervisor para Pods, Entrada e Saída.

Você não precisa incluir o CIDR de Serviços do Cluster de Supervisor no campo noProxy. Os clusters do Tanzu Kubernetes não interagem com esses serviços.

Os endpoints localhost e 127.0.0.1 não têm proxy automaticamente. Você não precisa adicioná-los ao campo noProxy.

Os CIDRs de Pod e de Serviço para clusters Tanzu Kubernetes não são automaticamente colocados em proxy. Você não precisa adicioná-los ao campo noProxy.

trust Marcador de seção para trust parâmetros. Não aceita dados.
additionalTrustedCAs Aceita uma matriz de certificados com name e data para cada um. Não aceita dados.
name Cadeia de caracteres O nome do certificado TLS.
data Cadeia de caracteres A cadeia de caracteres codificada em base64 de um certificado público codificado por PEM.

Obtenha os valores de noProxy necessários da Workload Network no Supervisor Cluster, conforme mostrado na imagem.

Quando usar opções de configuração global ou por cluster

O TkgServiceConfiguration é uma especificação global que afeta todos os clusters Tanzu Kubernetes provisionados pela instância do Tanzu Kubernetes Grid Service.

Antes de editar a especificação do TkgServiceConfiguration, esteja ciente das alternativas por cluster que podem satisfazer seu caso de uso em vez de uma configuração global.
Tabela 1. Opções de configuração global versus por cluster
Configuração Opção global Opção por cluster
CNI padrão Edite a especificação de TkgServiceConfiguration. Consulte o Exemplos de configuração da API do Tanzu Kubernetes Grid Service v1alpha1. Especifique o CNI na especificação do cluster. Por exemplo, Antrea é o CNI padrão. Para usar Calico, especifique-o no cluster YAML. Consulte Exemplos para provisionamento de clusters Tanzu Kubernetes usando a API Tanzu Kubernetes Grid Service v1alpha1
Servidor proxy Edite a especificação de TkgServiceConfiguration. Consulte o Exemplos de configuração da API do Tanzu Kubernetes Grid Service v1alpha1. Inclua os parâmetros de configuração do servidor proxy na especificação do cluster. Consulte o Exemplos para provisionamento de clusters Tanzu Kubernetes usando a API Tanzu Kubernetes Grid Service v1alpha1.
Certificados de confiança Edite a especificação de TkgServiceConfiguration. Há dois casos de uso: a configuração de um registro de contêiner externo e a configuração de proxy com base em certificado. Consulte Exemplos de configuração da API do Tanzu Kubernetes Grid Service v1alpha1 Sim, você pode incluir certificados personalizados por cluster ou substituir as configurações de trust definidas globalmente na especificação do cluster. Consulte o Exemplos para provisionamento de clusters Tanzu Kubernetes usando a API Tanzu Kubernetes Grid Service v1alpha1.
Observação: Se um proxy global estiver configurado no TkgServiceConfiguration, essas informações de proxy serão propagadas para o manifesto do cluster após a implantação inicial do cluster. A configuração de proxy global será adicionada ao manifesto do cluster somente se não houver campos de configuração de proxy presentes ao criar o cluster. Em outras palavras, a configuração por cluster tem precedência e substituirá uma configuração de proxy global. Para obter mais informações, consulte Parâmetros de configuração para a API do Tanzu Kubernetes Grid Service v1alpha1.

Antes de editar a especificação do TkgServiceConfiguration, esteja ciente das ramificações da aplicação da configuração no nível global.

Campo Aplicado Impacto nos clusters existentes se adicionados / alterados Substituição por cluster na criação de cluster Substituição por cluster na atualização do cluster
defaultCNI Globalmente Nenhuma Sim, você pode substituir a configuração global na criação do cluster Não, você não pode alterar o CNI de um cluster existente; Se você tiver usado o CNI padrão definido globalmente na criação do cluster, ele não poderá ser alterado
proxy Globalmente Nenhuma Sim, você pode substituir a configuração global na criação do cluster Sim, com U2 +, você pode substituir a configuração global na atualização do cluster
trust Globalmente Nenhuma Sim, você pode substituir a configuração global na criação do cluster Sim, com U2 +, você pode substituir a configuração global na atualização do cluster

Propagando alterações de configuração global para clusters existentes

As configurações feitas no nível global no TkgServiceConfiguration não são propagadas automaticamente para os clusters existentes. Por exemplo, se você fizer alterações nas configurações de proxy ou trust no TkgServiceConfiguration, essas alterações não afetarão os clusters que já estão provisionados.

Para propagar uma alteração global para um cluster existente, você deve corrigir o cluster Tanzu Kubernetes para que o cluster herde as alterações feitas no TkgServiceConfiguration.

Por exemplo:
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"proxy\": null}}}}"
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"trust\": null}}}}"