//Cloudogu EcoSystem Docs

First steps: Automatic migration from CES-MN to CES-MN

1. set up source instance

Install the exporter as described in this guide.

2. set up the target instance

  1. follow the k8s-ecosystem installation guide to set up a new multinode CES instance. a. The Dogus must be installed in the same versions as on the instance to be migrated.
  2. connect to the instance by setting the Kubernetes context accordingly.
  3. create a Kubernetes secret with the following information for the importer:

    • API key
    • Private SSH key
    • Mail password (if required)

    Create the secret with the following kubectl command:

    kubectl -n ecosystem create secret generic ces-importer-secret \
      --from-file=privateKey=</path/to_my/Private-key> \
      --from-literal=apiKey=<my-api-key> \
      --from-literal=mailPassword=<your-mail-password>

    If the mail server is accessible without a password, an empty string is sufficient.

  4. install the ces-importer by applying the following YAML in the cluster:

    apiVersion: k8s.cloudogu.com/v1
    kind: Component
    metadata:
    labels:
    app: ces
    name: ces-importer
    namespace: ecosystem
    spec:
    name: ces-importer
    namespace: k8s
    version: <newest ces-importer Version>
    valuesYamlOverwrite: |
    config:
      api:
        host: <FQDN of the source instance without protocol, e.g. lop.example.com>
        skipTLSVerify: <true, if no certificate or a self-signed certificate exists>
      migration:
        regularSchedule: <time of migration(s) in CRON format in server time>
        finalSchedule: <timestamp for the start of the final migration in RFC 3339 format, e.g. “2025-04-03T12:34:56Z” (server time)>
      smtp:
        enabled: <true, if mail notifications are required; if not, the rest of this section can be omitted>
        server: <smtp.example.com>
        port: <the port of the mail server, e.g. 25>
        username: <the user name for authentication on the mail server; an empty string if not required>
        from: <sender address>
        to:
          - <recipient address(es)>
  5. check if the component is ready: kubectl get component/ces-importer

3. migration

  1. now just wait for the configured time in config/migration/regularSchedule. The migration job then starts automatically and transfers the data and configuration of your source instance to the target instance.
  2. Finally, check the migrated data.

In case of errors see Troubleshooting