Dieses Verfahren behandelt das Upgrade von der Apigee Hybrid-Version 1.9.x auf die Apigee Hybrid-Version 1.10.5 und von früheren Releases der Hybrid-Version 1.10.x auf Version 1.10.5.
Verwenden Sie dieselben Verfahren für Upgrades von Nebenversionen (z. B. Version 1.9 auf 1.10) und Patch-Upgrades (z. B. 1.10.0 auf 1.10.5).
Upgrade auf Version 1.10.5 – Übersicht
Die Schritte zum Upgrade von Apigee Hybrid werden in den folgenden Abschnitten erläutert:
Vorbereitung
In dieser Upgrade-Anleitung wird davon ausgegangen, dass Sie die Apigee Hybrid-Version 1.9.x installiert haben und ein Upgrade auf Version 1.10.5 durchführen möchten. Wenn Sie eine Aktualisierung von einer früheren Version ausführen, lesen Sie die Anleitung unter Upgrade von Apigee Hybrid auf Version 1.9 ausführen.
Upgrade auf Version 1.10 vorbereiten
Hybridinstallation sichern (empfohlen)
- In dieser Anleitung wird die Umgebungsvariable APIGEECTL_HOME für das Verzeichnis in Ihrem Dateisystem verwendet, in dem Sie
apigeectl
installiert haben. Wechseln Sie bei Bedarf in das Verzeichnisapigeectl
und definieren Sie die Variable mit dem folgenden Befehl:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Erstellen Sie eine Sicherungskopie Ihres
$APIGEECTL_HOME/
-Verzeichnisses der Version 1.9. Beispiel:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- Sichern Sie Ihre Cassandra-Datenbank entsprechend der Anleitung unter Cassandra-Sicherung und -Wiederherstellung.
Aktualisieren Sie Ihre Kubernetes-Version
Prüfen Sie die Version Ihrer Kubernetes-Plattform und führen Sie bei Bedarf ein Upgrade Ihrer Kubernetes-Plattform auf eine Version durch, die sowohl von Hybrid 1.9 als auch von Hybrid 1.10 unterstützt wird. Weitere Informationen finden Sie in der Dokumentation der Plattform.
Hybrid 1.10.5-Laufzeit installieren
- Sie müssen das Hybrid-Basisverzeichnis geöffnet haben. Dies ist das übergeordnete Verzeichnis des Verzeichnisses, in dem sich die ausführbare Datei
apigeectl
befindet:cd $APIGEECTL_HOME/..
-
Laden Sie das Releasepaket für Ihr Betriebssystem mit dem folgendem Befehl herunter. Wählen Sie Ihre Plattform in der folgenden Tabelle aus:
Linux
Linux 64-Bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
macOS
Mac 64-Bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows
Windows 64-Bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
- Benennen Sie Ihr aktuelles
apigeectl/
-Verzeichnis in einen Backupverzeichnisnamen um. Beispiel:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
macOS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9
-
Extrahieren Sie die heruntergeladenen gzip-Dateiinhalte in Ihr Hybrid-Basisverzeichnis. Das Hybrid-Basisverzeichnis ist das Verzeichnis, in dem sich das umbenannte Verzeichnis
apigeectl-v1.9
befindet:Linux
tar xvzf filename.tar.gz -C ./
macOS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
Die TAR-Inhalte werden standardmäßig in einem Verzeichnis gezeigt, dessen Name die Version und Plattform enthält. Beispiel:
./apigeectl_1.10.5-xxxxxxx_linux_64
. Benennen Sie dieses Verzeichnis mit dem folgenden Befehl inapigeectl
um:Linux
mv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl
macOS
mv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl
-
Wechseln Sie in das Verzeichnis
apigeectl
:cd ./apigeectl
Dieses Verzeichnis ist das Basisverzeichnis
apigeectl
. Hier befindet sich der ausführbare Befehlapigeectl
. - In dieser Anleitung wird die Umgebungsvariable
$APIGEECTL_HOME
für das Verzeichnis in Ihrem Dateisystem verwendet, in dem das Dienstprogrammapigeectl
installiert ist. Wechseln Sie bei Bedarf in das Verzeichnisapigeectl
und definieren Sie die Variable mit dem folgenden Befehl:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Prüfen Sie die Version von
apigeectl
mit dem Befehlversion
:./apigeectl version
Version: 1.10.5
- Erstellen Sie ein
hybrid-base-directory/hybrid-files
-Verzeichnis und verschieben Sie es in dieses Verzeichnis. Im Verzeichnishybrid-files
befinden sich Konfigurationsdateien wie die Überschreibungsdatei, Zertifikate und Dienstkonten. Beispiel:Linux
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
macOS
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Windows
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- Prüfen Sie mit dem folgenden Befehl, ob
kubectl
auf den richtigen Kontext eingestellt ist. Der aktuelle Kontext sollte auf den Cluster eingestellt werden, in dem Sie Apigee Hybrid aktualisieren.kubectl config get-contexts | grep \*
- Im Verzeichnis
hybrid-files
:-
Aktualisieren Sie die folgenden symbolischen Links zu
$APIGEECTL_HOME
. Mit diesen Links können Sie den neu installierten Befehlapigeectl
aus dem Verzeichnishybrid-files
ausführen:ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins - Prüfen Sie, ob die Symlinks ordnungsgemäß erstellt wurden. Führen Sie dazu den folgenden Befehl aus und achten Sie darauf, dass die Linkpfade auf die richtigen Speicherorte verweisen:
ls -l | grep ^l
-
Aktualisieren Sie die folgenden symbolischen Links zu
- Nehmen Sie die folgende Änderung an der Datei overrides.yaml vor, damit das
apigee-operator
-Diagramm das richtige Tag1.10.5-hotfix.1
verwendet:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Führen Sie eine Probelaufinitialisierung aus, um nach Fehlern zu suchen:
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
Dabei ist OVERRIDES_FILE der Name Ihrer Überschreibungsdatei, z. B.
./overrides/overrides.yaml
. - Wenn keine Fehler auftreten, initialisieren Sie Hybrid 1.10.5:
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
- Prüfen Sie den Initialisierungsstatus:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Bei Erfolg lautet die Ausgabe:
All containers ready.
kubectl describe apigeeds -n apigee
Suchen Sie in der Ausgabe nach
State: running
. - Suchen Sie mit dem Probelauf des Befehls
apply
mit dem Flag--dry-run
nach Fehlern:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
- Wenn keine Fehler vorhanden sind, wenden Sie die Überschreibungen an. Wählen Sie je nach Ihrer Installation die Anleitung für Produktionsumgebungen oder Nicht-Produktionsumgebungen und folgen Sie diesen.
Produktion
Aktualisieren Sie in Produktionsumgebungen jede Hybridkomponente einzeln und prüfen Sie den Status der aktualisierten Komponente, bevor Sie mit der nächsten Komponente fortfahren.
- Sie müssen sich im Verzeichnis
hybrid-files
befinden. - Wenden Sie Ihre Überschreibungen an, um Upgrade von Cassandra durchzuführen:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
- Abschluss prüfen:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Fahren Sie mit dem nächsten Schritt nur fort, wenn die Pods bereit sind.
- Wenden Sie Ihre Überschreibungen an, um Telemetriekomponenten zu aktualisieren, und prüfen Sie den Fortschritt:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Richten Sie die Redis-Komponenten ein:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
- Wenn Sie Ihre Überschreibungen an, um zu aktualisieren die Komponenten auf Organisationsebene (MART, Watcher, Apigee Connect) und prüfen Sie den Abschluss des Vorgangs:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Nutzen Sie Überschreibungen, um Ihre Umgebungen zu aktualisieren. Sie haben zwei Möglichkeiten:
- Jede Umgebung separat: Sie wenden die Überschreibungen auf eine einzelne Umgebung gleichzeitig an und prüfen den Fortschritt. Wiederholen Sie den Schritt für jede Umgebung:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Dabei ist ENV_NAME der Name der Umgebung, die Sie aktualisieren.
- Alle Umgebungen gleichzeitig: Sie können die Überschreibungen auf alle Umgebungen gleichzeitig anwenden und den Abschluss prüfen:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Jede Umgebung separat: Sie wenden die Überschreibungen auf eine einzelne Umgebung gleichzeitig an und prüfen den Fortschritt. Wiederholen Sie den Schritt für jede Umgebung:
- Wenden Sie Ihre Überschreibungen an, um die
virtualhosts
-Komponenten zu aktualisieren, und prüfen Sie den Fortschritt:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Non-prod
In den meisten Nicht-Produktionsumgebungen, Demo- und Testumgebungen können Sie die Überschreibungen auf alle Komponenten gleichzeitig anwenden. Wenn Ihre Nicht-Produktionsumgebung groß und komplex ist oder eine Produktionsumgebung nachahmt, können Sie die Anleitung zum Upgrade von Produktionsumgebungen verwenden.
- Sie müssen sich im Verzeichnis
hybrid-files
befinden. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
- Prüfen Sie den Status:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Sie müssen sich im Verzeichnis
Rollback für Upgrade durchführen
So führen Sie ein Rollback für ein Upgrade durch:
- Bereinigen Sie abgeschlossene Jobs für den Namespace der Hybridlaufzeit. Dabei ist NAMESPACE der Namespace, der in der Überschreibungsdatei angegeben ist, wenn Sie einen Namespace angegeben haben. Wenn nicht, ist der Standard-Namespace
apigee
:kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Bereinigen Sie abgeschlossene Jobs für den Namespace
apigee-system
:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Ändern Sie die Variable
APIGEECTL_HOME
so, dass sie auf das Verzeichnis verweist, das die ursprüngliche Version vonapigeectl
enthält. Beispiel:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- Führen Sie im Stammverzeichnis der Installation, zu der Sie ein Rollback machen möchten,
apigeectl apply
aus, prüfen Sie den Status Ihrer Pods und führen Sie dannapigeectl init
aus. Achten Sie darauf, die Original-Überschreibungsdatei für die Version zu verwenden, für die Sie ein Rollback durchführen möchten:- Führen Sie im Verzeichnis mit Hybriddateien
apigeectl apply
aus:$APIGEECTL_HOME
/apigeectl apply -f ORIGINAL_OVERRIDES_FILEDabei ist ORIGINAL_OVERRIDES_FILE der relative Pfad und der Dateiname der Überschreibungsdatei für Ihre vorherige Version der Hybridinstallation, z. B.
./overrides/overrides1.9.yaml
. - Prüfen Sie den Status der Pods:
kubectl -n NAMESPACE get pods
Dabei ist NAMESPACE Ihr Apigee Hybrid-Namespace.
- Prüfen Sie den Status von
apigeeds
:kubectl describe apigeeds -n apigee
Die Ausgabe sollte in etwa so aussehen:
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running
Fahren Sie nur mit dem nächsten Schritt fort, wenn der
apigeeds
-Pod ausgeführt wird. - Führen Sie den folgenden Befehl aus, um zu notieren, was die neuen Replikatwerte nach dem Upgrade für den Nachrichtenprozessor sein werden. Wenn diese Werte nicht mit dem zuvor festgelegten Wert übereinstimmen, ändern Sie die Werte in der Überschreibungsdatei entsprechend Ihrer vorherigen Konfiguration.
apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2
Die Ausgabe sollte in etwa so aussehen:
autoScaler: minReplicas: 2 maxReplicas: 10
- Führen Sie
apigeectl init
aus.$APIGEECTL_HOME
/apigeectl init -f ORIGINAL_OVERRIDES_FILE
- Führen Sie im Verzeichnis mit Hybriddateien