Installation auf Kubernetes
Avantra befindet sich derzeit im Prozess der Migration unserer bestehenden containerregistrierungsbasierten Lösung zu Googles Artifact Registry gemäß den Empfehlungen von Google, da sie ihr Containerregistrierungsangebot schrittweise einstellen. In dieser Zeit wird der bestehende Kundenzugang weiterhin funktionieren. Der Zugang für Kunden in Nicht-Produktionsszenarien wird jedoch erst nach Abschluss der neuen Einrichtung gewährt. Wenn dies für Sie ein Problem darstellt, wenden Sie sich bitte an Ihren Customer Success Manager. |
Diese Dokumentation setzt voraus, dass Sie bereits über ein gültiges und korrekt funktionierendes Kubernetes-Cluster verfügen und ist nur dazu gedacht, die wichtigsten Befehle und Konfigurationen zu präsentieren, die zum Ausführen von Avantra in einem Kubernetes-Cluster erforderlich sind. Sie ist nicht als umfassender Leitfaden für den Betrieb eines Kubernetes-Clusters gedacht. Für detaillierte Informationen zum Betrieb eines Kubernetes-Clusters konsultieren Sie bitte die Online-Dokumentation für Ihre gewählte Umgebung. Avantra-Support kann keine Anleitung zu Best Practices für den Kubernetes-Cluster-Betrieb oder tiefgreifenden Support für Ihr Kubernetes-Cluster bieten. |
Voraussetzungen
Die folgenden Elemente sind erforderlich, um eine erfolgreiche Bereitstellung von Avantra in Ihrer Kubernetes-Umgebung abzuschließen.
-
Ihr eigenes Kubernetes-Cluster
-
Berechtigungen, um einen neuen Namespace hinzuzufügen
-
Berechtigungen, um ein neues Container-Registry (Avantra) hinzuzufügen
-
Ein gültiges Set von Anmeldedaten vom Avantra-Support zum Zugriff auf die Avantra-Container-Registry - dies ist eine .json-Datei
-
Berechtigungen, um eine neue Anwendung im Cluster bereitzustellen
-
Ein gültiges Avantra-Abonnement
Erforderliche Container
Name |
Beschreibung |
Container-URL |
---|---|---|
Operator |
Verantwortlich für die Bereitstellung und Steuerung der Avantra-Installationskomponenten (von Avantra) |
gcr.io/avantra-cust/avantra/operator/avantra-operator |
Avantra Server |
Der Server-Container (von Avantra) |
gcr.io/avantra-cust/avantra/master |
Avantra UI |
Der UI-Container (von Avantra) |
gcr.io/avantra-cust/avantra/ui |
PostgreSQL-Datenbank |
Der PostgreSQL-Container (offiziell von Docker Hub) |
postgres |
Installationsschritte
Installation vorbereiten
-
Erstellen Sie einen neuen Namespace für Avantra in Kubernetes mit dem von Ihnen gewählten Namen. In diesem Leitfaden verwenden wir den Namespace
avantra
. Bitte beachten Sie, dass, wenn Sie einen anderen Namespace verwenden möchten, Sie jeden YAML-Eintrag unten überprüfen sollten, um sicherzustellen, dass Sie die Namespace-Einträge aktualisieren.kubectl create namespace avantra
Sie benötigen Ihre Anmeldedaten für den Zugriff auf die Avantra-Container-Registry, die in Form einer JSON-Datei vorliegen, die im folgenden Beispiel registry-credentials.json
genannt wird. Bitte kontaktieren Sie Avantra Support, falls Sie die Anmeldedaten nicht haben. -
Speichern Sie die Zugangsdaten für die Container-Registry in Kubernetes
kubectl -n=avantra create secret docker-registry avantra.com \ --docker-server gcr.io \ --docker-username _json_key \ --docker-email not@val.id \ --docker-password="$(cat registry-credentials.json)"
Dieser Befehl fügt das
avantra.com
-Registry mit den richtigen Anmeldedaten hinzu, um auf die Avantra-Container zuzugreifen.
Avantra installieren
-
Erstellen Sie das Avantra Operator Service Account
Legen Sie den untenstehenden YAML-Code in einer Datei ab, um die Bereitstellung zu erleichtern. Wenn die Datei
01_CreateServiceAccount.yaml
genannt wird, können Sie dies in Ihrem Cluster mitkubectl -n=avantra create -f 01_CreateServiceAccount.yaml
ausführen.--- apiVersion: v1 kind: ServiceAccount metadata: namespace: avantra labels: app.kubernetes.io/version: 1.0.0 app.kubernetes.io/name: avantra-operator name: avantra-operator --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: avantra-operator-view roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io name: view subjects: - kind: ServiceAccount name: avantra-operator --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: avantracontroller-cluster-role rules: - apiGroups: ["", "apps", "avantra.com"] resources: - avantras - avantras/status - services - configmaps - secrets - pods - statefulsets - statefulsets/scale - persistentvolumes - persistentvolumeclaims verbs: - get - list - watch - create - delete - patch - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: josdk-crd-validating-cluster-role rules: - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: avantracontroller-cluster-role-binding roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io name: avantracontroller-cluster-role subjects: - kind: ServiceAccount name: avantra-operator namespace: avantra --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: avantracontroller-crd-validating-role-binding roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io name: josdk-crd-validating-cluster-role subjects: - kind: ServiceAccount name: avantra-operator namespace: avantra ---
-
Zuweisung von Anmeldedaten zum Avantra Operator Service Account
kubectl -n=avantra patch serviceaccount avantra-operator \ -p '{"imagePullSecrets": [{"name": "avantra.com"}]}'
Dieser Befehl weist die Zugangsdaten dem Avantra-Operator-Service-Account im Namespace zu. Wenn ein anderes Service-Account verwendet wird, müssen die Zugangsdaten diesem Konto zugewiesen werden.
-
Installieren Sie die Avantra Operator Custom Resource Definition
Legen Sie den untenstehenden YAML-Code in einer Datei ab, um die Bereitstellung zu erleichtern. Wenn die Datei
02_CreateServiceDefinition.yaml
genannt wird, können Sie dies in Ihrem Cluster mitkubectl -n=avantra create -f 02_CreateServiceDefinition.yaml
ausführen.apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: avantras.avantra.com spec: group: avantra.com names: kind: Avantra plural: avantras shortNames: - avantra singular: avantra scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: master: properties: masterCpuSize: type: string indexVolumeSize: type: string annotations: additionalProperties: type: string type: object masterImage: type: string masterMemorySize: type: string masterUI: properties: annotations: additionalProperties: type: string type: object isActive: type: boolean type: object masterCommunication: properties: annotations: additionalProperties: type: string type: object type: object type: object ui: properties: uiImage: type: string uiMemorySize: type: string uiFrontend: properties: annotations: additionalProperties: type: string type: object type: object slrVolumeSize: type: string annotations: additionalProperties: type: string type: object uiEvent: properties: annotations: additionalProperties: type: string type: object type: object uiCpuSize: type: string indexVolumeSize: type: string type: object name: type: string database: properties: databaseName: type: string databaseImage: type: string databaseUser: type: string annotations: additionalProperties: type: string type: object databasePassword: type: string databaseCpuSize: type: string databaseMemorySize: type: string databaseVolumeSize: type: string type: object serviceAccountName: type: string type: object status: properties: installations: additionalProperties: properties: master-replicas: type: integer name: type: string ui-replicas: type: integer type: object type: object type: object type: object served: true storage: true subresources: status: {}
-
Installieren Sie den Avantra Operator
Legen Sie den untenstehenden YAML-Code in einer Datei ab, um die Bereitstellung zu erleichtern. Wenn die Datei
03_InstallAvantraOperator.yaml
genannt wird, können Sie dies in Ihrem Cluster mitkubectl -n=avantra create -f 03_InstallAvantraOperator.yaml
ausführen.apiVersion: apps/v1 kind: Deployment metadata: namespace: avantra labels: app.kubernetes.io/version: 1.0.0 app.kubernetes.io/name: avantra-operator name: avantra-operator spec: replicas: 1 selector: matchLabels: app.kubernetes.io/version: 1.0.0 app.kubernetes.io/name: avantra-operator template: metadata: labels: app.kubernetes.io/version: 1.0.0 app.kubernetes.io/name: avantra-operator spec: containers: - env: - name: KUBERNETES_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: gcr.io/avantra-cust/avantra/operator/avantra-operator:latest imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: 8080 scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: avantra-operator ports: - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: 8080 scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 serviceAccountName: avantra-operator
-
Installieren Sie Avantra
Legen Sie den untenstehenden YAML-Code in einer Datei ab, um die Bereitstellung zu erleichtern. Wenn die Datei
04_InstallAvantra.yaml
genannt wird, können Sie dies in Ihrem Cluster mitkubectl -n=avantra create -f 04_InstallAvantra.yaml
ausführen. Wenn Sie Anpassungen an Ihre Umgebung vornehmen möchten, sind unten alle zusätzlichen Optionen aufgelistet.apiVersion: avantra.com/v1 kind: Avantra metadata: name: avantra spec: name: avantra-services serviceAccountName: "avantra-operator" ui: uiImage: gcr.io/avantra-cust/avantra/ui:latest uiCpuSize: 1000m uiMemorySize: 2048Mi master: masterImage: gcr.io/avantra-cust/avantra/master:latest database: databaseImage: postgres:13 databasePassword: 2e478fe8bc1203a76d83f35d0003941d databaseUser: avantra
UI-Optionen
Name |
Beschreibung |
Standardwert |
---|---|---|
uiImage |
Das Image für die Avantra-UI |
Erforderlich - kein Standardwert |
uiCpuSize |
Die CPU-Größe für die Avantra-UI |
|
uiMemorySize |
Die Speichergröße für die Avantra-UI |
|
slrVolumeSize |
Die Größe des Volumens, in dem die UI ihre SLR-Daten speichert |
|
indexVolumeSize |
Die Größe des Volumens, in dem die UI ihre Indexdaten speichert |
|
Avantra Server (Master) Optionen
Name |
Beschreibung |
Standardwert |
---|---|---|
masterImage |
Das Image für den Avantra-Server |
Erforderlich - kein Standardwert |
masterCpuSize |
Die CPU-Größe für den Avantra-Server |
|
masterMemorySize |
Die Speichergröße für den Avantra-Server |
|
indexVolumeSize |
Die Größe des Volumens, in dem der Server seine Indexdaten speichert |
|
Datenbankoptionen
Name |
Beschreibung |
Standardwert |
---|---|---|
databaseImage |
Das Image für die Datenbank, die Avantra verwendet |
Erforderlich - kein Standardwert - Avantra empfiehlt |
databasePassword |
Das Datenbank-Passwort |
Erforderlich - kein Standardwert |
databaseName |
Der Name der Datenbank |
|
databaseUser |
Der Datenbankbenutzer |
|
databaseCpuSize |
Die CPU-Größe für die Datenbank |
|
databaseMemorySize |
Die Speichergröße für die Datenbank |
|
databaseVolumeSize |
Die Größe des Volumens, in dem die Datenbank ihre Daten speichert |
|
Allgemeine / Operator-Optionen
Name |
Beschreibung |
Standardwert |
---|---|---|
Name |
Ist der Name der Avantra-Bereitstellung |
Erforderlich - kein Standardwert |
ServiceAccountName |
Ist der Name des Service-Accounts, der für die Bereitstellung verwendet wird. Dieser Service-Account benötigt die Zugangsdaten für die Container-Registry |
Erforderlich - kein Standardwert |
Nach der Installation
Anmelden
Die Anmeldung bei Ihrer Avantra-Instanz erfolgt erstmals über den avantra-ui-Container auf Port 8443. Der Standardbenutzername und das Standardpasswort, die sofort geändert werden sollten, sind root
und ilsx1234
.
Domain-Namen
Nach einer Installation muss der Domainname des Avantra-Servers möglicherweise in der UI angepasst werden. Je nach Einrichtung Ihrer Umgebung muss möglicherweise der Name des Server-Containers von diesem Domainnamen entfernt werden, z. B. avantra-master-0.avantra-master.avantra.svc.cluster.local
geändert zu avantra-master.avantra.svc.cluster.local
. Sie können diesen Eintrag in der UI unter dem ?
-Menü und unter der Option about
anpassen. Erweitern Sie den Abschnitt Avantra Master
und passen Sie den Wert von MasterHost
an, damit er mit dem vollqualifizierten Domainnamen (FQDN) übereinstimmt, den entfernte Agenten verwenden, um den Avantra-Server zu erreichen. Wenn entfernte Agenten diesen FQDN nicht auflösen können, um den Avantra-Server zu erreichen, werden Sie Probleme haben, entfernte Agenten zu verbinden.