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.

Canais

O SUSE® Rancher Prime: OS Manager Operator permite a assinatura de um ou mais ManagedOSVersionChannels, para preencher automaticamente uma lista de ManagedOSVersions prontas para serem consumidas para construir novas ISOs usando uma SeedImage, ou para atualizar nós existentes, para novas versões do SO usando a ManagedOSImage.

Um canal é normalmente distribuído como uma imagem de contêiner OCI, mas também é possível referenciar a URI de um arquivo JSON que contém diretamente uma lista de ManagedOSVersion. Observe que a melhor prática é distribuir canais usando imagens, para que a distribuição seja consistente com todas as outras imagens necessárias pelo SUSE® Rancher Prime: OS Manager Operator. Isso pode ser benéfico, por exemplo, ao implantar em um ambiente isolado.

  • Sincronizador JSON

  • Sincronizador personalizado

Esse sincronizador buscará um JSON de uma URL e o analisará em recursos válidos de ManagedOSVersion.

managed-os-version-channel-json.yaml
Unresolved include directive in modules/pt/pages/operator-operational-tasks/channels.adoc - include::example$upgrade/managed-os-version-channel-json.yaml[]

Um sincronizador personalizado permite mais flexibilidade sobre como reunir ManagedOSVersion ao permitir comandos personalizados com imagens personalizadas. Esse tipo de sincronizador permite executar um comando específico com argumentos e variáveis de ambiente em uma imagem personalizada e gerar um arquivo JSON para /data/output. Os dados gerados são então montados automaticamente pelo sincronizador e, em seguida, analisados para que possam criar as versões apropriadas. O projeto SUSE® Rancher Prime: OS Manager fornece canais para listar todos os ManagedOSVersions lançados como um sincronizador personalizado. Veja a definição do recurso do canal abaixo:

managed-os-version-channel-custom.yaml
Unresolved include directive in modules/pt/pages/operator-operational-tasks/channels.adoc - include::example$upgrade/managed-os-version-channel-custom.yaml[]

Canais Disponíveis

SUSE® Rancher Prime: OS Manager mantém uma lista de canais que podem ser usados diretamente.

SO Base Versão do BaseOS Sabor URI do Canal

SL Micro

6.1

Base

registry.suse.com/rancher/elemental-channel/sl-micro:6.0-base

SL Micro

6.1

Bare-metal

registry.suse.com/rancher/elemental-channel/sl-micro:6.0-baremetal

SL Micro

6.1

KVM

registry.suse.com/rancher/elemental-channel/sl-micro:6.0-kvm

SL Micro

6.1

RT

registry.suse.com/rancher/elemental-channel/sl-micro:6.0-rt

Encontrando SUSE® Rancher Prime: OS Manager canais

O Crane pode ser usado para encontrar os canais mantidos. Por exemplo:

$ crane ls -O registry.suse.com/rancher/elemental-channel/sl-micro
6.0-baremetal
6.0-base
6.0-kvm
6.0-rt
6.1-baremetal
6.1-base
6.1-kvm
6.1-rt
<snip>

Sabores

SUSE® Rancher Prime: OS Manager distribui diferentes sabores de SO que podem se adequar melhor a casos de uso específicos.

Sabor Descrição Referência

Base

Uma imagem mínima que pode ser usada como base para construir imagens personalizadas.

Fonte

Bare-metal

Contém pacotes bare-metal e de usabilidade. Pode ser usado para qualquer carga de trabalho genérica.

Fonte

KVM

Pronto para ser usado com KVM. Contém o agente QEMU Guest por padrão.

Fonte

RT

Como imagens bare-metal, mas inclui um kernel em tempo real.

Fonte

Ciclo de vida dos canais e melhores práticas

Uma vez que um novo ManagedOSVersionChannel é criado, o SUSE® Rancher Prime: OS Manager Operator irá sincronizar periodicamente a lista JSON do canal fornecido e convertê-la em um novo ManagedOSVersions.
Todos os ManagedOSVersions sincronizados serão de propriedade do ManagedOSVersionChannel. Excluir o ManagedOSVersionChannel levará à exclusão de todos os ManagedOSVersions em cascata.

Observe que o ManagedOSVersionChannel suporta a limpeza automática de ManagedOSVersions que não estão mais sincronizados, quando a opção ManagedOSVersionChannel.spec.deleteNoLongerInSyncVersions está habilitada.

Quando um ManagedOSVersion é agendado para exclusão, um finalizador garantirá que não haja referência ativa em nenhum ManagedOSImage.

Se um ManagedOSVersion não puder ser excluído, você pode descobrir por quais recursos ele é referenciado:

kubectl -n fleet-default get managedosimages -l elemental.cattle.io/managed-os-version-name=my-deleted-os-version

Ao usar múltiplos canais, é importante manter uma estratégia de nomenclatura adequada para sempre ter uma referência rápida e legível por humanos sobre o ManagedOSVersions possuído.
Recomenda-se nomear qualquer canal como: {BaseOS}-{BaseOSVersion}-{Flavor}.

Isso deve permitir que o usuário use o nome do ManagedOSVersion como a versão de build específica do SUSE® Rancher Prime: OS Manager da imagem, enquanto mantém uma referência sobre o SO Base e a versão do SO Base do canal pai.
Na interface do Rancher, isso parecerá algo como a imagem a seguir:

Nomeação de canais

Criando seus próprios Canais

O único requisito para criar seu próprio sincronizador personalizado é fazê-lo gerar um arquivo JSON para /data/output e manter a estrutura JSON correta.

O arquivo é um array JSON contendo entradas de ISO e contêiner. Cada entrada no array é mapeada 1:1 com um objeto ManagedOSVersion.

Entradas de "type": "iso" devem conter um ISO SUSE® Rancher Prime: OS Manager inicializável e são usadas por SeedImages, enquanto entradas de "type": "container" são usadas por ManagedOSImage para atualizações de SUSE® Rancher Prime: OS Manager.

Em caso de dúvida, o projeto elemental-channels pode ser usado como uma implementação de referência sobre como construir e manter seus próprios canais.

Ao criar novas entradas, tenha cuidado com a estratégia de nomenclatura que você escolher, a fim de evitar colisões com outros canais, uma vez que eles podem acabar sincronizando diferentes ManagedOSVersion com o mesmo nome. Uma boa prática é usar a convenção: {Flavor}-{Version}-{Type}

Um exemplo do formato JSON é o seguinte:

versions.json
Unresolved include directive in modules/pt/pages/operator-operational-tasks/channels.adoc - include::example$upgrade/versions.json[]