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 describe cómo agregar o actualizar un secreto de extracción de Red Hat para un clúster existente de la versión 4.x de Red Hat OpenShift en Azure (ARO).
Si va a crear un clúster por primera vez, puede agregar el secreto de extracción al crear el clúster. Para obtener más información sobre la creación de un clúster de ARO con un secreto de extracción de Red Hat, consulte Creación de un clúster de la versión 4 de Red Hat OpenShift en Azure.
Antes de empezar
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 de ARO sin agregar un secreto de extracción de Red Hat, aún se crea un secreto de extracción automáticamente en el clúster. Sin embargo, este secreto de extracción no se rellena por completo.
Esta sección le guía por los pasos de actualización de ese secreto de extracción con valores adicionales del secreto de extracción de Red Hat.
Capture el secreto denominado
pull-secret
en el espacio de nombresopenshift-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 debe ser similar a la siguiente (tenga en cuenta que se ha quitado el valor del secreto real).
{ "auths": { "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
Vaya al portal del administrador de clústeres de Red Hat OpenShift y seleccione Descargar secreto de extracción. El secreto de extracción de Red Hat tendrá un aspecto similar al siguiente (tenga en cuenta que se han quitado los valores del secreto reales).
{ "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 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
La inclusión de la entrada
cloud.openshift.com
del secreto de extracción de Red Hat hará que el clúster empiece a enviar datos de telemetría a Red Hat. Incluya solo esta sección si desea enviar datos de telemetría. De lo contrario, no incluya la siguiente sección.{ "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "klamenzo@redhat.com" }
Precaución
No quite ni modifique la entrada
arosvc.azurecr.io
del secreto de extracción. Esta sección es necesaria para que el clúster funcione correctamente."arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" }
El archivo final debería tener este aspecto (tenga en cuenta que se han quitado los valores del secreto reales).
{ "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>" } } }
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:
cat pull-secret.json | jq
Nota:
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.
Nota:
En ARO 4.9 o versiones anteriores, al ejecutar este comando, los nodos del clúster se reiniciarán uno a uno a medida que se actualicen. En la versión de ARO 4.10 o posterior no se desencadenará 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.
En primer lugar, modifique el archivo de configuración del operador de ejemplos. 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
En segundo lugar, ejecute el comando siguiente 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, el clúster puede tardar varios minutos en actualizarse. Para comprobar que el clúster se ha actualizado, ejecute el siguiente comando para mostrar los operadores certificados y los orígenes de 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 ha actualizado y funciona correctamente, abra OperatorHub y compruebe si hay algún operador de Red Hat verificado. Por ejemplo, compruebe si el operador OpenShift Container Storage está disponible y vea si tiene permisos para instalar.
Pasos siguientes
Para obtener más información sobre los secretos de extracción de Red Hat, consulte Using image pull secrets.
Para obtener más información acerca de Red Hat OpenShift 4, consulte la documentación de Red Hat OpenShift Container Platform.