Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Spezialverfahren zum Upgrade von Dynamic Engine auf 1.3.0

In Dynamic Engine 1.3.0 ändert sich die Art und Weise, wie Dienste installiert werden. Wenn Sie derzeit Dynamic Engine in der Version 1.2.x oder früher ausführen, müssen Sie Ihren Cluster für das Upgrade bereinigen, indem Sie bestehende Ressourcen bereinigen oder neu zuweisen, unabhängig davon, ob Sie die Bereitstellung mithilfe von Helm- oder Manifest-Dateien durchgeführt haben.

InformationshinweisAchtung: Befolgen Sie dieses Vorbereitungsverfahren nur, wenn Sie ein Upgrade auf Dynamic Engine 1.3.0 von einer früheren Version als 1.3.0 durchführen. Wenn Sie Dynamic Engine 1.3.0 zum ersten Mal installieren, gelten diese Schritte nicht.

Warum und wann dieser Vorgang ausgeführt wird

In Dynamic Engine 1.3.0 wird eine bedeutende Architekturänderung eingeführt, wie Helm Dienstdiagramme verwaltet. In früheren Versionen nutzte Dynamic Engine eine asynchrone Installation, wobei Dienste als separate Gruppen bereitgestellt wurden. Version 1.3.0 verwendet stattdesseen eine synchronous Installation, wobei alle Dienste in den Haupt- Dynamic Engine- und Umgebungs-Helm-Diagrammen integriert werden.

Für diesen Wechsel in der Architektur sind zwei wichtige Vorbereitungsschritte nötig: Neuzuweisung des Ressourceneigentums zur neuen Struktur und Bereinigung der älteren Helm-Metadaten.

Prozedur

  1. Sammeln Sie die Kennungen für Ihr Dynamic Engine und Umgebungen.
    Sammeln Sie vor Beginn die folgenden Informationen:
    • Ihre Dynamic Engine ID (Beispiel: c-m-bdjp7fov) und der zugehörige Kubernetes-Namespace (Beispiel: dynamic-engine-ns). Führen Sie diesen Befehl aus, um sie zu finden: kubectl get de -A
    • Ihre Dynamic Engine Umgebungs-ID (Beispiel: 6980a2850c0ed65c5a214d07) und der zugehörige Kubernetes-Namespace (Beispiel: dynamic-engine-poc-env-ns). Führen Sie diesen Befehl aus, um sie zu finden: kubectl get dee -A

      Wiederholen Sie diesen Schritt für jede Umgebung, die Sie verwalten.

    • Helm-Versionsnamen für Ihr Dynamic Engine und Umgebung: Sie verweisen standardmäßig auf dynamic-engine und dynamic-engine-env, welche im Namespace default installiert sind.
  2. Weisen Sie Kerndienste neu der neuen Dynamic Engine Version zu.

    Der Befehl get listet alle Kubernetes-Ressourcen auf, die zu den Diensten reloader und docker-registry gehören; der Befehl annotate weist das Eigentum dieser Ressourcen neu der neuen konsolidierten Dynamic Engine Version zu:

    # check
    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)'
    
    # patch
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)' \
      meta.helm.sh/release-name=dynamic-engine meta.helm.sh/release-namespace=default --overwrite

    Ersetzen Sie den Platzhalter $DYNAMIC_ENGINE_NAMESPACE durch Ihren Dynamic Engine Namespace, in diesem Beispiel dynamic-engine-ns.

  3. Weisen Sie Umgebungsdienste neu der neuen Umgebungsversion zu.

    Dieser Befehl get listet alle Dienste in einer bestimmten Dynamic Engine Umgebung auf; der Befehl annotate überträgt alle Ressourcen in Ihrer Umgebung auf die neue konsolidierte Umgebungsversion:

    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID'
    
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID' \
      meta.helm.sh/release-name=dynamic-engine-env meta.helm.sh/release-namespace=default --overwrite

    Ersetzen Sie die Platzhalter durch Ihre tatsächlichen Werte, zum Beispiel:

    • $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE: dynamic-engine-poc-env-ns
    • $DYNAMIC_ENGINE_ENVIRONMENT_ID: 6980a2850c0ed65c5a214d07

    Wiederholen Sie diesen Schritt einmal für jede Umgebung, die Sie haben.

  4. Entfernen Sie einige geheime Schlüssel des alten Helm aus der Dynamic Engine-Bereitstellung und ihren Umgebungen. Dynamic Engine v1.3.0 verwendet diese alten geheimen Schlüssel nicht mehr.
    • Für Dynamic Engine:
      kubectl get secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'

      Ersetzen Sie den Platzhalter $DYNAMIC_ENGINE_NAMESPACE durch Ihren Dynamic Engine Namespace.

      Dieser Befehl get listet die geheimen Schlüssel auf, die zu reloader und docker-registry gehören; der Befehl delete entfernt sie.

    • Für Dynamic Engine Umgebungen:
      kubectl get secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      Ersetzen Sie $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE und $DYNAMIC_ENGINE_ENVIRONMENT_ID durch die tatsächlichen Werte.
  5. Folgen Sie dem Standardverfahren für Upgrades, das in Durchführen eines Upgrades der Dynamic Engine-Version dokumentiert ist, um ein Upgrade Ihrer Dynamic Engine und der zugehörigen Umgebungen auf 1.3.0 durchzuführen.
    Schrittanforderung: Stellen Sie nach dem Download der Bereitstellungs-ZIP-Datei, aber noch vor dem Anwenden der Wertedateien sicher, dass die Cloud-Regionscode-Eigenschaft in der Werte-Datei in jeder Ihrer Umgebungen vorhanden ist.
    global:
      talendCloudRegion: <region_code>
    Sie können diesen Regionscode in der URL Ihres Talend Management Console Diensts finden.

Ergebnisse

Das Upgrade war erfolgreich und die Dienste nicht nun konsolidiert. Führen Sie diesen Befehl aus, um Folgendes zu verifizieren:

helm ls -A

Alle Dienste sollten den Status Bereitgestellt aufweisen:

NAME                    NAMESPACE  STATUS    CHART
dynamic-engine-crd     default    deployed  dynamic-engine-crd-1.3.0
dynamic-engine         default    deployed  dynamic-engine-1.3.0
dynamic-engine-env     default    deployed  dynamic-engine-environment-1.3.0

Alle Daten und Konfigurationen bleiben unverändert; nur die Art und Weise, wie die Dienste organisiert sind, hat sich geändert.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!