documentation.suse.com / Documentação do SUSE Edge / Documentação do produto / Ações de ciclo de vida

43 Ações de ciclo de vida

Esta seção aborda as ações de gerenciamento do ciclo de vida para clusters implantados pelo SUSE Edge for Telco.

43.1 Upgrades de cluster de gerenciamento

O upgrade do cluster de gerenciamento envolve vários componentes. Para ver a lista dos componentes gerais que exigem upgrade, consulte a documentação do cluster de gerenciamento de dia 2 (Capítulo 35, Cluster de gerenciamento).

O procedimento de upgrade dos componentes específicos desta configuração está descrito abaixo.

Fazendo upgrade do Metal3

Para fazer upgrade do Metal3, use o seguinte comando para atualizar o cache do repositório Helm e buscar o gráfico mais recente para instalar o Metal3 do repositório de gráficos Helm:

helm repo update
helm fetch suse-edge/metal3

Depois disso, a maneira fácil de fazer upgrade é exportar suas configurações atuais para um arquivo e fazer upgrade da versão do Metal3 usando o arquivo anterior. Se for necessário alterar alguma coisa na nova versão, edite o arquivo antes do upgrade.

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 Upgrades de cluster downstream

O upgrade de clusters downstream envolve a atualização de vários componentes. As seções a seguir abordam o processo de upgrade de cada um deles.

Fazendo upgrade do sistema operacional

Para este processo, consulte a seguinte referência (Seção 42.2, “Preparar uma imagem de cluster downstream para cenários conectados”) para criar uma imagem com uma nova versão do sistema operacional. Com essa imagem gerada pelo EIB, a próxima fase de provisionamento usará a nova versão do sistema operacional fornecida. Na etapa seguinte, a nova imagem será usada para fazer upgrade dos nós.

Fazendo upgrade do cluster RKE2

As alterações necessárias para fazer upgrade do cluster RKE2 usando o fluxo de trabalho automatizado são as seguintes:

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

Depois de fazer essas alterações, o arquivo capi-provisioning-example.yaml poderá ser aplicado ao cluster usando o seguinte comando:

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