//Cloudogu EcoSystem Docs

Installation des Exporters in einer CES-MN-Instanz

Um die Daten und Konfigurationen von einer CES-MN-Instanz auf eine neue CES-MN-Instanz zu übertragen muss auf der Quellinstanz eine Exporter-Applikation (Exporter) installiert und konfiguriert werden. Dieser Exporter wird vom Importer auf der Zielinstanz gesteuert. Er sammelt und überträgt die Daten und Konfigurationen der Quellinstanz. Nach Abschluss der finalen Migration stellt der Exporter die Quellinstanz in den Wartungsmodus.

Voraussetzungen prüfen

  • Die Quellinstanz ist eine CES-MN-Instanz.
  • Es wird ein SSH-Schlüsselpaar benötigt.

    • Für den Exporter wird ein öffentlicher Schlüssel benötigt.
    • Dieses Schlüsselpaar kann mit ssh-keygen erzeugt werden.
    • Das SSH-Schlüsselpaar darf keine Passphrase erfordern.
  • Außerdem wird ein API-Schlüssel benötigt.

    • Der Schlüssel kann individuell mit beliebigen Zeichen erzeugt werden.
    • Der API-Schlüssel darf eine Länge von 8 bis 128 Zeichen haben.
    • Der API-Schlüssel wird auch für die Installation des Importers auf der Zielinstanz benötigt.
  • Die Instanz ist über die Ports 443 und 7022 erreichbar.
  • Expositions müssen als CRD verfügbar sein.

    • Sie können dies mit folgendem Befehl prüfen:

      kubectl get crd expositions.k8s.cloudogu.com
  • Die K8s-Service-Discovery muss in Version 6.1.0 oder höher installiert und so konfiguriert sein, dass sie Exposition-CRs akzeptiert.

    • Dies erfolgt durch Setzen von exposition.discoverExpositionCR auf true in der values.yaml der K8s-Service-Discovery.
  • Das K8s-Ces-Gateway muss in Version 3.3.3 oder höher installiert sein.

Exporter installieren

  1. Verbinden Sie sich mit Ihrer Instanz (Kommandozeile), indem Sie den Kubernetes-Kontext entsprechend setzen.
  2. Erstellen Sie ein Kubernetes-Secret mit dem API-Key:

    kubectl -n ecosystem create secret generic ces-exporter-api --from-literal=apiKey=<my-api-key>
  3. Installieren Sie den ces-exporter durch Anwendung des folgenden YAML im Cluster:

    apiVersion: k8s.cloudogu.com/v1
    kind: Component
    metadata:
      labels:
        app: ces
      name: ces-exporter
      namespace: ecosystem
    spec:
      name: ces-exporter
      namespace: k8s
      version: 1.0.0
      valuesYamlOverwrite: |
        env:
          exportCron: <Der Zeitplan für die Aktivierung des Exportmodus für Dogus in Serverzeit. Z.B. jede Nacht um 02:00 Uhr: "0 2 * * *">
        publicKey:
          data: |-
            <Der Public-Key als String>
  4. Überprüfen Sie, ob die Komponente bereit ist:

    kubectl get component ces-exporter

Konfiguration

Alle Werte des Exporters sind konfigurierbar mit der valuesYamlOverwrite. Eine genaue Beschreibung der einzelnen Konfigurationswerte finden Sie unter Referenz: Konfiguration des CES-MN Exporters

Nach Änderungen der Konfiguration sollten Sie den Exporter neu starten, damit die Konfiguration übernommen wird.