8.2. 移行の準備


現在の Ansible Automation Platform デプロイメントを Ansible Automation Platform Operator に移行する前に、既存のデータのバックアップを作成し、シークレットキーおよび postgresql 設定の k8s シークレットを作成します。

注記

Automation Controller と Automation Hub インスタンスの両方を移行する場合は、秘密鍵のシークレットの作成postgresql 設定シークレットの作成 の手順を繰り返し、データの Ansible Automation Platform Operator への移行 に進みます。

8.2.1. Ansible Automation Platform Operator への移行

前提条件

Ansible Automation Platform デプロイメントを Ansible Automation Platform Operator に移行するには、以下が必要です。

  • 秘密鍵のシークレット
  • Postgresql の設定
  • 新しい OpenShift クラスターの namespace のロールベースアクセス制御
  • 新しい OpenShift クラスターは、以前の PostgreSQL データベースに接続可能である必要があります。
注記

Red Hat Ansible Automation Platform の初期インストールの前に、秘密鍵情報をインベントリーファイルに保存できます。秘密鍵を覚えていない場合や、インベントリーファイルを見つけられない場合は、Red Hat カスタマーポータルから Ansible サポート にお問い合わせください。

Ansible Automation Platform 2.x 以前からデータを移行する前に、失われた防止のためにデータのバックアップを作成する必要があります。データをバックアップするには、以下の手順を実施します。

手順

  1. 現在のデプロイメントプロジェクトにログインします。
  2. setup.sh を実行して、現在のデータまたはデプロイメントのバックアップを作成します。

    バージョン 2.x 以前のオンプレミスデプロイメントの場合:

    $ ./setup.sh -b

    バージョン 2.0 より前の OpenShift デプロイメント (非 Operator デプロイメント) の場合:

    ./setup_openshift.sh -b

8.2.2. 秘密鍵のシークレットの作成

データを OpenShift Container Platform の Ansible Automation Platform Operator に移行するには、秘密鍵を作成する必要があります。Automation Controller、Automation Hub、およびイベント駆動型 Ansible を移行する場合は、初回インストール時にインベントリーファイルで定義された秘密鍵と一致する秘密鍵ごとに秘密鍵が必要です。そうしないと、移行されたデータが暗号化されたままになり、移行後に使用できなくなります。

注記

カスタムリソースで対称暗号化キーを指定する場合、Automation Controller の場合は、このフィールドは secret_key_name と呼ばれることに注意してください。ただし、Automation Hub と Event-Driven Ansible の場合、このフィールドは db_fields_encryption_secret と呼ばれます。

注記

Kubernetes のシークレットでは、Automation Controller と Event-Driven Ansible は同じ stringData キー(secret_key)を使用しますが、Automation Hub は別のキー(database_fields.symmetric.key)を使用します。

手順

  1. 以前のインストールで Ansible Automation Platform のデプロイに使用したインベントリーファイルで古い秘密鍵を見つけます。
  2. 秘密鍵の YAML ファイルを作成します。

    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: <controller-resourcename>-secret-key
      namespace: <target-namespace>
    stringData:
      secret_key: <replaceme-with-controller-secret>
    type: Opaque
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: <eda-resourcename>-secret-key
      namespace: <target-namespace>
    stringData:
      secret_key: <replaceme-with-eda-secret>
    type: Opaque
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: <hub-resourcename>-secret-key
      namespace: <target-namespace>
    stringData:
      database_fields.symmetric.key: <replace-me-withdb-fields-encryption-key>
    type: Opaque
    注記

    admin_password_secret が指定されていない場合、Operator が <resourcename>-admin-password という名前のシークレットで管理者パスワードを検索します。存在しない場合、Operator はパスワードを生成し、そのパスワードから <resourcename>-admin-password という名前のシークレットを作成します。

  3. 秘密鍵 YAML をクラスターに適用します。

    oc apply -f <yaml-file>

8.2.3. postgresql 設定シークレットの作成

移行を成功させるには、既存のデプロイメントのデータベースへのアクセスを提供する必要があります。

手順

  1. postgresql 設定シークレットの yaml ファイルを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: <resourcename>-old-postgres-configuration
      namespace: <target namespace>
    stringData:
      host: "<external ip or url resolvable by the cluster>"
      port: "<external port, this usually defaults to 5432>"
      database: "<desired database name>"
      username: "<username to connect as>"
      password: "<password to connect with>"
    type: Opaque
  2. postgresql 設定の yaml をクラスターに適用します。
oc apply -f <old-postgres-configuration.yml>

8.2.4. ネットワーク接続の確認

データの移行を成功させるには、新しい Operator デプロイメントから以前のデプロイメントデータベースへのネットワーク接続があることを確認します。

前提条件

既存のデプロイメントのホストおよびポート情報を書き留めておきます。この情報は、conf.d ディレクトリーにある postgres.py ファイルにあります。

手順

  1. yaml ファイルを作成して、新しいデプロイメントと以前のデプロイメントデータベース間の接続を確認します。

    apiVersion: v1
    kind: Pod
    metadata:
        name: dbchecker
    spec:
      containers:
        - name: dbchecker
          image: registry.redhat.io/rhel8/postgresql-13:latest
          command: ["sleep"]
          args: ["600"]
  2. 接続チェッカーの yaml ファイルを新規プロジェクトのデプロイメントに適用します。

    oc project ansible-automation-platform
    oc apply -f connection_checker.yaml
  3. 接続チェッカー Pod が実行されていることを確認します。

    oc get pods
  4. Pod シェルに接続します。

    oc rsh dbchecker
  5. Pod でシェルセッションが開いたら、新規プロジェクトが古いプロジェクトクラスターに接続できることを確認します。

    pg_isready -h <old-host-address> -p <old-port-number> -U awx

    <old-host-address>:<old-port-number> - accepting connections

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.