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.

Prerequisiti

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 pull secret con altri valori dal pull secret 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
    

    L'output dovrebbe essere simile all'esempio seguente e 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 pull di Red Hat è simile all'esempio seguente e i valori reali dei segreti sono stati rimossi.

    {
      "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. Modificare il file del segreto di pull ottenuto dal cluster aggiungendo le voci trovate nel segreto di pull Red Hat.

    Importante

    Se si include l'elemento cloud.openshift.com dal pull secret di Red Hat, il cluster invia 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": "violet@contoso.com"
      }
    

    Attenzione

    Non rimuovere o modificare l'elemento arosvc.azurecr.io dal segreto di estrazione. Questa sezione è necessaria per il corretto funzionamento del cluster.

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

    Il file finale dovrebbe assomigliare all'esempio seguente, e i valori segreti effettivi sono stati rimossi.

    {
      "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. Assicurarsi che il file sia JSON valido. Esistono numerosi modi per convalidare il codice JSON. Nell'esempio seguente viene jq usato per convalidare il file.

    cat pull-secret.json | jq
    

    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. In ARO 4.9 o versioni precedenti, l'esecuzione di questo comando fa sì che i nodi del cluster riavviino uno per uno man mano che vengono aggiornati. In ARO 4.10 versione o successiva non viene 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.

Modificare il file di configurazione dell'operatore Samples. È 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

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 pull e modificato i file di configurazione corretti, il completamento degli aggiornamenti del cluster può richiedere alcuni minuti. Per verificare che il cluster sia stato aggiornato, eseguire il comando seguente per visualizzare le origini Certified Operators e Red Hat Operators 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 pull sia stato aggiornato ed è funzionale, 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