Gestión de configuraciones de GitOps

Crea una configuración para implementar aplicaciones desde tu repositorio GitHub o GitLab en tus clústeres.

Satellite Config vuelve a aplicar la configuración actual cada 5 minutos, independientemente de si se ha realizado correctamente o no. Si se realiza alguna actualización en la configuración del clúster, por ejemplo, mediante kubectl edit, Satellite, Config actualizará la configuración para que coincida con lo definido en el repositorio GitHub o GitLab.

Creación de configuraciones de Satellite

Con Satellite Config, puede crear una configuración para especificar qué recursos de Kubernetes desea desplegar en un grupo de clústeres de Red Hat OpenShift on IBM Cloud que se ejecutan en la ubicación de Satellite o en IBM Cloud.

Antes de empezar

Creación de una clave secreta para utilizar un repositorio privado

Para conectarte a repositorios privados, debes crear un token de acceso personal de Git y aplicarlo a tus clústeres.

  1. Cree una señal de Github o Gitlab.

  2. Codifica el token en base64.

    printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64
    
  3. Para cada clúster que desee utilizar, inicie sesión en el clúster y cree un secreto denominado razee-git en el espacio de nombres razeedeploy aplicando el siguiente archivo YAML:

    apiVersion: v1
    data:
      token: [BASE64_ENCODED_TOKEN_FROM_GITHUB_OR_GITLAB]
    kind: Secret
    metadata:
      name: razee-git
      namespace: razeedeploy
    type: Opaque
    

    Solo puedes tener un secreto entre los repositorios GitHub y GitLab.

Creación de configuraciones de Satellite desde la consola

Para desplegar una app de ejemplo, consulte Despliegue de recursos de Kubernetes en clústeres con Satellite Config.

Para crear la configuración personalizada, utilice la interfaz de usuario de Satellite y siga estos pasos.

  1. Inicie sesión en la IU de configuración deSatellite con sus credenciales de IBM Cloud.

  2. Pulse Crear configuración.

  3. En la página Examinar plantillas, seleccione la plantilla GitOps.

  4. En la página Configuración, especifique el nombre de configuración y el proveedor.

    Campo Descripción
    Nombre de la configuración Introduce el nombre de la configuración de « Satellite ».
    Proveedor Selecciona el proveedor remoto para las configuraciones de « Satellite », que almacena las definiciones de los recursos de « Kubernetes » que se van a implementar en tus clústeres. Las opciones son GitHub y GitLab.
  1. En la página «Suscripción», especifica tu repositorio URL, la visibilidad del repositorio, Git los detalles de la referencia, la ruta a tu archivo o directorio y el grupo de clústeres en el que deseas realizar la implementación.
    Campo Descripción
    Repositorio URL Introduce el repositorio remoto que se va a utilizar para esta suscripción a Satellite.
    Visibilidad del repositorio Seleccione si este repositorio es público o privado.
    Tipo de referencia de « Git » Selecciona el tipo de referencia de « Git » que se va a utilizar para esta suscripción a « Satellite ». Los valores válidos son Branch, Tag, Commit y Release.
    Nombre de la rama/etiqueta/comit/versión Introduce la referencia Git que se va a utilizar para esta suscripción Satellite.
    Ruta Introduce la ruta a los archivos del repositorio remoto que se utilizarán para esta suscripción a Satellite.
    Nombre de la suscripción Introduce un nombre para tu suscripción a « Satellite ». El nombre de branch/tag/commit/release se rellena automáticamente como nombre de suscripción de forma predeterminada.
    Grupo de clústeres Introduce el nombre del grupo de clústeres en el que deseas implementar tus recursos de Kubernetes.
  1. En la página Resumen, confirme que la información visualizada es correcta y, a continuación, pulse Completar.

Creación de configuraciones de Satellite desde la CLI

Utiliza el complemento de la interfaz de línea de comandos (CLI) para comandos de Satellite con el fin de crear una configuración.

