Folgen Sie den Anweisungen in diesem Abschnitt, um eine MobileFirst-Application-Center-Instanz in IBM Cloud zu konfigurieren. Gehen Sie dazu die folgenden Schritte durch:
Erstellen Sie einen Kubernetes-Cluster vom Typ “Standard” (bezahlter Cluster).
Richten Sie Ihren Host-Computer mit den erforderlichen Tools ein (Docker, Cloud-Foundry-CLI (cf), IBM Cloud-CLI (bx), CLI des Container-Service-Plug-ins für IBM Cloud (bx cs), CLI des Container-Registry-Plug-ins für IBM Cloud (bx cr), Kubernetes-CLI (kubectl)).
Erstellen Sie ein Docker-Image des MobileFirst Application Center und stellen Sie es per Push-Operation in das IBM Cloud-Repository.
Abschließend werden Sie das Docker-Image in einem Kubernetes-Cluster ausführen.
Hinweis:
Das Windows-Betriebssystem wird derzeit nicht für die Ausführung dieser Scripts unterstützt.
Die MobileFirst-Server-Konfigurationstools können nicht für die Implementierung in IBM Containern genutzt werden.
Falls Sie noch kein Konto haben, öffnen Sie die IBM Cloud-Website und klicken Sie auf Kostenloses Konto erstellen oder auf Anmeldung. Sie müssen das Registrierungsformular ausfüllen, bevor Sie mit dem nächsten Schritt fortfahren können.
IBM Cloud-Dashboard
Nachdem Sie sich bei IBM Cloud angemeldet haben, wird das IBM Cloud-Dashboard angezeigt, das Ihnen einen Überblick über den aktiven IBM Cloud-Bereich gibt. Standardmäßig hat dieser Arbeitsbereich den Namen dev. Bei Bedarf können Sie mehrere Arbeitsbereiche erstellen.
Hostmaschine einrichten
Für die Verwaltung von Containern und Images müssen Sie die folgenden Tools installieren:
Docker
IBM Cloud-CLI (bx)
CLI des Container-Service-Plug-ins für IBM Cloud (bx cs)
CLI des Container-Registry-Plug-ins für IBM Cloud (bx cr)
Hinweis: Für die Implementierung der Mobile Foundation ist ein Kubernetes-Cluster vom Typ “Standard” (bezahlter Cluster) erforderlich.
Archiv ibm-mfpf-container-8.0.0.0 herunterladen
Wenn Sie das MobileFirst Application Center als Kubernetes-Cluster mit IBM Cloud-Containern einrichten möchten, müssen Sie zunächst ein Image erstellen, das später per Push-Operation in IBM Cloud übertragen wird.
Vorläufige Fixes für MobileFirst Server in IBM Containern können über IBM Fix Central abgerufen werden.
Laden Sie den letzten vorläufigen Fix von Fix Central herunter. Ab iFix 8.0.0.0-IF201708220656 ist Kubernetes-Unterstützung verfügbar.
Die Archivdatei enthält die Dateien für die Erstellung eines Image (dependencies und mfpf-libs) sowie die Dateien für die Erstellung und Implementierung eines MobileFirst Application Center in Kubernetes (bmx-kubernetes).
Dieser Ordner enthält die Anpassungsdateien und Scripts für die Implementierung eines Kubernetes-Clusters mit dem Container-Service von IBM Cloud.
Dockerfile-mfp-appcenter
Dockerfile-mfp-appcenter: Textdokument mit allen Befehlen, die für das Erstellen des MobileFirst-Application-Center-Image erforderlich sind.
Ordner scripts: Dieser Ordner enthält den Ordner args mit einer Reihe von Konfigurationsdateien. Er enthält außerdem die erforderlichen Scripts für die Anmeldung bei IBM Cloud, die Erstellung eines Image für das MobileFirst Application Center und die Push-Übertragung und Ausführung des Image in IBM Cloud. Sie können diese Scripts interaktiv ausführen oder die Konfigurationsdateien wie weiter unten erläutert für die Ausführung der Scripts vorkonfigurieren. Anders als bei den anpassbaren Dateien args/*.properties dürfen Sie in diesem Ordner keine Elemente modifizieren. Verwenden Sie das Befehlszeilenargument -h oder --help, um einen Hilfetext zur Scriptsyntax abzurufen (z. B. Scriptname.sh --help).
Ordner usr-mfp-appcenter:
Ordner bin: Enthält die Scriptdatei (mfp-appcenter-init), die beim Start des Containers ausgeführt wird. Sie können eigenen Code hinzufügen, der ausgeführt werden soll.
Ordner config: Für MobileFirst Application Center verwendete Serverkonfigurationsfragmente (Keystore, Servereigenschaften, Benutzerregistry)
keystore.xml: Konfiguration des Repositorys mit Sicherheitszertifikaten für die SSL-Verschlüsselung. Im Ordner ./usr/security muss auf die aufgelisteten Dateien verwiesen werden.
ltpa.xml: Konfigurationsdatei mit der Definition des LTPA-Schlüssels und des zugehörigen Kennworts
appcentersqldb.xml: JDBC-Datenquellendefinition für die Verbindung zur Db2- oder dashDB-Datenbank
registry.xml: Benutzerregistrykonfiguration. Als Standardkonfiguration wird eine auf XML basierende Basisbenutzerregistrykonfiguration (basicRegistry) bereitgestellt. Sie können Namen und Kennwörter für basicRegistry konfigurieren oder ldapRegistry konfigurieren.
tracespec.xml: Tracespezifikation, um ein Debug zu ermöglichen, sowie Protokollierungsstufen
Ordner jre-security: Sie können die sicherheitsrelevanten JRE-Dateien (Truststore, JAR-Richtliniendateien usw.) aktualisieren, indem Sie sie in diesen Ordner stellen. Die Dateien aus diesem Ordner werden in den Ordner JAVA_HOME/jre/lib/security/ des Containers kopiert.
Ordner security: Wird verwendet, um die Keystore-Datei, die Truststore-Datei und die LTPA-Schlüsseldatei (ltpa.keys) zu speichern.
Ordner env: Enthält die Umgebungseigenschaften für die Serverinitialisierung (server.env) sowie angepasste JVM-Optionen (jvm.options).
Sie müssen über praktische Erfahrungen mit Kubernetes verfügen. Weitere Informationen enthalten die Kubernetes-Dokumente.
MobileFirst Application Center in einem Kubernetes-Cluster mit IBM Containern einrichten
Wie bereits erläutert, können Sie die Scripts interaktiv oder unter Verwendung der Konfigurationsdateien ausführen.
Verwendung der Konfigurationsdateien: Führen Sie die Scripts aus und übergeben Sie die entsprechende Konfigurationsdatei als Argument.
Interaktiv: Führen Sie die Scripts ohne Argumente aus.
Hinweis: Wenn Sie sich entschließen, die Scripts interaktiv auszuführen, können Sie die Konfiguration übergehen. Wir empfehlen Ihnen jedoch, sich mit den Argumenten, die angegeben werden müssen, zu beschäftigen.
Bei interaktiver Ausführung wird eine Kopie der angegebenen Argumente im Verzeichnis ./recorded-args/ gespeichert. Sie können somit beim ersten Mal den interaktiven Modus nutzen und bei künftigen Implementierungen die Eigenschaftendateien wiederverwenden.
Der Ordner args enthält Konfigurationsdateien mit den Argumenten, die zum Ausführen der Scripts erforderlich sind. Tragen Sie die Argumentwerte in den folgenden Dateien ein:
initenv.properties
IBM_CLOUD_API_URL - Zielgeografie oder -region für die Implementierung
Beispiel: api.ng.bluemix.net für die USA oder api.eu-de.bluemix.net für Deutschland oder api.au-syd.bluemix.net für Sydney
IBM_CLOUD_ACCOUNT_ID - Ihre Konto-ID in Form eines alphanumerischen Wertes wie a1b1b111d11e1a11d1fa1cc999999999 Mit dem Befehl bx target können Sie die Konto-ID abrufen.
IBM_CLOUD_USER - Ihr IBM Cloud-Benutzername (E-Mail-Adresse)
IBM_CLOUD_PASSWORD - Ihr IBM Cloud-Kennwort
IBM_CLOUD_ORG - Ihr IBM Cloud-Organisationsname
IBM_CLOUD_SPACE - Ihr IBM Cloud-Bereich (wie oben erläutert)
prepareappcenterdbs.properties
Das MobileFirst Application Center erfordert eine externe Instanz von Db2 on Cloud.
Hinweis: Sie können auch Ihre eigene Db2-Datenbank verwenden. Der IBM Cloud-Kubernetes-Cluster muss für eine Verbindung zu der Datenbank konfiguriert werden.
Wenn Sie Ihre Db2-Instanz eingerichtet haben, geben Sie die folgenden erforderlichen Argumente an:
DB_TYPE - dashDB (wenn Sie Db2 on Cloud verwenden) oder DB2 (wenn Sie Ihre eigene Db2-Datenbank verwenden)
Bei Verwendung einer eigenen Db2-Datenbank (d. h. DB_TYPE=DB2) machen Sie folgende Angaben:
DB2_HOST - Hostname in Ihrem Db2-Setup
DB2_DATABASE - Name der Datenbank
DB2_PORT - Port für die Verbindung zur Datenbank
DB2_USERNAME - Db2-Datenbankbenutzer (der berechtigt sein muss, Tabellen im bereitgestellten Schema zu erstellen oder beim Fehlen eines Schemas ein Schema zu erstellen)
DB2_PASSWORD - Kennwort des Db2-Benutzers
Wenn Sie Db2 on Cloud verwenden (d. h. DB_TYPE=dashDB), machen Sie folgende Angaben:
APPCENTER_DB_SRV_NAME - Name Ihrer dashDB-Serviceinstanz für das Speichern von Application-Center-Daten
APPCENTER_SCHEMA_NAME - Name Ihres Schemas für Application-Center-Daten. Der Standardwert ist APPCNTR.
Hinweis: Wenn Ihr Db2-Datenbankservice von vielen Benutzern oder mehreren MobileFirst-Application-Center-Implementierungen gemeinsam genutzt wird, stellen Sie sicher, dass eindeutige Schemanamen angegeben werden.
prepareappcenter.properties
SERVER_IMAGE_TAG - Ein Tag für das Image. Der Tag sollte das Format registry-url/namespace/image:tag haben.
Beispiel: registry.ng.bluemix.net/myuniquenamespace/myappcenter:v1 Wenn Sie noch keinen Docker-Registry-Namespace erstellt haben, erstellen Sie ihn mit einem der folgenden Befehle:
Die folgenden Anweisungen demonstrieren die Ausführung der Scripts unter Verwendung der Konfigurationsdateien. Eine Liste mit Befehlszeilenargumenten für einen nicht interaktiven Modus wird ebenfalls bereitgestellt.
initenv.sh – Anmeldung bei IBM Cloud
Führen Sie das Script initenv.sh aus, um eine Umgebung für die Erstellung und Ausführung von MobileFirst Application Center in IBM Containern zu erstellen:
Interaktiver Modus
./initenv.sh
Nicht interaktiver Modus
./initenv.sh args/initenv.properties
prepareappcenterdbs.sh - Erstellung der MobileFirst-Application-Center-Datenbank
Das Script prepareappcenterdbs.sh wird verwendet, um Ihren MobileFirst Application Center mit dem Db2-Datenbankservice zu konfigurieren. Die Instanz des Db2-Service muss in der Organisation und dem Bereich verfügbar sein, bei denen Sie sich in Schritt 1 angemeldet haben. Führen Sie Folgendes aus:
Interaktiver Modus
initenv.sh (optional) – Anmeldung bei IBM Cloud
Dieser Schritt ist nur erforderlich, wenn Sie Ihre Container in einer Organisation und einem Bereich ohne verfügbare Db2-Serviceinstanz erstellen müssen. Wenn das der Fall ist, aktualisieren Sie die Datei initenv.properties mit der neuen Organisation und dem neuen Bereich, in denen die Container erstellt (und gestartet) werden müssen. Führen Sie dann erneut das Script initenv.sh aus:
./initenv.sh args/initenv.properties
prepareappcenter.sh - Erstellung eines MobileFirst-Application-Center-Image
Führen Sie das Script prepareappcenter.sh aus, um das MobileFirst-Application-Center-Image zu erstellen und per Push-Operation in Ihr IBM Cloud-Repository zu stellen. Wenn Sie alle verfügbaren Images in Ihrem IBM Cloud-Repository anzeigen möchten, führen Sie bx cr image-list aus.
Die Liste enthält den Image-Namen, das Erstellungsdatum und die ID. Interaktiver Modus
Implementieren Sie das MobileFirst Application Center in Docker-Containern eines Kubernetes-Clusters mit dem Container-Service von IBM Cloud.
Legen Sie Ihren Cluster als Terminalkontext fest: bx cs cluster-config my-cluster
Führen Sie den folgenden Befehl aus, um Ihren Clusternamen zu erfahren: bx cs clusters
In der Ausgabe wird der Pfad zu Ihrer Konfigurationsdatei als Befehl zum Definieren einer Umgebungsvariablen angezeigt. Beispiel: export KUBECONFIG=/Users/ibm/.bluemix/plugins/container-service/clusters/my-cluster/kube-config-prod-dal12-my-cluster.yml
Kopieren Sie den obigen Befehl. Ersetzen Sie my-cluster durch Ihren Clusternamen und fügen Sie den Befehl dann ein, um die Umgebungsvariable für Ihr Terminal festzulegen. Drücken Sie abschließend die Eingabetaste.
Führen Sie den folgenden Befehl aus, um Ihre Ingress Domain (Zugangsdomäne) abzurufen: bx cs cluster-get my-cluster
Notieren Sie Ihre Zugangsdomäne. Wenn Sie TLS konfigurieren müssen, notieren Sie den geheimen Zugangsschlüssel (Ingress Secret).
Erstellen Sie die Kubernetes-Implementierungen. Bearbeiten Sie die yaml-Datei args/mfp-deployment-appcenter.yaml. Tragen Sie alle Details ein. Alle Variablen müssen vor Ausführung des Befehls kubectl durch die entsprechenden Werte ersetzt werden. ./args/mfp-deployment-appcenter.yaml enthält die Implementierung für Folgendes:
Kubernetes-Implementierung für das MobileFirst Application Center, bestehend aus einer Instanz (1 Replikat), mit einem Hauptspeicher von 1024 MB und einer CPU mit einem Kern
Kubernetes-Service für MobileFirst Application Center
Zugang für das gesamte Setup mit allen REST-Endpunkten für das MobileFirst Application Center
Konfigurationsübersicht (configMap), um die Umgebungsvariablen in der MobileFirst-Application-Center-Instanz verfügbar zu machen
In der YAML-Datei müssen folgende Werte bearbeitet werden:
Verschiedene Vorkommen von my-cluster.us-south.containers.mybluemix.net mit der vom obigen Befehl bx cs cluster-get ausgegebenen Zugangsdomäne (Ingress Domain)
registry.ng.bluemix.net/repository/mfpappcenter:latest - Verwenden Sie zum Hochladen des Image die gleichen Namen wie in prepareappcenter.sh.
Führen Sie den folgenden Befehl aus: kubectl create -f ./args/mfp-deployment-appcenter.yaml
Hinweis: Folgende YAML-Schablonendateien werden bereitgestellt:
mfp-deployment-appcenter.yaml: Implementiert das MobileFirst Application Center mit HTTP.
mfp-deployment-appcenter-with-tls.yaml: Implementiert das MobileFirst Application Center mit HTTPS.
Nach der Erstellung müssen Sie den folgenden Befehl ausführen, um das Kubernetes-Dashboard verwenden zu können: kubectl proxy Öffnen Sie localhost:8001/ui in Ihrem Browser.
Container in IBM Cloud entfernen
Wenn Sie in IBM Cloud einen Container entfernen, müssen Sie auch den Image-Namen aus der Registry entfernen.
Führen Sie die folgenden Befehle aus, um einen Container in IBM Cloud zu entfernen:
cf ic ps (Listet die zurzeit aktiven Container auf)
cf ic stop container_id (Stoppt den Container)
cf ic rm container_id (Entfernt den Container)
Führen Sie die folgenden cf ic-Befehle aus, um einen Image-Namen aus der IBM Cloud-Registry zu entfernen:
cf ic images (Listet die Images in der Registry auf)
cf ic rmi image_id (Entfernt ein Image aus der Registry)
Kubernetes-Implementierungen aus IBM Cloud entfernen
Führen Sie die folgenden Befehle aus, um Ihre implementierten Instanzen aus dem IBM Cloud-Kubernetes-Cluster zu entfernen:
kubectl delete -f mfp-deployment-appcenter.yaml (entfernt alle in der YAML-Datei definierten Kubernetes-Typen)
Führen Sie die folgenden Befehle aus, um einen Image-Namen aus der IBM Cloud-Registry zu entfernen:
bx cr image-list (listet die Images in der Registry auf)
bx cr image-rm Image-Name (entfernt das Image aus der Registry)
Datenbankservicekonfiguration aus IBM Cloud entfernen
Wenn Sie während der Konfiguration des MobileFirst-Application-Center-Image das Script prepareappcenterdbs.sh ausgeführt haben, werden die für das MobileFirst Application Center erforderlichen Konfigurationen und Datenbanktabellen erstellt. Das Script erstellt auch das Datenbankschema für den Container.
Sie können die Datenbankservicekonfiguration im IBM Cloud-Dashboard wie folgt entfernen.
Wählen Sie im IBM Cloud-Dashboard den von Ihnen verwendeten Service Db2 on Cloud aus. Wählen Sie den Db2-Servicenamen aus, den Sie für die Ausführung des Scripts prepareappcenterdbs.sh als Parameter angegeben haben.
Starten Sie die Db2-Konsole, um mit den Schemata und Datenbankobjekten der ausgewählten Db2-Serviceinstanz arbeiten zu können.
Wählen Sie Schemata für die Konfiguration von IBM MobileFirst Server aus. Die Schemanamen sind die, die Sie bei Ausführung des Scripts prepareappcenterdbs.sh als Parameter angegeben haben.
Untersuchen Sie die Schemanamen und die zugehörigen Objekte gründlich, bevor Sie die einzelnen Schemata löschen. Die Datenbankkonfigurationen wurden aus IBM Cloud entfernt.
Inclusive terminology note: The Mobile First Platform team is making changes to support
the IBM® initiative to replace racially biased and other discriminatory language in our code and content
with more inclusive language. While IBM values the use of inclusive language, terms that are outside of
IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other
industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the
documentation to reflect those changes.