|
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. |
Configurando um Cluster Kubernetes de Alta Disponibilidade SUSE® Rancher Prime: RKE2 para SUSE Rancher Prime
Esta seção descreve como instalar um cluster Kubernetes de acordo com as melhores práticas para o ambiente do servidor Rancher.
Pré-requisitos
Estas instruções assumem que você configurou três nós, um balanceador de carga e um registro DNS, conforme descrito em esta seção.
Observe que, para que o RKE2 funcione corretamente com o balanceador de carga, você precisa configurar dois listeners: um para o supervisor na porta 9345 e um para a API do Kubernetes na porta 6443.
O Rancher precisa ser instalado em uma versão suportada do Kubernetes. Para descobrir quais versões do Kubernetes são suportadas para a sua versão do Rancher, consulte os termos de manutenção de suporte. Para especificar a versão do RKE2, use a variável de ambiente INSTALL_RKE2_VERSION ao executar o script de instalação do RKE2.
Instalando o Kubernetes
1. Instale o Kubernetes e configure o servidor SUSE® Rancher Prime: RKE2
O servidor RKE2 é executado com etcd embutido, portanto, você não precisará configurar um armazenamento externo para operar em modo HA.
No primeiro nó, você deve configurar o arquivo de configuração com seu próprio segredo pré-compartilhado como o token. O argumento do token pode ser definido na inicialização.
Se você não especificar um segredo pré-compartilhado, o RKE2 gerará um e o colocará em /var/lib/rancher/rke2/server/node-token.
Para evitar erros de certificado com o endereço de registro fixo, você deve iniciar o servidor com o parâmetro tls-san definido. Essa opção adiciona um nome de host ou IP adicional como um Nome Alternativo de Assunto no certificado TLS do servidor, e pode ser especificada como uma lista se você quiser acessar tanto pelo IP quanto pelo nome do host.
Primeiro, você deve criar o diretório onde o arquivo de configuração do RKE2 será colocado:
mkdir -p /etc/rancher/rke2/
Em seguida, crie o arquivo de configuração do RKE2 em /etc/rancher/rke2/config.yaml usando o seguinte exemplo:
token: my-shared-secret tls-san: - my-kubernetes-domain.com - another-kubernetes-domain.com
Depois disso, você precisa executar o comando de instalação e habilitar e iniciar o rke2:
curl -sfL https://get.rke2.io | sh - systemctl enable rke2-server.service systemctl start rke2-server.service
-
Para juntar-se aos demais nós, você precisa configurar cada nó adicional com o mesmo token compartilhado ou o gerado automaticamente. Aqui está um exemplo do arquivo de configuração:
token: my-shared-secret server: https://<DNS-DOMAIN>:9345 tls-san: - my-kubernetes-domain.com - another-kubernetes-domain.com After that, you need to run the installer and enable, then start, rke2: curl -sfL https://get.rke2.io | sh - systemctl enable rke2-server.service systemctl start rke2-server.service
-
Repita o mesmo comando no seu terceiro nó do servidor RKE2.
2. Confirme que SUSE® Rancher Prime: RKE2 está em execução
Uma vez que você tenha iniciado o processo do servidor rke2 em todos os nós de servidor, certifique-se de que o cluster foi iniciado corretamente com
/var/lib/rancher/rke2/bin/kubectl \
--kubeconfig /etc/rancher/rke2/rke2.yaml get nodes
You should see your server nodes in the Ready state.
Então teste a saúde dos pods do cluster:
/var/lib/rancher/rke2/bin/kubectl \
--kubeconfig /etc/rancher/rke2/rke2.yaml get pods --all-namespaces
Resultado: Você configurou com sucesso um cluster Kubernetes RKE2.
3. Salve e comece a usar o arquivo kubeconfig
Quando você instalou o RKE2 em cada nó do servidor Rancher, um arquivo kubeconfig foi criado no nó em /etc/rancher/rke2/rke2.yaml. Este arquivo contém credenciais para acesso total ao cluster, e você deve salvar este arquivo em um local seguro.
Para usar este arquivo kubeconfig,
-
Instale kubectl,, uma ferramenta de linha de comando do Kubernetes.
-
Copie o arquivo em
/etc/rancher/rke2/rke2.yamle salve-o no diretório~/.kube/configem sua máquina local. -
No arquivo kubeconfig, a diretiva
serveré definida como localhost. Configure o servidor como o DNS do seu balanceador de carga do plano de controle, na porta 6443. (O servidor de API do Kubernetes RKE2 usa a porta 6443, enquanto o servidor Rancher será servido via Traefik Ingress nas portas 80 e 443. Consulte Migrando do Ingress NGINX para Traefik em um Cluster RKE2 provisionado pelo Rancher para mais detalhes.) Aqui está um exemplorke2.yaml:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [CERTIFICATE-DATA]
server: [LOAD-BALANCER-DNS]:6443 # Edit this line
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
password: [PASSWORD]
username: admin
Resultado: Agora você pode usar kubectl para gerenciar seu cluster RKE2. Se você tiver mais de um arquivo kubeconfig, pode especificar qual deseja usar passando o caminho para o arquivo ao usar kubectl:
kubectl --kubeconfig ~/.kube/config/rke2.yaml get pods --all-namespaces
Para mais informações sobre o arquivo kubeconfig, consulte a documentação do RKE2 ou a documentação oficial do Kubernetes sobre como organizar o acesso ao cluster usando arquivos kubeconfig.
4. Verifique a saúde dos seus pods de cluster
Agora que você configurou o arquivo kubeconfig, pode usar kubectl para acessar o cluster a partir de sua máquina local.
Verifique se todos os pods e contêineres necessários estão saudáveis e prontos para continuar:
/var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system cloud-controller-manager-rke2-server-1 1/1 Running 0 2m28s kube-system cloud-controller-manager-rke2-server-2 1/1 Running 0 61s kube-system cloud-controller-manager-rke2-server-3 1/1 Running 0 49s kube-system etcd-rke2-server-1 1/1 Running 0 2m13s kube-system etcd-rke2-server-2 1/1 Running 0 87s kube-system etcd-rke2-server-3 1/1 Running 0 56s kube-system helm-install-rke2-canal-hs6sx 0/1 Completed 0 2m17s kube-system helm-install-rke2-coredns-xmzm8 0/1 Completed 0 2m17s kube-system helm-install-traefik-crd-z8vsz 0/1 Completed 0 2m17s kube-system helm-install-traefik-flwnl 0/1 Completed 0 2m17s kube-system helm-install-rke2-metrics-server-7sggn 0/1 Completed 0 2m17s kube-system kube-apiserver-rke2-server-1 1/1 Running 0 116s kube-system kube-apiserver-rke2-server-2 1/1 Running 0 66s kube-system kube-apiserver-rke2-server-3 1/1 Running 0 48s kube-system kube-controller-manager-rke2-server-1 1/1 Running 0 2m30s kube-system kube-controller-manager-rke2-server-2 1/1 Running 0 57s kube-system kube-controller-manager-rke2-server-3 1/1 Running 0 42s kube-system kube-proxy-rke2-server-1 1/1 Running 0 2m25s kube-system kube-proxy-rke2-server-2 1/1 Running 0 59s kube-system kube-proxy-rke2-server-3 1/1 Running 0 85s kube-system kube-scheduler-rke2-server-1 1/1 Running 0 2m30s kube-system kube-scheduler-rke2-server-2 1/1 Running 0 57s kube-system kube-scheduler-rke2-server-3 1/1 Running 0 42s kube-system rke2-canal-b9lvm 2/2 Running 0 91s kube-system rke2-canal-khwp2 2/2 Running 0 2m5s kube-system rke2-canal-swfmq 2/2 Running 0 105s kube-system rke2-coredns-rke2-coredns-547d5499cb-6tvwb 1/1 Running 0 92s kube-system rke2-coredns-rke2-coredns-547d5499cb-rdttj 1/1 Running 0 2m8s kube-system rke2-coredns-rke2-coredns-autoscaler-65c9bb465d-85sq5 1/1 Running 0 2m8s kube-system traefik-7c844b766f-m9p2w 1/1 Running 0 52s kube-system traefik-7c844b766f-s4l9k 1/1 Running 0 52s kube-system rke2-metrics-server-6564db4569-vdfkn 1/1 Running 0 66s
Resultado: Você confirmou que pode acessar o cluster com kubectl e que o cluster RKE2 está funcionando com sucesso. Agora o servidor de gerenciamento Rancher pode ser instalado no cluster.