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.
Busque o segredo nomeado
pull-secret
no namespaceopenshift-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>" } } }
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" } } }
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>" } } }
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.