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: K3s 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.

Para sistemas sem acesso direto à internet, consulte as instruções de instalação em air gap.

Dica de Instalação em Um Único Nó:

Em um cluster Kubernetes de um único nó, o servidor Rancher não possui alta disponibilidade, o que é importante para executar o Rancher em produção. No entanto, instalar o Rancher em um cluster de um único nó pode ser útil se você quiser economizar recursos usando um único nó a curto prazo, enquanto preserva um caminho de migração para alta disponibilidade.

Para configurar um cluster K3s de um único nó, execute o comando de instalação do servidor Rancher em apenas um nó em vez de dois nós.

Em ambas as configurações de um único nó, o Rancher pode ser instalado com Helm no cluster Kubernetes da mesma forma que seria instalado em qualquer outro cluster.

Pré-requisitos

Estas instruções assumem que você configurou dois nós, um balanceador de carga, um registro DNS e um banco de dados MySQL externo, conforme descrito na esta seção.

O Rancher precisa ser instalado em uma versão suportada do Kubernetes. Para descobrir quais versões do Kubernetes são suportadas para sua versão do Rancher, consulte a Matriz de Suporte do Rancher.

Para especificar a versão do K3s (Kubernetes), use a variável de ambiente INSTALL_K3S_VERSION (por exemplo, INSTALL_K3S_VERSION="v1.24.10+k3s1") ao executar o script de instalação do K3s.

Instalando o Kubernetes

1. Instale o Kubernetes e Configure o SUSE® Rancher Prime: K3s Servidor

Ao executar o comando para iniciar o servidor API do K3s Kubernetes, você passará uma opção para usar o datastore externo que você configurou anteriormente.

  1. Conecte-se a um dos nós Linux que você preparou para executar o servidor Rancher.

  2. No nó Linux, execute este comando para iniciar o servidor K3s e conectá-lo ao datastore externo:

     curl -sfL https://get.k3s.io |  INSTALL_K3S_VERSION=<VERSION> sh -s - server \
       --datastore-endpoint="<DATASTORE_ENDPOINT>"

    Onde <DATASTORE_ENDPOINT> é o URI de conexão para seu datastore. Por exemplo, mysql://username:password@tcp(hostname:3306)/database-name se você estiver usando MySQL. Datastores válidos incluem etcd, MySQL, PostgreSQL ou SQLite (padrão).

    O endpoint do datastore também pode ser passado usando a variável de ambiente $K3S_DATASTORE_ENDPOINT.

  3. Obtenha o token do nó principal do servidor:

     cat /var/lib/rancher/k3s/server/token
  4. Execute o comando no seu segundo nó do servidor K3s:

       curl -sfL https://get.k3s.io |  INSTALL_K3S_VERSION=<VERSION> sh -s - server \
         --datastore-endpoint="<DATASTORE_ENDPOINT>" \
         --token "<MAIN_SERVER_NODE_TOKEN>"

2. Confirme que SUSE® Rancher Prime: K3s está em execução

Para confirmar que o K3s foi configurado com sucesso, execute o seguinte comando em qualquer um dos nós do servidor K3s:

sudo k3s kubectl get nodes

Então você deve ver dois nós com o papel de mestre:

ubuntu@ip-172-31-60-194:~$ sudo k3s kubectl get nodes
NAME               STATUS   ROLES    AGE    VERSION
ip-172-31-60-194   Ready    master   44m    v1.17.2+k3s1
ip-172-31-63-88    Ready    master   6m8s   v1.17.2+k3s1

Então teste a saúde dos pods do cluster:

sudo k3s kubectl get pods --all-namespaces

Resultado: Você configurou com sucesso um cluster Kubernetes K3s.

3. Salve e comece a usar o arquivo kubeconfig

Quando você instalou o K3s em cada nó do servidor Rancher, um arquivo kubeconfig foi criado no nó em /etc/rancher/k3s/k3s.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,

  1. Instale kubectl,, uma ferramenta de linha de comando do Kubernetes.

  2. Copie o arquivo em /etc/rancher/k3s/k3s.yaml e salve-o no diretório ~/.kube/config em sua máquina local.

  3. No arquivo kubeconfig, a diretiva server é definida como localhost. Configure o servidor como o DNS do seu balanceador de carga, referindo-se à porta 6443. (O servidor da API do Kubernetes será acessado na porta 6443, enquanto o servidor Rancher será acessado nas portas 80 e 443.) Aqui está um exemplo k3s.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 K3s. 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/k3s.yaml get pods --all-namespaces

Para mais informações sobre o arquivo kubeconfig, consulte a documentação do K3s 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:

ubuntu@ip-172-31-60-194:~$ sudo kubectl get pods --all-namespaces
NAMESPACE       NAME                                      READY   STATUS    RESTARTS   AGE
kube-system     metrics-server-6d684c7b5-bw59k            1/1     Running   0          8d
kube-system     local-path-provisioner-58fb86bdfd-fmkvd   1/1     Running   0          8d
kube-system     coredns-d798c9dd-ljjnf                    1/1     Running   0          8d

Resultado: Você confirmou que pode acessar o cluster com kubectl e que o cluster K3s está funcionando com sucesso. Agora o servidor de gerenciamento Rancher pode ser instalado no cluster.