Skip to main content
Hay disponible una nueva versión de este producto.
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Actualice Astra Control Center

Colaboradores

Para actualizar Astra Control Center, descargue el paquete de instalación desde el sitio de soporte de NetApp y complete estas instrucciones para actualizar los componentes de Astra Control Center en su entorno. Puede utilizar este procedimiento para actualizar Astra Control Center en entornos conectados a Internet o con conexión por aire.

Lo que necesitará
Acerca de esta tarea

El proceso de actualización del Centro de control de Astra le guiará por los siguientes pasos de alto nivel:

Importante No ejecute el siguiente comando durante todo el proceso de actualización para evitar eliminar todas las POD de Astra Control Center: kubectl delete -f astra_control_center_operator_deploy.yaml
Consejo Realice actualizaciones en una ventana de mantenimiento cuando no se estén ejecutando las programaciones, los backups y las snapshots.
Nota Los comandos de Podman se pueden utilizar en lugar de los comandos de Docker si está utilizando Podman de Red Hat en lugar de Docker Engine.

Descargue el paquete Astra Control Center

  1. Descargue el paquete de actualización de Astra Control Center (astra-control-center-[version].tar.gz) del "Sitio de soporte de NetApp".

  2. (Opcional) Use el siguiente comando para verificar la firma del paquete:

    openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz

Desembale el paquete y cambie el directorio

  1. Extraiga las imágenes:

    tar -vxzf astra-control-center-[version].tar.gz
  2. Cambie al directorio Astra.

    cd astra-control-center-[version]

