環境のアップグレード

このページでは、環境で実行している Airflow または Cloud Composer のバージョンをアップグレードする方法について説明します。

アップグレード中に、Cloud Composer は次のことを行います。

  • Airflow のスケジューラとワーカーポッドを新しい Kubernetes の名前空間に再デプロイします。アップグレードの完了後に Airflow は新しい MySQL データベースを使用します。そのデータベース名は Kubernetes 名前空間と一致します。DAG の実行履歴は保存されます。

  • 新しい Cloud SQL データベースを指定するため Airflow airflow_db 接続を更新します。

これらの変更により、どのようにポッドにアクセスするか、および、どのように Cloud SQL データベースへ接続するかについて影響を与えます。

  • アップグレードの後に GKE クラスタ内のポッドにアクセスするには、名前空間対応の kubectl コマンドを使用する必要があります。たとえば、クラスタ内のポッドを一覧表示する場合は kubectl get pods -A を、ポッド上でコマンドを実行する場合は kubectl exec -n <NAMESPACE> ... をそれぞれ使用します。
  • SQL プロキシを直接参照する Airflow の接続とワークロードを使用する場合は、ホスト名の一部としてデフォルトの名前空間を使用します(airflow-sqlproxy-service ではなく airflow-sqlproxy-service.default)。

Cloud Composer をアップグレードしても、環境内のリソースへどのように接続するかについては変わりません(Google Kubernetes Engine ノード VM IP アドレス、Cloud SQL インスタンス IP アドレス、Cloud Storage バケット、Airflow ウェブサーバーのドメイン名など)。

始める前に

  • アップグレードするには、roles/editor または roles/composer.admin 役割が必要になります。
  • アップグレード前に、すべての DAG を一時停止して進行中のタスクが終了するまで待機します。
  • Cloud Composer、Airflow バージョン、またはその両方を同時にアップグレードできます。
  • アップグレード先の Cloud Composer と Airflow の組み合わせはいずれも、リリース バージョンである必要があります。
    • 利用可能なアップグレードについては、利用可能なアップグレードの表示をご覧ください。最新の機能と修正を取得するには、最新の Cloud Composer リリースへのアップグレードを検討してください。
    • サポート対象のバージョンの PyPI パッケージとカスタマイズの一覧については、Cloud Composer のバージョン リストをご覧ください。

      アップグレード前に、Airflow と Cloud Composer の現在のバージョンとアップグレード先のバージョンの違いを把握しておいてください。互換性のない変更を行うと DAG の破損の原因となる可能性があります。

制限事項

  • Cloud Composer や Airflow を以前のバージョンにダウングレードすることはできません。
  • 同じメジャー バージョンのうち最新の Cloud Composer バージョンにのみアップグレードできます(composer-1.4.0-airflow-1.10.0 から composer-1.5.0-airflow-1.10.0 など)。
  • アップグレードするイメージのバージョンは、環境内の現在の Python バージョンをサポートしている必要があります。
  • 現在、プライベート IP Cloud Composer 環境または VPC サービス コントロールが有効にされているプロジェクト内の環境上では、イメージのバージョン アップグレードを実行できません。

利用可能なアップグレードの表示

アップグレードできる Cloud Composer のバージョンを表示するには、次の手順を行います。

Console

  1. Google Cloud Platform で [環境] ページを開きます。

    [環境] ページを開く

  2. 環境の [名前] をクリックします。

  3. [Environment Configuration] タブで [編集] をクリックします。

  4. Cloud Composer の [イメージのバージョン] プルダウン メニューをクリックして、利用可能なバージョンの一覧を表示します。

gcloud

gcloud beta composer environments list-upgrades ENVIRONMENT_NAME \
    --location LOCATION 

ここで

  • ENVIRONMENT_NAME は、環境の名前です。
  • LOCATION は、環境が配置される Compute Engine のリージョンです。

例:

gcloud beta composer environments list-upgrades test-environment \
    --location us-central1
┌─────────────────────────────────────────────────────────────────────────────┐
│                              AVAILABLE UPGRADES                             │
├──────────────────────────────┬──────────────────┬───────────────────────────┤
│        IMAGE VERSION         │ COMPOSER DEFAULT │ SUPPORTED PYTHON VERSIONS │
├──────────────────────────────┼──────────────────┼───────────────────────────┤
│ composer-1.4.0-airflow-1.9.0 │ True             │ 2,3                       │
└──────────────────────────────┴──────────────────┴───────────────────────────┘

API

Cloud Composer REST API を使用して利用可能なバージョンを表示するには、imageVersions.list API リクエストを作成してプロジェクトとロケーションを projects/{projectId}/locations/{locationId} 形式で指定します。

例:

GET https://composer.googleapis.com/v1/projects/test-project-id/locations/us-central1/imageVersions

{
  "imageVersions": [
    {
      "imageVersionId": "composer-1.4.2-airflow-1.10.0",
      "supportedPythonVersions": [
        "2",
        "3"
      ]
    },
    {
      "imageVersionId": "composer-1.4.2-airflow-1.9.0",
      "isDefault": true,
      "supportedPythonVersions": [
        "2",
        "3"
      ]
    }
  ]
} 

Cloud Composer バージョンのアップグレード

環境で実行している Cloud Composer のバージョンをアップグレードするには、次の手順を行います。

Console

  1. Google Cloud Platform で [環境] ページを開きます。

    [環境] ページを開く

  2. 変更する環境の [名前] をクリックします。

  3. 更新するプロパティに対応するタブを選択します。

  4. [編集] をクリックします。

  5. Cloud Composer の [イメージのバージョン] プルダウン メニューをクリックして、バージョンを選択します。

  6. [送信] をクリックします。

gcloud

gcloud beta composer environments update ENVIRONMENT_NAME \
    --location LOCATION --image-version VERSION

ここで

  • ENVIRONMENT_NAME は、環境の名前です。
  • LOCATION は、環境が配置される Compute Engine のリージョンです。
  • VERSION は、composer-a.b.c-airflow-x.y.z または composer-a.b.c-airflow-x.y 形式で、環境で使用する Cloud Composer バージョンと Airflow バージョンです。Airflow パッチを指定しない場合は、指定されたメジャー バージョンとマイナー バージョンに対して利用可能な最も高いパッチ バージョンが使用されます。

例:

gcloud beta composer environments update test-environment \
    --location us-central1 --image-version composer-latest-airflow-1.10.1 

API

Cloud Composer REST API を使用してアップグレードするには、environments.patch API リクエストを作成します。バージョンは、composer-a.b.c-airflow-x.y.z 形式で指定します。

例:

PATCH https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments/test-environment?updateMask=config.software_config.image_version

リクエストの本文には、imageVersion を含めます。

{
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-1.6.0-airflow-1.10.1"
    }
  }
}

Airflow バージョンのアップグレード

環境で実行しているのが最新の Cloud Composer バージョンである場合は、Cloud SDK を使用して Airflow のバージョンのみをアップグレードできます。(composer-1.6.1-airflow-1.9.0 から composer-1.6.1-airflow-1.10.0 など)

gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION --airflow-version VERSION

ここで

  • ENVIRONMENT_NAME は、環境の名前です。
  • LOCATION は、環境が配置される Compute Engine のリージョンです。
  • VERSION は、x.y.z または x.y という形式で、環境で使用する Airflow のバージョンです。

例:

gcloud beta composer environments update test-environment \
--location us-central1 --airflow-version=1.10.1
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...