Para crear la configuración:

  1. Configure los clústeres para utilizarlos con la configuración de Satellite. Esta configuración incluye la creación de un grupo de clústeres y la concesión de acceso a la configuración de Satellite a tus clústeres.

  2. Crea una configuración de « Satellite ».

    ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]
    
    Descripción de los componentes de este mandato
    Componente Descripción
    --name <config_name> Especifique el nombre de la configuración de Satellite.
    --provider <provider> Especifique el proveedor remoto para las configuraciones de Satellite, que almacena las definiciones de los recursos de Kubernetes que se van a desplegar en los clústeres. Los valores válidos son github y gitlab.
    -q No mostrar el mensaje del día ni los recordatorios de actualización.

    Salida de ejemplo

    Creating configuration...
    OK
    Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393.
    
  3. Cree una Suscripción para el grupo de clústeres en la configuración de Satellite.

    ibmcloud sat subscription create --name <subscription_name> --group <cluster_group_name> --config <config_name_or_ID> --repository <repository_value> --gitref-type <type_value> --gitref <gitref_value> --path <path_value> [-q]
    
    Descripción de los componentes de este mandato
    Componente Descripción
    --name <subscription_name> Especifique un nombre para la suscripción de Satellite.
    --group <cluster_group_name> Especifique el nombre del grupo de clústeres en el que desea desplegar los recursos de Kubernetes.
    --config <config_name_or_ID> Especifique el nombre o el ID de la configuración de Satellite que ha creado anteriormente.
    --repository <repository_value> Especifique el repositorio remoto que se utilizará para esta suscripción de Satellite.
    --gitref-type <type_value> Especifique el tipo de referencia Git que se utilizará para esta suscripción de Satellite. Los valores válidos son branch, commit, tag y release.
    --gitref <gitref_value> Especifique la referencia Git que se utilizará para esta suscripción de Satellite.
    --path <path_value> Especifique la vía de acceso a los archivos en el repositorio remoto para utilizar para esta suscripción de Satellite.
    -q No mostrar el mensaje del día ni los recordatorios de actualización.

    Salida de ejemplo

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  4. Siga el paso 5 del tema sobre Creación de configuraciones de Satellite desde la consola para revisar el estado de despliegue de los recursos de Kubernetes.

Actualización de la configuración de Satellite

Para actualizar la configuración, puede realizar actualizaciones en el nivel de suscripción. Las acciones que debe realizar dependen del tipo de actualizaciones que desee realizar.

  • Para desplegar una nueva versión de la aplicación en el mismo grupo de clústeres, actualice los archivos en el repositorio GitHub o GitLab definido en la configuración y confirme los cambios.
  • Para cambiar las propiedades del repositorio de origen, puede editar la suscripción y actualizar los campos con nuevos detalles.
  • Para asociar varios repositorios con la misma configuración, añadir un nuevo repositorio de origen o añadir nuevos detalles de referencia Git para el mismo repositorio de origen, puede crear nuevas suscripciones. Haga clic en Crear suscripción y complete los datos de su nueva suscripción. Si desea crear una nueva suscripción que solo tenga algunos detalles modificados, puede utilizar la opción Duplicar para rellenar automáticamente todos los campos con propiedades de la suscripción existente y modificar los campos que desea cambiar.
  • Para suprimir una suscripción, utilice la opción Eliminar.

Actualizar tu suscripción desde la consola

Utiliza la consola « Satellite » para actualizar tu configuración.

  1. Inicie sesión en la IU de configuración deSatellite con sus credenciales de IBM Cloud.

  2. Selecciona la configuración que deseas actualizar.

  3. Pulse el menú de desbordamiento en la línea de la suscripción que desea actualizar y seleccione Editar.

  4. En la página Editar suscripción, realice los cambios y pulse Guardar.

Actualización de Satellite Config con la CLI

Utiliza el complemento de la línea de comandos para comandos de Satellite con el fin de actualizar tu configuración. Si desea actualizar la configuración para utilizar un archivo nuevo, puede actualizar la suscripción para que apunte al archivo nuevo.

  1. Actualice la Suscripción para que el grupo de clústeres utilice la nueva configuración de Satellite en el repositorio remoto. Sólo necesita especificar los parámetros que desea cambiar.

    ibmcloud sat subscription update --subscription <subscription_name> [--name <new_subscription_name>] [--group <cluster_group_name>] [--repository <repository_value>] [--gitref-type <type_value>] [--gitref <gitref_value>] [--path <path_value>] [-f] [-q]
    
    Descripción de los componentes de este mandato
    Componente Descripción
    --subscription <subscription_value> Introduce el nombre o el ID de la suscripción que deseas actualizar.
    --name <new_subscription_name> Introduce el nuevo nombre de la suscripción.
    --group <cluster_group_name> Especifique el nombre del grupo de clústeres en el que desea desplegar los recursos de Kubernetes.
    --repository <repository_value> Especifique el repositorio remoto que se utilizará para esta suscripción de Satellite.
    --gitref-type <type_value> Especifique el tipo de referencia Git que se utilizará para esta suscripción de Satellite. Los valores válidos son branch, commit, tag y release.
    --gitref <gitref_value> Especifique la referencia Git que se utilizará para esta suscripción de Satellite.
    --path <path_value> Especifique la vía de acceso a los archivos en el repositorio remoto para utilizar para esta suscripción de Satellite.
    -f Forzar que el mandato se ejecute sin solicitudes de usuario.
    -q No mostrar el mensaje del día ni los recordatorios de actualización.

    Salida de ejemplo

    Are you sure you want to update the subscription <subscription_name>? [y/N]y
    OK
    Subscription f6114bd5-f71e-4335-b034-ca45fa3cab81 was successfully updated.
    
  2. Siga el paso 5 del tema sobre Creación de configuraciones de Satellite desde la consola para revisar el estado de despliegue de los recursos de Kubernetes.