Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

SUSE Rancher Prime Opções do Helm Chart

Esta página é uma referência de configuração para o Rancher Helm chart.

Para informações sobre como habilitar recursos experimentais, consulte Habilitando Recursos Experimentais.

Opções comuns

Opção Valor Padrão Descrição

bootstrapPassword

" "

string - Defina a senha bootstrap para o primeiro usuário administrador. Após fazer login, o administrador deve redefinir sua senha. Uma senha bootstrap gerada aleatoriamente é usada se este valor não estiver definido.

hostname

" "

string - o Nome de Domínio Completo e Qualificado para o seu Servidor Rancher

ingress.tls.source

"rancher"

string - Onde obter o certificado para o ingress. - "rancher, letsEncrypt, secret"

letsEncrypt.email

" "

string - Seu endereço de e-mail

letsEncrypt.environment

"produção"

string - Opções válidas: "staging, produção"

privateCA

falso

bool - Defina como verdadeiro se seu certificado for assinado por uma CA privada

Opções Avançadas

Opção Valor Padrão Descrição

additionalTrustedCAs

falso

bool - Veja CAs Adicionais Confiáveis

addLocal

"true"

string - Faça o Rancher detectar e importar o cluster do servidor Rancher "local" (upstream). Observação: Esta opção não está mais disponível na v2.5.0. Considere usar a opção restrictedAdmin para impedir que os usuários modifiquem o cluster local.

agentTLSMode

""

string - ou system-store ou strict. Veja Aplicação de TLS do Agente

antiAffinity

"preferred"

string - Regra de AntiAffinity para pods do Rancher - "preferred, required"

auditLog.destination

"sidecar"

string - Transmitir para o console do contêiner sidecar ou volume hostPath - "sidecar, hostPath"

auditLog.hostPath

"/var/log/rancher/audit"

string - destino do arquivo de registro no host (aplica-se apenas quando auditLog.destination está definido como hostPath)

auditLog.enabled

falso

bool - Habilita / desabilita o registro de auditoria.

auditLog.level

0

int - defina o nível de Registro de Auditoria da API. [0-3]

auditLog.maxAge

1

int - número máximo de dias para reter arquivos de registro de auditoria antigos (aplica-se apenas quando auditLog.destination está definido como hostPath)

auditLog.maxBackup

1

int - número máximo de arquivos de registro de auditoria a serem retidos (aplica-se apenas quando auditLog.destination está definido como hostPath)

auditLog.maxSize

100

int - tamanho máximo em megabytes do arquivo de registro de auditoria antes de ser rotacionado (aplica-se apenas quando auditLog.destination está definido como hostPath)

auditLog.image.repository

"registry.suse.com/bci/bci-micro"

string - Localização da imagem usada para coletar arquivos de registro de auditoria.

auditLog.image.tag

"15.4.14.3"

string - Tag para a imagem usada para coletar arquivos de registro de auditoria.

auditLog.image.pullPolicy

"IfNotPresent"

string - Substitui a política de pull da imagem para imagens de arquivo de registro de auditoria - "Always", "Never", "IfNotPresent".

busyboxImage

""

string - Localização da imagem busybox usada para coletar registros de auditoria. Observação: Esta opção está descontinuada; use auditLog.image.repository para controlar a imagem do sidecar de auditoria.

certmanager.version

""

string - defina a compatibilidade com o cert-manager

debug

falso

bool - defina a flag de depuração no servidor Rancher

extraEnv

[]

list - defina variáveis de ambiente adicionais para o Rancher

imagePullSecrets

[]

list - lista de nomes do recurso Secret contendo credenciais de registro privado

ingress.configurationSnippet

""

string - configuração adicional do Nginx. Pode ser usado para configuração de proxy.

ingress.extraAnnotations

{}

map - anotações adicionais para personalizar o ingress.

ingress.enabled

true

string - Quando definido como falso, o Helm não instalará um ingress do Rancher. Defina a opção como falsa para implantar seu próprio ingress.

letsEncrypt.ingress.class

""

string - classe de ingress opcional para o ingress do cert-manager acmesolver que responde aos desafios ACME do Let’s Encrypt. Opções: traefik, nginx.

noProxy

"127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,cattle-system.svc"

string - lista de nomes de host ou endereços IP separados por vírgula que não devem usar o proxy

proxy

""

string - servidor proxy HTTP[S] para o Rancher

image.registry

""

string - Substituir o registro específico da imagem do Rancher, por exemplo, http://registry.example.com/

image.repository

"rancher/rancher"

string - fonte da imagem do Rancher

image.pullPolicy

"IfNotPresent"

