documentation.suse.com / Documentación de SUSE Edge / Documentación del producto / Acciones del ciclo de vida

43 Acciones del ciclo de vida

Esta sección describe las acciones de gestión del ciclo de vida de los clústeres desplegados con SUSE Edge for Telco.

43.1 Actualizaciones del clúster de gestión

La actualización del clúster de gestión implica varios componentes. Para obtener una lista de los componentes generales que requieren una actualización, consulte la documentación sobre el clúster de gestión de día 2 (Capítulo 35, Clúster de gestión).

El procedimiento de actualización de los componentes específicos de esta configuración se indica a continuación.

Actualización de Metal3

Para actualizar Metal3, use el comando siguiente para actualizar la caché del repositorio de Helm y obtener el chart más reciente para instalar Metal3 desde el repositorio de charts de Helm:

helm repo update
helm fetch suse-edge/metal3

Después, la forma más fácil de actualizar es exportar las configuraciones actuales a un archivo y, a continuación, actualizar la versión de Metal3 utilizando ese archivo anterior. Si es necesario realizar algún cambio en la nueva versión, el archivo se puede editar antes de la actualización.

helm get values metal3 -n metal3-system -o yaml > metal3-values.yaml
helm upgrade metal3 suse-edge/metal3 \
  --namespace metal3-system \
  -f metal3-values.yaml \
  --version=303.0.7+up0.11.5

43.2 Actualización de clústeres descendentes

Para actualizar los clústeres descendentes hay que actualizar varios componentes. Las siguientes secciones describen el proceso de actualización de cada uno de los componentes.

Actualización del sistema operativo

Para este proceso, consulte la siguiente referencia (Sección 42.2, “Preparación de la imagen del clúster descendente para entornos conectados”) para crear la nueva imagen con una nueva versión del sistema operativo. Con esta nueva imagen generada por EIB, la siguiente fase de aprovisionamiento utiliza la nueva versión operativa proporcionada. En el siguiente paso, la nueva imagen se utiliza para actualizar los nodos.

Actualización del clúster RKE2

Los cambios necesarios para actualizar el clúster RKE2 utilizando el flujo de trabajo automatizado son los siguientes:

apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: RKE2ControlPlane
metadata:
  name: single-node-cluster
  namespace: default
spec:
  infrastructureRef:
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: Metal3MachineTemplate
    name: single-node-cluster-controlplane
  version: ${RKE2_NEW_VERSION}
  replicas: 1
  rolloutStrategy:
    type: "RollingUpdate"
    rollingUpdate:
      maxSurge: 0
  serverConfig:
    cni: cilium
  rolloutStrategy:
    rollingUpdate:
      maxSurge: 0
  registrationMethod: "control-plane-endpoint"
  agentConfig:
    format: ignition
    additionalUserData:
      config: |
        variant: fcos
        version: 1.4.0
        systemd:
          units:
            - name: rke2-preinstall.service
              enabled: true
              contents: |
                [Unit]
                Description=rke2-preinstall
                Wants=network-online.target
                Before=rke2-install.service
                ConditionPathExists=!/run/cluster-api/bootstrap-success.complete
                [Service]
                Type=oneshot
                User=root
                ExecStartPre=/bin/sh -c "mount -L config-2 /mnt"
                ExecStart=/bin/sh -c "sed -i \"s/BAREMETALHOST_UUID/$(jq -r .uuid /mnt/openstack/latest/meta_data.json)/\" /etc/rancher/rke2/config.yaml"
                ExecStart=/bin/sh -c "echo \"node-name: $(jq -r .name /mnt/openstack/latest/meta_data.json)\" >> /etc/rancher/rke2/config.yaml"
                ExecStartPost=/bin/sh -c "umount /mnt"
                [Install]
                WantedBy=multi-user.target
    kubelet:
      extraArgs:
        - provider-id=metal3://BAREMETALHOST_UUID
    nodeName: "localhost.localdomain"
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: Metal3MachineTemplate
metadata:
  name: single-node-cluster-controlplane
  namespace: default
spec:
  nodeReuse: True
  template:
    spec:
      automatedCleaningMode: metadata
      dataTemplate:
        name: single-node-cluster-controlplane-template
      hostSelector:
        matchLabels:
          cluster-role: control-plane
      image:
        checksum: http://imagecache.local:8080/${NEW_IMAGE_GENERATED}.sha256
        checksumType: sha256
        format: raw
        url: http://imagecache.local:8080/${NEW_IMAGE_GENERATED}.raw

Después de realizar estos cambios, el archivo capi-provisioning-example.yaml se puede aplicar al clúster con este comando:

kubectl apply -f capi-provisioning-example.yaml
Documentation survey