Compartir a través de


Adición o actualización del secreto de extracción de Red Hat en un clúster de la versión 4 de Red Hat OpenShift en Azure

En esta guía se explica cómo agregar o actualizar el secreto de extracción de Red Hat para un clúster de Red Hat OpenShift 4 de Azure existente.

Para una nueva implementación de clúster, puede agregar el secreto de extracción al crear el clúster. Para obtener más información sobre cómo crear un clúster con un secreto de extracción de Red Hat, consulte Obtención de un secreto de extracción de Red Hat (opcional).

Prerrequisitos

En esta guía se da por supuesto que tiene un clúster existente de la versión 4 de Red Hat OpenShift en Azure. Asegúrese de tener acceso de administrador al clúster.

Preparación del secreto de extracción

Cuando se crea un clúster sin agregar un secreto de extracción de Red Hat, se sigue creando un secreto de extracción en el clúster automáticamente. Sin embargo, este secreto de extracción no se rellena por completo.

En esta sección se explica cómo actualizar ese secreto de extracción con otros valores del secreto de extracción de Red Hat.

  1. Capture el secreto denominado pull-secret en el espacio de nombres openshift-config y guárdelo en un archivo independiente a través del comando siguiente:

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
    

    La salida debería ser similar al ejemplo siguiente y se eliminó el valor secreto real.

    {
      "auths": {
        "arosvc.azurecr.io": {
          "auth": "<my-aroscv.azurecr.io-secret>"
        }
      }
    }
    
  2. Vaya al portal del administrador de clústeres de Red Hat OpenShift y seleccione Descargar secreto de extracción. El pull secret de Red Hat es similar al siguiente ejemplo y se han eliminado los valores reales del secreto.

    {
      "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 el archivo del secreto de extracción que recibió del clúster agregando las entradas que se encuentran en el secreto de extracción de Red Hat.

    Importante

    Si incluye la cloud.openshift.com entrada del secreto de extracción de Red Hat, el clúster envía datos de telemetría a Red Hat. Incluya solo esta sección si desea enviar datos de telemetría. De lo contrario, excluya la sección siguiente.

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

    Precaución

    No elimine ni modifique la entrada arosvc.azurecr.io de su secreto de pull. Esta sección es necesaria para que el clúster funcione correctamente.

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

    El archivo final debe tener un aspecto similar al del ejemplo siguiente y se quitaron los valores de secreto reales.

    {
      "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. Asegúrese de que el archivo sea un JSON válido. Hay muchas maneras de validar el archivo JSON. En el ejemplo siguiente se usa jq para validar el archivo.

    cat pull-secret.json | jq
    

    Si hay un error en el archivo, aparece como parse error.

Adición del secreto de extracción al clúster

Ejecute el comando siguiente para actualizar el secreto de extracción. En la versión 4.9 o anterior, al ejecutar este comando, los nodos del clúster se reiniciarán uno a uno a medida que se actualicen. En la versión 4.10 o posterior, no se desencadena un reinicio.

oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json

Comprobación de que el secreto de extracción está en su lugar

oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json

Una vez que se haya establecido el secreto, está listo para habilitar los operadores certificados en Red Hat.

Modificación de los archivos de configuración

Modifique los siguientes objetos para habilitar los operadores de Red Hat.

Modifique el archivo de configuración del operador samples. Luego, puede ejecutar el comando siguiente para editar el archivo de configuración:

oc edit configs.samples.operator.openshift.io/cluster -o yaml

Cambie el valor de spec.managementState de Removed a Managed.

El siguiente fragmento de código de YAML muestra solo las secciones pertinentes del archivo YAML editado:

apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:

  ...

spec:
  architectures:
  - x86_64
  managementState: Managed

Ejecute el siguiente comando para editar el archivo de configuración del centro de operadores:

oc edit operatorhub cluster -o yaml

Cambie el valor Spec.Sources.Disabled de true a false para cualquier origen que desee habilitar.

El siguiente fragmento de código de YAML muestra solo las secciones pertinentes del archivo YAML editado:

Name:         cluster

...
                 dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
  Sources:
    Disabled:  false
    Name:      certified-operators
    Disabled:  false
    Name:      redhat-operators

Guarde el archivo para aplicar las modificaciones.

Validación de que el secreto funciona

Después de agregar el secreto de extracción y modificar los archivos de configuración correctos, las actualizaciones del clúster pueden tardar varios minutos en finalizar. Para comprobar que el clúster se actualizó, ejecute el siguiente comando para mostrar los orígenes de Operadores Certificados y Operadores de Red Hat disponibles.

$ 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

Si no ve los operadores certificados y los operadores de Red Hat, espere unos minutos y vuelva a intentarlo.

Para asegurarse de que el secreto de extracción se actualizó y es funcional, abra OperatorHub y compruebe si hay cualquier operador comprobado de Red Hat. Por ejemplo, compruebe si el operador OpenShift Container Storage está disponible y vea si tiene permisos para instalar.

Pasos siguientes