string - Substituir a política de pull da imagem para imagens do servidor Rancher - "Always", "Never", "IfNotPresent"

image.tag

""

string - Padrão para .Chart.appVersion para a tag da imagem Rancher/Rancher

replicas

3

int - Número de réplicas do servidor Rancher. Definir como -1 escolherá dinamicamente 1, 2 ou 3 com base no número de nós disponíveis no cluster.

resources

{}

map - solicitações e limites de recursos do pod do Rancher

systemDefaultRegistry

""

string - registro privado a ser usado para todas as imagens de contêiner do sistema, por exemplo, https://registry.example.com/

tls

"ingress"

string - Veja Terminação TLS Externa para detalhes. - "ingress, external"

useBundledSystemChart

false

bool - selecione para usar os charts do sistema empacotados com o servidor Rancher. Esta opção é usada para instalações air-gapped.

Senha Bootstrap

Você pode definir uma senha bootstrap específica durante a instalação do Rancher. Se você não definir uma senha bootstrap específica, o Rancher gera aleatoriamente uma senha para a primeira conta de administrador.

Quando você fizer login pela primeira vez, use a senha bootstrap que você definiu para acessar. Se você não definiu uma senha bootstrap, a interface do Rancher mostra comandos que podem ser usados para recuperar a senha bootstrap. Execute esses comandos e faça login na conta. Após fazer login pela primeira vez, você será solicitado a redefinir a senha do administrador.

Registro de Auditoria da API

Você pode coletar este registro como faria com qualquer registro de contêiner. Ative o registro para o System Projeto no cluster do servidor Rancher.

--set auditLog.enabled=true --set auditLog.level=1

Por padrão, habilitar o Registro de Auditoria criará um contêiner sidecar no pod do Rancher. Este contêiner (rancher-audit-log) transmitirá o registro para stdout. Você pode coletar este registro como faria com qualquer registro de contêiner. Ao usar o sidecar como destino do registro de auditoria, as opções hostPath, maxAge, maxBackups e maxSize não se aplicam. É aconselhável usar os recursos de rotação de registro do seu sistema operacional ou do daemon do Docker para controlar o uso do espaço em disco. Ative o registro para o cluster do servidor Rancher ou Projeto do Sistema.

Defina o auditLog.destination como hostPath para encaminhar registros para um volume compartilhado com o sistema host em vez de transmitir para um contêiner sidecar. Ao definir o destino como hostPath, você pode querer ajustar os outros parâmetros de auditLog para rotação de registros.

Configurando Variáveis de Ambiente Extras

Você pode definir variáveis de ambiente extras para o servidor Rancher usando extraEnv. Esta lista é passada para a implantação do Rancher em seu formato YAML. Está embutido sob env para o contêiner Rancher. Consulte a documentação do Kubernetes para definir variáveis de ambiente do contêiner, extraEnv pode usar qualquer uma das chaves referenciadas em Definir Variáveis de Ambiente para um Contêiner.

Considere um exemplo que usa as chaves name e value:

--set 'extraEnv[0].name=CATTLE_TLS_MIN_VERSION'
--set 'extraEnv[0].value=1.0'

Se passar dados sensíveis como valor para uma variável de ambiente, como credenciais de autenticação de proxy, é altamente recomendável que uma referência a um segredo seja utilizada. Isso evitará que dados sensíveis sejam expostos no Helm ou na implantação do Rancher.

Considere um exemplo que usa as chaves name, valueFrom.secretKeyRef.name e valueFrom.secretKeyRef.key. Veja o exemplo em HTTP Proxy

Configurações de TLS

Quando você instala o Rancher dentro de um cluster Kubernetes, o TLS é descarregado no controlador de entrada do cluster. As possíveis configurações de TLS dependem do controlador de entrada utilizado.

Consulte TLS settings para mais informações e opções.

Importar local Cluster

Por padrão, o servidor Rancher detectará e importará o cluster local em que está sendo executado. O usuário com acesso ao cluster local terá essencialmente acesso "root" a todos os clusters gerenciados pelo servidor Rancher.

Se você desativar addLocal, a maioria dos recursos do Rancher v2.5 não funcionará, incluindo o provisionador EKS.

Se isso for uma preocupação em seu ambiente, você pode definir essa opção como "falso" na sua instalação inicial.

Essa opção é eficaz apenas na instalação inicial do Rancher. Consulte Issue 16522 para mais informações.

--set addLocal="false"

Personalizando seu Ingress

Para personalizar ou usar um ingress diferente com o servidor Rancher, você pode definir suas próprias anotações de Ingress.