Agregue las imágenes al registro local

  1. Agregue los archivos del directorio imagen de Astra Control Center al registro local.

    Nota Consulte una secuencia de comandos de ejemplo para la carga automática de imágenes a continuación.
    1. Inicie sesión en su registro de Docker:

      docker login [your_registry_path]
    2. Cargue las imágenes en Docker.

    3. Etiquete las imágenes.

    4. empuje las imágenes al registro local.

      export REGISTRY=[your_registry_path]
      for astraImageFile in $(ls images/*.tar)
        # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: '
        do astraImage=$(docker load --input ${astraImageFile} | sed 's/Loaded image: //')
        astraImage=$(echo ${astraImage} | sed 's!localhost/!!')
        # Tag with local image repo.
        docker tag ${astraImage} ${REGISTRY}/${astraImage}
        # Push to the local repo.
        docker push ${REGISTRY}/${astraImage}
      done

Instale el operador actualizado de Astra Control Center

  1. Edite la implementación del operador de Astra Control Center yaml (astra_control_center_operator_deploy.yaml) para referirse a su registro local y secreto.

    vim astra_control_center_operator_deploy.yaml
    1. Si utiliza un registro que requiere autenticación, reemplace la línea predeterminada de imagePullSecrets: [] con lo siguiente:

      imagePullSecrets:
      - name: <name_of_secret_with_creds_to_local_registry>
    2. Cambiar [your_registry_path] para la kube-rbac-proxy imagen a la ruta del registro en la que se insertó la imagen en un paso anterior.

    3. Cambiar [your_registry_path] para la acc-operator-controller-manager imagen a la ruta del registro en la que se insertó la imagen en un paso anterior.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        control-plane: controller-manager
      name: acc-operator-controller-manager
      namespace: netapp-acc-operator
    spec:
      replicas: 1
      selector:
        matchLabels:
          control-plane: controller-manager
      template:
        metadata:
          labels:
            control-plane: controller-manager
        spec:
          containers:
          - args:
            - --secure-listen-address=0.0.0.0:8443
            - --upstream=http://127.0.0.1:8080/
            - --logtostderr=true
            - --v=10
            image: [your_registry_path]/kube-rbac-proxy:v4.8.0
            name: kube-rbac-proxy
            ports:
            - containerPort: 8443
              name: https
          - args:
            - --health-probe-bind-address=:8081
            - --metrics-bind-address=127.0.0.1:8080
            - --leader-elect
            command:
            - /manager
            env:
            - name: ACCOP_LOG_LEVEL
              value: "2"
            image: [your_registry_path]/acc-operator:[version x.y.z]
            imagePullPolicy: IfNotPresent
          imagePullSecrets: []
  2. Instale el operador actualizado de Astra Control Center:

    kubectl apply -f astra_control_center_operator_deploy.yaml

    Respuesta de ejemplo:

    namespace/netapp-acc-operator unchanged
    customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io configured
    role.rbac.authorization.k8s.io/acc-operator-leader-election-role unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role configured
    clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role unchanged
    rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding unchanged
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding configured
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding unchanged
    configmap/acc-operator-manager-config unchanged
    service/acc-operator-controller-manager-metrics-service unchanged
    deployment.apps/acc-operator-controller-manager configured

Actualice Astra Control Center

  1. Edite el recurso personalizado de Astra Control Center (CR) y cambie la versión de Astra (astraVersion dentro de Spec) número a la última:

    kubectl edit acc -n [netapp-acc or custom namespace]
    Nota Cambiar la versión Astra es el único requisito para una actualización a Astra Control Center. La ruta de acceso del Registro debe coincidir con la ruta de acceso del Registro en la que ha insertado las imágenes en un paso anterior.
  2. Compruebe que los POD terminan y estén disponibles de nuevo:

    watch kubectl get pods -n [netapp-acc or custom namespace]
  3. Compruebe que todos los componentes del sistema se han actualizado correctamente.

    kubectl get pods -n [netapp-acc or custom namespace]

    Cada pod debe tener el estado de Running y.. Age eso es reciente. Pueden tardar varios minutos en implementar los pods del sistema.

    Respuesta de ejemplo:

    NAME                                         READY   STATUS    RESTARTS   AGE
    acc-helm-repo-5f75c5f564-bzqmt             1/1     Running   0          11m
    activity-6b8f7cccb9-mlrn4                  1/1     Running   0          9m2s
    api-token-authentication-6hznt             1/1     Running   0          8m50s
    api-token-authentication-qpfgb             1/1     Running   0          8m50s
    api-token-authentication-sqnb7             1/1     Running   0          8m50s
    asup-5578bbdd57-dxkbp                      1/1     Running   0          9m3s
    authentication-56bff4f95d-mspmq            1/1     Running   0          7m31s
    bucketservice-6f7968b95d-9rrrl             1/1     Running   0          8m36s
    cert-manager-5f6cf4bc4b-82khn              1/1     Running   0          6m19s
    cert-manager-cainjector-76cf976458-sdrbc   1/1     Running   0          6m19s
    cert-manager-webhook-5b7896bfd8-2n45j      1/1     Running   0          6m19s
    cloud-extension-749d9f684c-8bdhq           1/1     Running   0          9m6s
    cloud-insights-service-7d58687d9-h5tzw     1/1     Running   2          8m56s
    composite-compute-968c79cb5-nv7l4          1/1     Running   0          9m11s
    composite-volume-7687569985-jg9gg          1/1     Running   0          8m33s
    credentials-5c9b75f4d6-nx9cz               1/1     Running   0          8m42s
    entitlement-6c96fd8b78-zt7f8               1/1     Running   0          8m28s
    features-5f7bfc9f68-gsjnl                  1/1     Running   0          8m57s
    fluent-bit-ds-h88p7                        1/1     Running   0          7m22s
    fluent-bit-ds-krhnj                        1/1     Running   0          7m23s
    fluent-bit-ds-l5bjj                        1/1     Running   0          7m22s
    fluent-bit-ds-lrclb                        1/1     Running   0          7m23s
    fluent-bit-ds-s5t4n                        1/1     Running   0          7m23s
    fluent-bit-ds-zpr6v                        1/1     Running   0          7m22s
    graphql-server-5f5976f4bd-vbb4z            1/1     Running   0          7m13s
    identity-56f78b8f9f-8h9p9                  1/1     Running   0          8m29s
    influxdb2-0                                1/1     Running   0          11m
    krakend-6f8d995b4d-5khkl                   1/1     Running   0          7m7s
    license-5b5db87c97-jmxzc                   1/1     Running   0          9m
    login-ui-57b57c74b8-6xtv7                  1/1     Running   0          7m10s
    loki-0                                     1/1     Running   0          11m
    monitoring-operator-9dbc9c76d-8znck        2/2     Running   0          7m33s
    nats-0                                     1/1     Running   0          11m
    nats-1                                     1/1     Running   0          10m
    nats-2                                     1/1     Running   0          10m
    nautilus-6b9d88bc86-h8kfb                  1/1     Running   0          8m6s
    nautilus-6b9d88bc86-vn68r                  1/1     Running   0          8m35s
    openapi-b87d77dd8-5dz9h                    1/1     Running   0          9m7s
    polaris-consul-consul-5ljfb                1/1     Running   0          11m
    polaris-consul-consul-s5d5z                1/1     Running   0          11m
    polaris-consul-consul-server-0             1/1     Running   0          11m
    polaris-consul-consul-server-1             1/1     Running   0          11m
    polaris-consul-consul-server-2             1/1     Running   0          11m
    polaris-consul-consul-twmpq                1/1     Running   0          11m
    polaris-mongodb-0                          2/2     Running   0          11m
    polaris-mongodb-1                          2/2     Running   0          10m
    polaris-mongodb-2                          2/2     Running   0          10m
    polaris-ui-84dc87847f-zrg8w                1/1     Running   0          7m12s
    polaris-vault-0                            1/1     Running   0          11m
    polaris-vault-1                            1/1     Running   0          11m
    polaris-vault-2                            1/1     Running   0          11m
    public-metrics-657698b66f-67pgt            1/1     Running   0          8m47s
    storage-backend-metrics-6848b9fd87-w7x8r   1/1     Running   0          8m39s
    storage-provider-5ff5868cd5-r9hj7          1/1     Running   0          8m45s
    telegraf-ds-dw4hg                          1/1     Running   0          7m23s
    telegraf-ds-k92gn                          1/1     Running   0          7m23s
    telegraf-ds-mmxjl                          1/1     Running   0          7m23s
    telegraf-ds-nhs8s                          1/1     Running   0          7m23s
    telegraf-ds-rj7lw                          1/1     Running   0          7m23s
    telegraf-ds-tqrkb                          1/1     Running   0          7m23s
    telegraf-rs-9mwgj                          1/1     Running   0          7m23s
    telemetry-service-56c49d689b-ffrzx         1/1     Running   0          8m42s
    tenancy-767c77fb9d-g9ctv                   1/1     Running   0          8m52s
    traefik-5857d87f85-7pmx8                   1/1     Running   0          6m49s
    traefik-5857d87f85-cpxgv                   1/1     Running   0          5m34s
    traefik-5857d87f85-lvmlb                   1/1     Running   0          4m33s
    traefik-5857d87f85-t2xlk                   1/1     Running   0          4m33s
    traefik-5857d87f85-v9wpf                   1/1     Running   0          7m3s
    trident-svc-595f84dd78-zb8l6               1/1     Running   0          8m54s
    vault-controller-86c94fbf4f-krttq          1/1     Running   0          9m24s
  4. Compruebe que las condiciones de estado de Astra indican que la actualización está completa y lista:

    kubectl get -o yaml -n [netapp-acc or custom namespace] astracontrolcenters.astra.netapp.io astra

    Respuesta:

    conditions:
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Astra is deployed
        reason: Complete
        status: "True"
        type: Ready
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Upgrading succeeded.
        reason: Complete
        status: "False"
        type: Upgrading

Actualizar servicios de terceros

Los servicios de otros fabricantes Traefik y Cert-Manager no se actualizan durante los pasos de actualización anteriores. Opcionalmente, puede actualizarlos con el procedimiento descrito aquí o conservar versiones de servicio existentes si su sistema lo requiere. La siguiente es la secuencia de actualización recomendada de Trafik y Certs-Manager:

Configure ACC-helm-repo para actualizar Traefik y Cert-Manager

  1. Busque la enterprise-helm-repo Que se carga en la caché de Docker local:

    docker images enterprise-helm-repo

    Respuesta:

    REPOSITORY             TAG         IMAGE ID       CREATED        SIZE
    enterprise-helm-repo   21.10.218   7a182d6b30f3   20 hours ago   464MB
  2. Inicie un contenedor utilizando la etiqueta del paso anterior:

    docker run -dp 8082:8080 enterprise-helm-repo:21.10.218

    Respuesta:

    940436e67fa86d2c4559ac4987b96bb35588313c2c9ddc9cec195651963f08d8
  3. Agregue el campo Helm repo a los repositorios locales de host:

    helm repo add acc-helm-repo http://localhost:8082/

    Respuesta:

    "acc-helm-repo" has been added to your repositories
  4. Guarde el siguiente script de Python como un archivo, por ejemplo, set_previous_values.py:

    Nota Este script de Python crea dos archivos que se utilizan en pasos posteriores de actualización para conservar los valores del timón.
    #!/usr/bin/env python3
    import json
    import os
    
    NAMESPACE = "netapp-acc"
    
    os.system(f"helm get values traefik -n {NAMESPACE} -o json > traefik_values.json")
    os.system(f"helm get values cert-manager -n {NAMESPACE} -o json > cert_manager_values.json")
    
    # reformat traefik values
    f = open("traefik_values.json", "r")
    traefik_values = {'traefik': json.load(f)}
    f.close()
    
    with open('traefik_values.json', 'w') as output_file:
        json.dump(traefik_values, output_file)
    
    # reformat cert-manager values
    f = open("cert_manager_values.json", "r")
    cm_values = {'cert-manager': json.load(f)}
    f.close()
    
    cm_values['global'] = cm_values['cert-manager']['global']
    del cm_values['cert-manager']['global']
    
    with open('cert_manager_values.json', 'w') as output_file:
        json.dump(cm_values, output_file)
    
    print('Done')
  5. Ejecute el script:

    python3.7 ./set_previous_values.py

Actualizar el servicio Traefik utilizando ACC-helm-repo

Nota Debe tener configurar según el timón-repo antes de completar el siguiente procedimiento.
  1. Descargue el paquete Traefik usando una herramienta segura de transferencia de archivos, como GNU wget:

    wget http://localhost:8082/traefik-0.2.0.tgz
  2. Extraiga las imágenes:

    tar -vxzf traefik-0.2.0.tgz
  3. Aplique los CRD de Traefik:

    kubectl apply -f ./traefik/charts/traefik/crds/
  4. Busque la versión de la carta de Helm que desea utilizar con la actualización de Traefik:

    helm search repo acc-helm-repo/traefik

    Respuesta:

    NAME                                    CHART VERSION   APP VERSION DESCRIPTION
    acc-helm-repo/traefik                 0.2.0           2.5.3       Helm chart for Traefik Ingress controller
    acc-helm-repo/traefik-ingressroutes   0.2.0           2.5.3       A Helm chart for Kubernetes
  5. Valide el archivo travefik_Values.json para la actualización:

    1. Abra el archivo travefik_Values.json.

    2. Compruebe si hay un valor para imagePullSecret campo. Si está vacío, quite el siguiente texto del archivo:

      "imagePullSecrets": [{"name": ""}],
    3. Asegúrese de que la imagen de trafik se dirige a la ubicación correcta y tiene el nombre correcto:

      image: [your_registry_path]/traefik
  6. Actualice su configuración de Traefik:

    helm upgrade --version 0.2.0 --namespace netapp-acc -f traefik_values.json traefik acc-helm-repo/traefik

    Respuesta:

    Release "traefik" has been upgraded. Happy Helming!
    NAME: traefik
    LAST DEPLOYED: Mon Oct 25 22:53:19 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

Actualice el servicio de Cert-Manager

Nota Debe haber completado el Actualización de Traefik y.. Añadido ACC-helm-repo en Helm antes de completar el siguiente procedimiento.
  1. Encuentra la versión de la carta de timón que deberás utilizar con tu gerente de cert actualizado:

    helm search repo acc-helm-repo/cert-manager

    Respuesta:

    NAME CHART VERSION APP VERSION DESCRIPTION
    acc-helm-repo/cert-manager 0.3.0 v1.5.4 A Helm chart for cert-manager
    acc-helm-repo/cert-manager-certificates 0.1.0 1.16.0 A Helm chart for Kubernetes
  2. Valide el archivo cert_Manager_Values.json para actualizar:

    1. Abra el archivo cert_Manager_Values.json.

    2. Compruebe si hay un valor para imagePullSecret campo. Si está vacío, quite el siguiente texto del archivo:

      "imagePullSecrets": [{"name": ""}],
    3. Asegúrese de que las tres imágenes del administrador de certificados se dirigen a la ubicación correcta y tienen los nombres correctos.

  3. Actualice su configuración de Cert-Manager:

    helm upgrade --version 0.3.0 --namespace netapp-acc -f cert_manager_values.json cert-manager acc-helm-repo/cert-manager

    Respuesta:

    Release "cert-manager" has been upgraded. Happy Helming!
    NAME: cert-manager
    LAST DEPLOYED: Tue Nov 23 11:20:05 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

Comprobar el estado del sistema

  1. Inicie sesión en Astra Control Center.

  2. Compruebe que todos los clústeres y aplicaciones gestionados siguen presentes y protegidos.