Condividi tramite


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.

  1. Recuperare il segreto denominato pull-secret nello spazio dei nomi openshift-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>"
            }
        }
    }
    
  2. 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"
            }
        }
    }
    
  3. 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>"
            }
        }
    }
    
  4. 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.