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.
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
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
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: Obtenha os valores necessários da Rede de Carga de Trabalho no Cluster de Supervisor: Consulte a imagem abaixo para saber quais valores incluir no campo de matriz |
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 Os endpoints 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 |
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.
TkgServiceConfiguration
, esteja ciente das alternativas por cluster que podem satisfazer seu caso de uso em vez de uma configuração global.
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. |
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
.
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}}}}"