Compartilhar via


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

Este guia aborda como adicionar ou atualizar seu segredo de pull do Red Hat para um cluster existente do Red Hat OpenShift 4 do Azure.

Para implantar um novo cluster, você pode adicionar seu segredo de acesso ao criar o cluster. Para obter mais informações sobre como criar um cluster com um segredo de pull do Red Hat, consulte Obter um segredo de pull do Red Hat (opcional).

Pré-requisitos

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

Quando você cria um cluster sem adicionar um segredo de acesso do Red Hat, um segredo de acesso é criado automaticamente no cluster. No entanto, esse segredo de pull não é totalmente populado.

Esta seção detalha como atualizar o segredo de acesso usando outros valores do segredo de acesso 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
    

    O seu resultado deve ser semelhante ao exemplo a seguir e o valor real do segredo 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. Seu segredo de pull do Red Hat se parece com o exemplo a seguir e os valores de segredo reais foram removidos.

    {
      "auths": {
        "cloud.openshift.com": {
          "auth": "<my-crc-secret>",
          "email": "violet@contoso.com"
        },
        "quay.io": {
          "auth": "<my-quayio-secret>",
          "email": "violet@contoso.com"
        },
        "registry.connect.redhat.com": {
          "auth": "<my-registry.connect.redhat.com-secret>",
          "email": "violet@contoso.com"
        },
        "registry.redhat.io": {
          "auth": "<my-registry.redhat.io-secret>",
          "email": "violet@contoso.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

    Se você incluir a cloud.openshift.com entrada do segredo de pull do Red Hat, o cluster enviará dados de telemetria para o Red Hat. Inclua esta seção somente se desejar enviar dados de telemetria. Caso contrário, exclua a seção a seguir.

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

    Cuidado

    Não remova ou altere a arosvc.azurecr.io entrada da sua chave 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 deve se parecer com o exemplo mostrado abaixo e os valores confidenciais reais foram ocultados.

    {
      "auths": {
        "cloud.openshift.com": {
          "auth": "<my-crc-secret>",
          "email": "violet@contoso.com"
        },
        "quay.io": {
          "auth": "<my-quayio-secret>",
          "email": "violet@contoso.com"
        },
        "registry.connect.redhat.com": {
          "auth": "<my-registry.connect.redhat.com-secret>",
          "email": "violet@contoso.com"
        },
        "registry.redhat.io": {
          "auth": "<my-registry.redhat.io-secret>",
          "email": "violet@contoso.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 jq para validar o arquivo.

    cat pull-secret.json | jq
    

    Se houver um erro no arquivo, ele aparecerá como parse error.

Adicionar seu segredo de pull ao cluster

Execute o comando a seguir para atualizar seu segredo de pull. Na versão 4.9 ou mais antiga, a execução desse comando faz com que os nós de cluster reiniciem um por um à medida que são atualizados. Na versão 4.10 ou posterior, uma reinicialização não é disparada.

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.

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

Execute o seguinte comando para editar o arquivo de configuração do Hub de Operadores:

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, as atualizações do cluster podem levar vários minutos para serem concluídas. Para verificar se o cluster foi atualizado, execute o seguinte comando para mostrar as fontes Operadores Certificados e Operadores 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 foi atualizado e está funcional, abra o OperatorHub e verifique se há qualquer Operador verificado do 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