|
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: OS Manager a maneira da linha de comando
Siga este guia para ter um cluster autoimplantado via rke2/k3s e gerenciado pelo Rancher com a única ajuda de um SUSE® Rancher Prime: OS Manager ISO.
Pré-requisitos
-
Um servidor Rancher (v2.7.0 ou posterior) configurado (URL do servidor definida)
-
Para configurar o Rancher
server-url, consulte a documentação do Rancher
-
-
Uma máquina (bare metal ou virtualizada) com TPM 2.0
-
Dica 1: O Libvirt permite definir TPMs virtuais para máquinas virtuais exemplo aqui
-
Dica 2: Você pode habilitar a emulação de TPM em máquinas bare metal que não possuem o módulo TPM 2.0 exemplo aqui
-
Dica 3: Certifique-se de que está usando UEFI (não BIOS) em x86-64, ou o ISO não irá inicializar
-
Dica 4: Um tamanho mínimo de volume de 25 GB é recomendado. Consulte a SUSE® Rancher Prime: OS Manager tabela de partição para mais detalhes
-
Dica 5: Os requisitos de CPU e RAM dependem da versão do Kubernetes instalada, por exemplo K3s ou RKE2
-
-
Gerenciador de Pacotes Helm (https://helm.sh/)
-
Para ARM (aarch64) - Um cartão SD (32 GB ou mais, deve ser rápido - velocidade de gravação de 40 MB/s é aceitável) e um pen drive para instalação
Instalar SUSE® Rancher Prime: OS Manager Operador
elemental-operator é o ponto de gerenciamento, executando o cluster de gerenciamento e cuidando da criação de inventários, registros para máquinas e muito mais.
Usaremos o gerenciador de pacotes Helm para instalar o chart elemental-operator em nosso cluster.
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.suse.com/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.suse.com/rancher/elemental-operator-chart
Agora, após alguns segundos, você deve ver o pod do operador aparecer no namespace cattle-elemental-system:
kubectl get pods -n cattle-elemental-system
NAME READY STATUS RESTARTS AGE
elemental-operator-64f88fc695-b8qhn 1/1 Running 0 16s
O chart {elemental-product-name} Operador é distribuído via um registro OCI: O Helm suporta corretamente registros baseados em OCI a partir da versão v3.8.0.
Ao atualizar de uma versão do elemental-operator que incorpora os CRDs do {elemental-product-name} (versão < 1.2.4), a instalação do chart elemental-operator-crds falhará.
Você precisará atualizar primeiro o chart elemental-operator e só então instalar o chart elemental-operator-crds.
Instalações não estáveis
Além dos gráficos Helm listados acima, há duas outras versões do non-stable disponíveis.
-
Staging: refere-se ao último lançamento marcado do Github. Isso está documentado nas páginas Next.
-
Development: refere-se ao 'ponto mais recente do HEAD' do Github. Esta é a versão de desenvolvimento em andamento e muda constantemente.
-
Versão de Staging (x86-64, ARM64 (Raspberry Pi 4))
-
Versão de Desenvolvimento (x86-64, ARM64 (Raspberry Pi 4))
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart
|
Lembrete
A versão de desenvolvimento não é recomendada para ambientes de produção. Agradecemos o feedback via Slack ou problemas no Github, mas pode ser instável e conter recursos experimentais que podem ser removidos sem aviso prévio. |
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install --set image.imagePullPolicy=Always elemental-operator oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart
Opções de instalação
Existem algumas opções que podem ser configuradas na instalação do chart, mas isso está fora do escopo deste documento. Você pode ver todos os valores no chart values.yaml.
Prepare seus recursos do Kubernetes
A implantação do nó começa com um MachineRegistration, identificando um conjunto de máquinas que compartilham a mesma configuração (discos, rede etc.).
O MachineRegistration é necessário para realizar a implantação do sistema operacional SUSE® Rancher Prime: OS Manager nos hosts de destino. Ao inicializar, cada host se registra no SUSE® Rancher Prime: OS Manager Operator, que rastreia o novo host com um recurso MachineInventory.
Em seguida, continua com um recurso Cluster que usa um MachineInventorySelectorTemplate para saber quais máquinas pertencem a esse cluster.
Esse seletor é um simples correspondedor baseado em rótulos definidos no MachineInventory, então se seu seletor corresponder ao rótulo cluster-id com o valor cluster-id-val e seu MachineInventory tiver esse mesmo rótulo cluster-id:``cluster-id-val`, ele corresponderá e será inicializado como parte do cluster.
Neste guia rápido, vamos implantar os recursos para provisionar um cluster chamado volcano que corresponderá a MachineInventorys com o rótulo element:fire.
-
Criando manualmente os arquivos de recurso yamls
-
Usando arquivos de quickstart do repositório de docs SUSE® Rancher Prime: OS Manager diretamente
Você precisará criar os seguintes arquivos:
Unresolved include directive in modules/pt/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/selector.yaml[]
Como você pode ver, este é um seletor muito simples que procura por MachineInventory`s que têm um rótulo com a chave `element e o valor fire.
Unresolved include directive in modules/pt/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/cluster.yaml[]
Como você pode ver, o machineConfigRef é do tipo MachineInventorySelectorTemplate com o nome fire-machine-selector: ele corresponde ao seletor que criamos. Você pode obter mais informações sobre opções de cluster como machineGlobalConfig ou machineSelectorConfig diretamente na documentação do Rancher Manager.
-
Registro
-
Registro para Raspberry Pi
Unresolved include directive in modules/pt/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/registration.yaml[]
Unresolved include directive in modules/pt/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/rpi-registration.yaml[]
Para implantação no Raspberry Pi, você precisa habilitar o TPM emulado (exceto se você tiver [um TPM de hardware para Raspberry Pi](https://thepihut.com/products/letstrust-tpm-for-raspberry-pi)). Você também precisa desativar a gravação na loja EFI (já que o Raspberry Pi não possui uma) via disable-boot-entry: true.
O MachineRegistration define a configuração de registro e instalação. Uma vez criado, o operador SUSE® Rancher Prime: OS Manager expõe uma URL única a ser usada com o binário elemental-register para se conectar ao cluster de gerenciamento e registrar a máquina durante a instalação: se o registro for bem-sucedido, o operador cria um MachineInventory rastreando a máquina, que pode ser usado para provisionar a máquina como um nó do nosso cluster. Definimos o rótulo que corresponde ao nosso seletor aqui, embora ele também possa ser adicionado posteriormente aos `MachineInventory`s criados.
|
Certifique-se de modificar o registration.yaml acima para definir o dispositivo de instalação apropriado, apontando para um dispositivo válido com base na configuração do seu nó (ou seja, /dev/sda, /dev/vda, /dev/nvme0 etc.). O cartão SD em um Raspberry Pi é geralmente |
-
Imagem de Seed (x86_64)
-
Imagem de Seed para Raspberry Pi
Unresolved include directive in modules/pt/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/seedimage.yaml[]
O SeedImage é necessário para gerar a imagem de seed (como um ISO inicializável) que irá inicializar e iniciar o provisionamento SUSE® Rancher Prime: OS Manager nas máquinas de destino.
Agora que definimos todos os arquivos de configuração, vamos aplicá-los para criar os recursos apropriados no Kubernetes:
kubectl apply -f selector.yaml
kubectl apply -f cluster.yaml
kubectl apply -f registration.yaml
kubectl apply -f seedimage.yaml
O recurso SeedImage, que automatiza a criação de uma imagem inicializável SUSE® Rancher Prime: OS Manager (a imagem de seed), ainda não suporta ISOs do Raspberry Pi (clique [aqui](raspi-disk.md) para um guia sobre como construir uma imagem de disco bruto).
Geraremos uma imagem de seed manualmente na [próxima seção](quickstart-cli.md#preparando-a-imagem-de-instalação-de-seed).
Agora que definimos todos os arquivos de configuração, vamos aplicá-los para criar os recursos apropriados no Kubernetes:
kubectl apply -f selector.yaml
kubectl apply -f cluster.yaml
kubectl apply -f registration.yaml
Você pode aplicar diretamente os arquivos de recursos do exemplo de quickstart do [repositório de docs SUSE® Rancher Prime: OS Manager](https://github.com/rancher/elemental-docs).
|
Os arquivos de recursos do exemplo de quickstart assumem que o armazenamento padrão do host de destino está mapeado para o |
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/selector.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/cluster.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/registration.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/seedimage.yaml
|
O |
Preparando a imagem de instalação (seed)
Este é o último passo: você precisa de uma imagem de seed SUSE® Rancher Prime: OS Manager que inclua a configuração de registro inicial, para que possa ser registrada automaticamente, instalada e totalmente implantada como parte do seu cluster.
|
anotação
O arquivo de configuração de registro inicial é gerado quando você cria um Você pode baixá-lo com:
|
O conteúdo do arquivo de configuração de registro não é nada mais do que a URL de registro que o nó precisa para se registrar, o certificado de servidor adequado e algumas opções para o processo de registro.
Uma vez gerada, uma imagem de seed pode ser usada para provisionar qualquer número de máquinas.
-
Baixando o ISO de início rápido
-
Preparando a imagem de seed (aarch64) manualmente
A imagem de seed criada pelo recurso SeedImage acima pode ser baixada como um ISO através do seguinte script:
kubectl wait --for=condition=ready pod -n fleet-default fire-img
wget --no-check-certificate `kubectl get seedimage -n fleet-default fire-img -o jsonpath="{.status.downloadURL}"` -O elemental.x86_64.iso
O primeiro comando aguarda que o ISO seja construído e esteja pronto; o segundo o baixa no diretório atual com o nome elemental-x86_64.iso.
O suporte do SUSE® Rancher Prime: OS Manager para Raspberry Pi é principalmente para fins de demonstração neste momento. Portanto, o processo de instalação é modelado de forma semelhante ao x86-64. Você inicializa a partir de uma imagem de seed (um pen drive neste caso) e instala em um meio de armazenamento (cartão SD para Raspberry Pi).
Recuperando a imagem de seed pré-construída
wget -q https://download.opensuse.org/repositories/isv:/Rancher:/SUSE® Rancher Prime OS Manager:/Stable/containers/rpi.raw
Verificando o download
Para verificar a integridade dos artefatos baixados, você deve fazer uma verificação de checksum:
wget -q https://download.opensuse.org/repositories/isv:/Rancher:/SUSE® Rancher Prime OS Manager:/Stable/containers/rpi.raw.sha256 sha256sum -c rpi.raw.sha256
Isso deve imprimir rpi.raw: OK como saída.
Injetando as informações de registro
Adicionar o initial-registration.yaml ainda não está automatizado por script. Este ainda é um processo manual:
O pen drive gravado terá duas partições. RPI_BOOT contém os arquivos do carregador de boot e COS_LIVE os arquivos SUSE® Rancher Prime: OS Manager. Monte a partição COS_LIVE e escreva initial-registration.yaml como livecd-cloud-config.yaml nesta partição.
Se você montou o pen drive com um gerenciador de arquivos, este comando deve funcionar para copiar as informações de registro:
sudo cp initial-registration.yaml /run/media/$USER/COS_LIVE/livecd-cloud-config.yaml
Se você prefere usar algumas ferramentas de linha de comando:
IMAGE=rpi.raw
DEST=$(mktemp -d)
SECTORSIZE=$(sfdisk -J $\{IMAGE} | jq '.partitiontable.sectorsize')
DATAPARTITIONSTART=$(sfdisk -J $\{IMAGE} | jq '.partitiontable.partitions[1].start')
sudo mount -o rw,loop,offset=$(($\{SECTORSIZE}*$\{DATAPARTITIONSTART})) $\{IMAGE} $\{DEST}
sudo cp initial-registration.yaml $\{DEST}/livecd-cloud-config.yaml
sudo umount $\{DEST}
rmdir $\{DEST}
Escrevendo a imagem de seed em um pen drive
A imagem .raw precisa ser gravada em um pen drive para inicializar a partir dele. Isso pode ser feito com dd na linha de comando do Linux, se você estiver confortável com este comando. O [openSUSE](https://www.opensuse.org) possui boas instruções sobre como gravar uma imagem em um meio de armazenamento para [Linux](https://en.opensuse.org/SDB:Live_USB_stick), [Windows](https://en.opensuse.org/SDB:Create_a_Live_USB_stick_using_Windows) e [OS X](https://en.opensuse.org/SDB:Create_a_Live_USB_stick_using_macOS).
Inicializando o Raspberry Pi
Agora, desmonte o pen drive e conecte-o ao seu Raspberry Pi.
Conecte um cartão micro SD grande (32 GB ou mais) e rápido (!!) na respectiva entrada.
Conecte o sistema à rede ethernet.
Um ciclo de energia reiniciará o Pi. Todo o resto é idêntico ao x86-64.
|
Certifique-se de que o cartão micro SD não esteja particionado. Caso contrário, o carregador de boot do Pi tentará inicializar a partir dele e falhará. |
Agora você pode inicializar seus nós com esta imagem e eles irão:
-
Registre-se com a URL de registro fornecida e crie um
MachineInventorypor máquina. -
Instalar o SLE Micro no dispositivo fornecido
-
Reinicialize
Selecionando as máquinas certas para se juntar a um cluster
O MachineInventorySelectorTemplate seleciona as máquinas necessárias para provisionar o cluster a partir dos MachineInventory que possuem o rótulo element:fogo.
Adicionamos o rótulo elemento:fogo no mapa MachineRegistration machineInventoryLabels, então todos os MachineInventory originados dele já possuem o rótulo.
De qualquer forma, poderia pular o rótulo do MachineRegistration e adicioná-lo mais tarde:
kubectl -n fleet-default label machineinventory $(kubectl get machineinventory -n fleet-default --no-headers -o custom-columns=":metadata.name") element=fire
Assim que MachineInventorys com o elemento:fogo estiverem presentes, as máquinas correspondentes auto-implantam o cluster através do provedor escolhido (k3s/rke).
Após alguns minutos, seu novo cluster estará totalmente provisionado!!
Como posso escolher a versão do Kubernetes e o implantador para o cluster?
No seu arquivo cluster.yaml, há uma chave em Spec chamada kubernetesVersion. Isso define a versão e o implantador que serão usados para o cluster, por exemplo, Kubernetesv1.24.8 para rke2 seria v1.24.8+rke2r1 e para k3s v1.24.8+k3s1.
Para ver todas as versões compatíveis, consulte o PDF da Matriz de Suporte do Rancher para versões rke/rke2/k3s e seus componentes.
Você também pode consultar nossa Documentação de Versão para saber como obtê-las.
Verifique nossa página Especificação do Cluster para mais informações sobre o recurso Cluster.
Como posso acompanhar o que está acontecendo nos bastidores?
Você deve ser capaz de acompanhar o que a máquina está fazendo através de:
-
Durante a inicialização do ISO:
-
Acesse a máquina via ssh (usuário/senha: root/ros):
-
executar
journalctl -f -t elementalmostra o progresso do registro (elemental-register) e a instalação de SUSE® Rancher Prime: OS Manager (elemental install).
-
-
-
Uma vez que o sistema esteja instalado:
-
Na Rancher UI ->
Cluster Managementpermite que você veja seu novo cluster e oProvisioning Lognos detalhes do cluster. -
Acesse a máquina via ssh (usuário/senha: O que você configurou no registration.yaml em
Spec.config.cloud-config.users):-
executar
journalctl -f -u elemental-system-agentmostra a saída da configuração inicial elemental e a instalação dorancher-system-agent -
executar
journalctl -f -u rancher-system-agentmostra a saída da inicialização dos componentes do cluster, como o k3s -
executar
journalctl -f -u k3smostra os logs da implantação do k3s
-
-
Opcional: Instale a extensão Elemental UI via CLI
Crie e aplique um novo ClusterRepo para adicionar o repositório oficial de Extensões do Rancher.
apiVersion: catalog.cattle.io/v1
kind: ClusterRepo
metadata:
name: rancher-ui-charts
spec:
gitBranch: main
gitRepo: https://github.com/rancher/ui-plugin-charts
Adicione um repositório helm para os charts de extensões da UI do Rancher.
helm repo add rancher-ui-plugins https://raw.githubusercontent.com/rancher/ui-plugin-charts/main/
Instale a extensão Elemental UI.
helm install elemental rancher-ui-plugins/elemental -n cattle-ui-plugin-system