Aggiungere o aggiornare il segreto di pull Red Hat in un cluster Azure Red Hat OpenShift 4
Questa guida illustra come aggiungere o aggiornare il segreto di pull Red Hat per un cluster Azure Red Hat OpenShift (ARO) 4.x esistente.
Se si crea un cluster per la prima volta, è possibile aggiungere il segreto di pull quando si crea il cluster. Per altre informazioni sulla creazione di un cluster ARO con un segreto di pull Red Hat, vedere Creare un cluster Azure Red Hat OpenShift 4.
Operazioni preliminari
Questa guida presuppone che si disponga di un cluster Azure Red Hat OpenShift 4 esistente. Assicurarsi di disporre dell'accesso come amministratore al cluster.
Preparare il segreto di pull
Quando si crea un cluster di Azure Red Hat OpenShift senza aggiungere un segreto di pull Red Hat, nel cluster viene comunque creato automaticamente un segreto di pull. Tuttavia, questo segreto di pull non è completamente popolato.
Questa sezione illustra come aggiornare il segreto di pull con valori aggiuntivi dal segreto di pull di Red Hat.
Recuperare il segreto denominato
pull-secret
nello spazio dei nomiopenshift-config
e salvarlo in un file separato eseguendo il comando seguente:oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
Il proprio output dovrebbe essere simile al seguente. Si noti che il valore effettivo del segreto è stato rimosso.
{ "auths": { "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
Passare al portale di gestione del cluster di Red Hat OpenShift e selezionare Scarica il segreto di pull. Il segreto di pull Red Hat sarà simile al seguente. Si noti che i valori effettivi del segreto sono stati rimossi.
{ "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" } } }
Modificare il file del segreto di pull ottenuto dal cluster aggiungendo le voci trovate nel segreto di pull Red Hat.
Importante
Includendo la voce
cloud.openshift.com
dal segreto di pull Red Hat, il cluster inizierà a inviare i dati di telemetria a Red Hat. Includere questa sezione solo se si desidera inviare dati di telemetria. In caso contrario, escludere la sezione seguente.{ "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "klamenzo@redhat.com" }
Attenzione
Non rimuovere o modificare la voce
arosvc.azurecr.io
dal segreto di pull. Questa sezione è necessaria per il corretto funzionamento del cluster."arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" }
Il file finale deve essere simile al seguente. Si noti che i valori effettivi del segreto sono stati rimossi.
{ "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>" } } }
Assicurarsi che il file sia JSON valido. Esistono numerosi modi per convalidare il codice JSON. L'esempio seguente usa jq:
cat pull-secret.json | jq
Nota
Se si verifica un errore nel file, viene visualizzato come
parse error
.
Aggiungere il segreto di pull al cluster
Eseguire il comando seguente per aggiornare il segreto di pull.
Nota
In ARO 4.9 o versioni precedenti, l'esecuzione di questo comando causerà il graduale riavvio dei nodi del cluster man mano che vengono aggiornati. Nella versione 4.10 o successiva di ARO, non verrà attivato un riavvio.
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json
Verificare che il segreto di pull sia sul posto
oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json
Dopo aver impostato il segreto, è tutto pronto per abilitare gli operatori certificati da Red Hat.
Modificare i file di configurazione
Modificare gli oggetti seguenti per abilitare gli operatori Red Hat.
Prima di tutto, modificare il file di configurazione di Samples Operator. È quindi possibile eseguire il comando seguente per modificare il file di configurazione:
oc edit configs.samples.operator.openshift.io/cluster -o yaml
Modificare il valore spec.managementState
da Removed
a Managed
.
Il frammento YAML seguente mostra solo le sezioni pertinenti del file YAML modificato:
apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
...
spec:
architectures:
- x86_64
managementState: Managed
In secondo luogo, eseguire il comando seguente per modificare il file di configurazione dell'hub operatore:
oc edit operatorhub cluster -o yaml
Modificare il valore Spec.Sources.Disabled
da true
a false
per le origini che si desidera abilitare.
Il frammento YAML seguente mostra solo le sezioni pertinenti del file YAML modificato:
Name: cluster
...
dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
Sources:
Disabled: false
Name: certified-operators
Disabled: false
Name: redhat-operators
Salvare il file per rendere effettive le modifiche.
Verificare che il segreto funzioni
Dopo aver aggiunto il segreto di pull e modificato i file di configurazione corretti, il cluster può richiedere alcuni minuti per essere aggiornato. Per verificare che il cluster sia stato aggiornato, eseguire il comando seguente per visualizzare le origini Operatori certificati e operatori Red Hat disponibili:
$ 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
Se non vengono visualizzati gli operatori certificati e gli operatori Red Hat, attendere alcuni minuti e riprovare.
Per assicurarsi che il segreto di pull sia stato aggiornato e funzioni correttamente, aprire OperatorHub e verificare la presenza di qualsiasi operatore verificato da Red Hat. Ad esempio, verificare se l'operatore di archiviazione contenitori OpenShift è disponibile e verificare se si dispone delle autorizzazioni per l'installazione.
Passaggi successivi
Per altre informazioni sui segreti pull di Red Hat, vedere Uso dei segreti di pull delle immagini.
Per altre informazioni su Red Hat OpenShift 4, vedere Documentazione della piattaforma contenitori di Red Hat OpenShift.