Por favor, consulte a documentação do Traefik para a lista completa de anotações do Ingress NGINX que são suportadas e não suportadas pelo provedor kubernetesIngressNginx do Traefik.

Exemplo de configuração de um emissor de certificado personalizado:

--set ingress.extraAnnotations.'cert-manager\.io/cluster-issuer'=issuer-name

Proxy HTTP

O Rancher requer acesso à internet para algumas funcionalidades (Helm charts). Use proxy para definir seu servidor proxy ou use extraEnv para definir a variável de ambiente HTTPS_PROXY para apontar para seu servidor proxy.

Adicione suas exceções de IP ao valor do gráfico noProxy como uma lista separada por vírgulas. Certifique-se de adicionar os seguintes valores:

  • Intervalo de IP do cluster de Pods (padrão: 10.42.0.0/16).

  • Intervalo de IP do cluster de Serviços (padrão: 10.43.0.0/16).

  • Domínios internos do cluster (padrão: .svc,.cluster.local).

  • Qualquer nó controlplane do cluster de trabalhadores. O Rancher suporta intervalos em notação CIDR nesta lista.

Quando não incluir dados sensíveis, as opções de gráfico proxy ou extraEnv podem ser usadas. Ao usar extraEnv, a opção Helm noProxy é ignorada. Portanto, a variável de ambiente NO_PROXY também deve ser definida com extraEnv.

O seguinte é um exemplo de configuração de proxy usando a opção de gráfico proxy:

--set proxy="http://<proxy_url:proxy_port>/"

Exemplo de configuração de proxy usando a opção de gráfico extraEnv:

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].value="http://<proxy_url>:<proxy_port>/"
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

Ao incluir dados sensíveis, como credenciais de autenticação de proxy, use a opção extraEnv com valueFrom.secretRef para evitar que dados sensíveis sejam expostos no Helm ou na implantação do Rancher.

O seguinte é um exemplo de uso de extraEnv para configurar o proxy. Este segredo de exemplo conteria o valor "http://<username>:<password>@<proxy_url>:<proxy_port>/" na chave "https-proxy-url" do segredo:

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].valueFrom.secretKeyRef.name=secret-name
--set extraEnv[1].valueFrom.secretKeyRef.key=https-proxy-url
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

Para saber mais sobre como configurar variáveis de ambiente, consulte Definir Variáveis de Ambiente para um Contêiner.

CAs Confiáveis Adicionais

Se você tiver registros privados, catálogos ou um proxy que intercepta certificados, pode ser necessário adicionar mais CAs confiáveis ao Rancher.

--set additionalTrustedCAs=true

Uma vez que a implantação do Rancher é criada, copie seus certificados CA em formato pem para um arquivo chamado ca-additional.pem e use kubectl para criar o segredo tls-ca-additional no namespace cattle-system.

kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-additional.pem=./ca-additional.pem

Instalações de Registro Privado e Air Gap

Para detalhes sobre a instalação do Rancher com um registro privado, consulte a documentação de instalação air gap.

Terminação TLS Externa

Recomendamos configurar seu balanceador de carga como um balanceador de camada 4, encaminhando tráfego simples nas portas 80/tcp e 443/tcp para os nós do cluster de Gerenciamento do Rancher. O controlador de Ingress no cluster redirecionará o tráfego http na porta 80 para https na porta 443.

Você pode terminar o SSL/TLS em um balanceador de carga L7 externo ao cluster do Rancher (ingress). Use a opção --set tls=external e aponte seu balanceador de carga para a porta http 80 em todos os nós do cluster do Rancher. Isso exporá a interface do Rancher na porta http 80. Esteja ciente de que os clientes que têm permissão para se conectar diretamente ao cluster do Rancher não estarão criptografados. Se você optar por fazer isso, recomendamos que restrinja o acesso direto ao nível da rede apenas ao seu balanceador de carga.

Se você estiver usando um certificado assinado por uma CA Privada (ou se agent-tls-mode estiver definido como strict), adicione --set privateCA=true e consulte Adicionando Segredos TLS - Usando um Certificado Assinado por uma CA Privada para adicionar o certificado CA para o Rancher.

Seu balanceador de carga deve suportar conexões websocket de longa duração e precisará inserir cabeçalhos proxy para que o Rancher possa rotear links corretamente.

Cabeçalhos Necessários

  • Host

  • X-Forwarded-Proto

  • X-Forwarded-Port

  • X-Forwarded-For

  • Tempo de Espera de Leitura: 1800 seconds

  • Tempo de Espera de Gravação: 1800 seconds

  • Tempo de Espera de Conexão: 30 seconds

Verificações de saúde

O Rancher responderá 200 às verificações de saúde no endpoint /healthz.