自動デプロイの設定


Google Kubernetes Engine(GKE)のワークロードに自動デプロイを構成できます。

このページでは、ワークロードにシンプルな継続的インテグレーション / 継続的デリバリー(CI / CD)パイプラインを設定する方法について説明します。リポジトリに変更を push すると、Cloud Build がコンテナを自動的にビルドして GKE クラスタにデプロイします。

自動デプロイの仕組み

GKE に単一コンテナ イメージを参照するワークロードがある場合、このワークロードに自動デプロイを構成できます。自動デプロイを構成すると、コードの変更がリポジトリにチェックインされるたびに、アプリケーションが再ビルドされ、デプロイされます。

自動デプロイでは、ワークロードを YAML ファイルとして定義し、この YAML ファイルをリポジトリに保存します(ベスト プラクティスに準拠)。GKE はこの目的で使用できる YAML を生成します。

YAML ファイルを使用する方法には、次の 2 つがあります。

  • ワークロードを定義する YAML ファイルがない場合は、生成された YAML ファイルを使用できます。YAML ファイルをリポジトリに保存します。Cloud Build は毎回、これを使用してワークロードをデプロイします。

  • ワークロードを定義する YAML がすでにある場合は、リポジトリ内の場所を GKE に指定できます。リポジトリの YAML ファイルと推奨の YAML ファイルを比較することで、正しいワークロードが適切な方法でデプロイされることを確認できます。

始める前に

始める前に、次の作業が完了していることを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

要件

自動デプロイには次の要件があります。

  • 自動デプロイは、単一のコンテナ イメージを指定する Deployment タイプのワークロードでのみ使用できます。マルチコンテナ ワークロードと他のワークロード タイプ(ReplicaSet など)はサポートされていません。

  • ソースコード リポジトリには、イメージのビルドに使用する Dockerfile が必要です。

    このリポジトリは、次のいずれかのプロダクトでホストできます。

    GitHub または Bitbucket を使用する場合は、リポジトリに Google Cloud へのアクセス権を付与する必要があります。

  • コンテナ イメージを GKE クラスタと同じ Google Cloud プロジェクトの Artifact Registry に保存します。イメージを Artifact Registry に配置し、少なくとも 1 回はデプロイする必要があります。これにより、ワークロードが GKE で処理されます。

自動デプロイの作成

自動デプロイを作成するには、次の手順を行います。

  1. Google Cloud コンソールの [ワークロード] ページに移動します。

    [ワークロード] に移動

  2. ワークロード リストで、変更する Deployment の名前をクリックします。

  3. [アクション] > [自動デプロイ] の順にクリックします。

[デプロイの自動化] ペインで、次の手順を行います。

  1. [ソース リポジトリ] で、ソースコード リポジトリを選択します。

    1. [リポジトリ プロバイダ] プルダウン リストで、リポジトリのプロバイダを選択します。

      自動デプロイは次のソース管理ホストに対応しています。

      • Cloud Source Repositories
      • GitHub
      • Bitbucket

        GitHub または Bitbucket を使用する場合は、ユーザー名とパスワードで認証を行います。

    2. [リポジトリ] プルダウン リストから、Deployment のソースコードを含むリポジトリの名前を選択します。

    3. [続行] をクリックします。

  2. [ビルド構成] で、ビルド構成情報を指定します。

    1. ビルド元のブランチの名前か、ブランチに一致する正規表現(RegExp2)を入力します。デフォルトのブランチは master です。このブランチに push すると、Cloud Build がアプリケーションをビルドします。
    2. [Dockerfile のディレクトリ] を相対パスで入力します。
    3. [Dockerfile の名前] を入力します。

    4. [続行] をクリックします。

  3. [自動デプロイの構成] で、構成 YAML ファイルの場所を指定します。

    YAML ファイルが自動的に生成されます。これにより、YAML ファイルをリポジトリに格納できます。

    1. [Google 推奨の YAML を表示] をクリックすると、生成された YAML が表示されます。

    2. 独自の YAML ファイルがある場合はそれと比較し、結果に基づいて更新します。

      それ以外の場合は、新しいファイルを作成し、生成された YAML を入力します。これにより、デプロイされたワークロードと現在実行中のワークロードが一致します。ファイルには任意の名前を付けることができますが、拡張子は .yaml または .yml にする必要があります。

    3. YAML ファイルがあるディレクトリへの相対パスを指定します。

      指定したディレクトリに複数の YAML ファイルがある場合、GKE はそのすべてを使用します。

  4. [設定] をクリックして、自動デプロイの構成を完了します。

    Cloud Build サービス アカウントに権限を付与するように求められる場合があります。この権限は必須です。

次のステップ

選択したワークロードの自動デプロイを設定すると、リポジトリの選択したブランチに push された後にコンテナ イメージをビルドする Cloud Build トリガーが作成されます。Cloud Build は、元のイメージがデプロイされているクラスタにワークロードの新しいリビジョンをデプロイします。

ワークロードの詳細については、[デプロイの詳細] ページ([変更履歴] タブ)をご覧ください。