Adicionar ou atualizar o segredo de pull do Red Hat em um cluster do Red Hat OpenShift 4 no Azure

Este guia aborda a adição ou atualização do seu segredo de pull do Red Hat para um cluster do Azure Red Hat OpenShift (ARO) 4. x existente.

Se você estiver criando um cluster pela primeira vez, poderá adicionar seu segredo de pull ao criar o cluster. Para obter mais informações sobre como criar um cluster do ARO com um segredo de pull do Red Hat, consulte Criar um cluster do Red Hat OpenShift 4 no Azure.

Antes de começar

Este artigo pressupõe que você já tenha um cluster Red Hat OpenShift 4 no Azure. Certifique-se de que você tenha acesso de administrador ao cluster.

Preparar seu segredo de pull

Ao criar um cluster do ARO sem adicionar um segredo de pull do Red Hat, cria-se um segredo de pull no cluster automaticamente. No entanto, esse segredo de pull não é totalmente populado.

Esta seção detalha a atualização desse segredo de pull com valores adicionais do seu segredo de pull do Red Hat.

  1. Busque o segredo nomeado pull-secret no namespace openshift-config e salve-o em um arquivo separado executando o seguinte comando:

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
    

    A saída deve ser semelhante à que se segue. (Observe que o valor do segredo real foi removido.)

    {
        "auths": {
            "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
        }
    }
    
  2. Acesse o portal do gerenciador de clusters do Red Hat OpenShift e selecione Baixar segredo de pull. O segredo de pull do Red Hat se assemelhará ao seguinte. (Observe que os valores do segredo real foram removido.)

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            },
            "quay.io": {
                "auth": "<my-quayio-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.connect.redhat.com": {
                "auth": "<my-registry.connect.redhat.com-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.redhat.io": {
                "auth": "<my-registry.redhat.io-secret>",
                "email": "klamenzo@redhat.com"
            }
        }
    }
    
  3. Edite o arquivo do segredo de pull obtido do cluster adicionando as entradas encontradas em seu segredo de pull do Red Hat.

    Importante

    A inclusão da entrada de cloud.openshift.com do segredo de pull do Red Hat fará com que o cluster comece a enviar dados de telemetria para o Red Hat. Inclua esta seção somente se desejar enviar dados de telemetria. Caso contrário, deixe a seção a seguir de fora.

    {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            }
    

    Cuidado

    Não remova ou altere a entrada arosvc.azurecr.io do seu segredo de pull. Esta seção é necessária para o funcionamento correto do cluster.

    "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
    

    Seu arquivo final deverá ter a seguinte aparência. (Observe que os valores do segredo real foram removido.)

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            },
            "quay.io": {
                "auth": "<my-quayio-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.connect.redhat.com": {
                "auth": "<my-registry.connect.redhat.com-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.redhat.io": {
                "auth": "<my-registry.redhat.io-secret>",
                "email": "klamenzo@redhat.com"
            },
            "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
        }
    }
    
  4. Certifique-se de que o arquivo é um JSON válido. Há várias maneiras de validar seu JSON. O exemplo a seguir usa uma jq:

    cat pull-secret.json | jq
    

    Observação

    Caso haja um erro no arquivo, ele será exibido como parse error.

Adicionar seu segredo de pull ao cluster

Execute o comando a seguir para atualizar seu segredo de pull.

Observação

No ARO 4.9 ou anterior, executar este comando fará com que os nós do cluster sejam reiniciados um por um à medida que são atualizados. Na versão ARO 4.10 ou posterior, uma reinicialização não será acionada.

oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json

Verifique se o segredo de pull está em vigor

oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json

Depois que o segredo for definido, você estará pronto para habilitar os Operadores Certificados do Red Hat.

Modificar os arquivos de configuração

Modifique os objetos a seguir para habilitar os Operadores do Red Hat.

Primeiro, modifique o arquivo de configuração do Operador de Exemplos. Em seguida, execute o seguinte comando para editar o arquivo de configuração:

oc edit configs.samples.operator.openshift.io/cluster -o yaml

Altere o valor spec.managementState de Removed para Managed.

O trecho de código YAML a seguir mostra apenas as seções relevantes do arquivo YAML editado:

apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
  
  ...
  
spec:
  architectures:
  - x86_64
  managementState: Managed

Agora execute o seguinte comando para editar o arquivo de configuração do Operator Hub:

oc edit operatorhub cluster -o yaml

Altere os valores Spec.Sources.Disabled de true para false para as fontes que desejar habilitar.

O trecho de código YAML a seguir mostra apenas as seções relevantes do arquivo YAML editado:

Name:         cluster

...
                 dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
  Sources:
    Disabled:  false
    Name:      certified-operators
    Disabled:  false
    Name:      redhat-operators

Salve o arquivo para aplicar suas edições.

Validar o funcionamento do segredo

Depois de adicionar o segredo de pull e modificar os arquivos de configuração corretos, o cluster pode levar alguns minutos para ser atualizado. Para verificar se o cluster foi atualizado, execute o seguinte comando para exibir as fontes dos Operadores Certificados e dos Operadores do Red Hat disponíveis:

$ oc get catalogsource -A
NAMESPACE               NAME                  DISPLAY               TYPE   PUBLISHER   AGE
openshift-marketplace   certified-operators   Certified Operators   grpc   Red Hat     10s
openshift-marketplace   community-operators   Community Operators   grpc   Red Hat     18h
openshift-marketplace   redhat-operators      Red Hat Operators     grpc   Red Hat     11s

Caso não veja os Operadores Certificados e os Operadores do Red Hat, aguarde alguns minutos e tente novamente.

Para garantir que seu segredo de pull tenha sido atualizado e esteja funcionando corretamente, abra o OperatorHub e verifique se há algum Operador verificado pelo Red Hat. Por exemplo, verifique se o Operador de Armazenamento de Contêiner do OpenShift está disponível e veja se você tem permissões para instalar.

Próximas etapas

Para saber mais sobre segredos de pull do Red Hat, consulte Usando segredos de pull da imagem.

Para saber mais sobre o Red Hat OpenShift 4, consulte a Documentação da Plataforma de Contêiner do Red Hat OpenShift.