コンテンツに移動
アプリケーション開発

GKE ワークロードのデプロイ パイプラインを数クリックで作成

2020年3月25日
https://storage.googleapis.com/gweb-cloudblog-publish/images/GCP_AppDev.max-2600x2600_IUzAUvR.jpg
Google Cloud Japan Team

※この投稿は米国時間 2020 年 3 月 7 日に、Google Cloud blog に投稿されたものの抄訳です。

Kubernetes がコンテナ オーケストレーションのデファクト スタンダードになりつつあるなかで、多くの開発チームはコードの構築、テスト、および Kubernetes へのデプロイをすばやくスムーズに行う方法を模索しています。クラウド ネイティブ環境向けに設計されていない従来の継続的インテグレーションおよび継続的デリバリー(CI / CD)ツールは機能が十分でないことが多く、開発者はデプロイの自動化に適したベスト プラクティスの模索、パイプラインのスケーリング、実装に関するその他の詳細の検討に多くの時間を費やしています。 

Kubernetes を使い始めたばかりのチームにとっては時間がかかるうえにエラーが発生しやすい作業も多く、作業がさらに複雑になります。そうした作業の例としては、アプリケーションの構成ファイルの作成、CI / CD サーバーの設定、構成ファイルの更新の確認、Kubernetes クラスタへの正しい認証情報を使ったイメージのデプロイなどが挙げられます。雑多な作業にうんざりしてしまうのも無理はありません。このような手順や特定の環境に最適なパイプラインについて悩むより、コードの作成に時間を費やしたいとお考えではないでしょうか。また、CI / CD パイプラインの設定が完了しても、複雑すぎるうえ、時間の経過とともにスクリプトがどんどん追加されていきます。 

継続的デリバリーに関するこういった問題を解決できるよう、数回のクリックで Google Kubernetes Engine(GKE)の継続的デリバリー パイプラインを作成できる自動デプロイ機能をリリースしました。実装の詳細について気にすることなく、迅速かつ手間をかけずに GKE に変更点をデプロイできるようになります。これらのパイプラインには、Kubernetes のデプロイ処理に関して Google が蓄積してきたすぐに使えるベスト プラクティスが実装されており、パイプラインの設定と管理のオーバーヘッドをさらに削減します。 

GKE の自動デプロイは、業界をリードするクラウド ネイティブな CI / CD プラットフォーム Cloud Build を使用します。Cloud Build では、サーバーの事前プロビジョニングや、追加容量の事前支払いを行うことなく、パイプラインのスケールアップとスケールダウンが可能です。また、Cloud Build の提供するパイプラインにはセキュリティとコンプライアンスの強化機能が組み込まれており、個々のワークフローとポリシーのニーズを満たすことができます。 

さらに、従来の CI / CD ツールにある継続的デリバリー機能とは異なり、GKE の自動デプロイでは、パイプラインを管理、更新、改善する必要がありません。すべての変更と更新は、バックグラウンドで自動的に処理されます。ソースコードに変更が加えられるたびに、パイプラインが自動的に実行されるため、新しい機能や修正プログラムを迅速かつ確実にデプロイできます。また、プレビュー デプロイメントでは、pull リクエストを開くか更新するたびに、提案されたコード変更を含むバージョンのアプリケーションがデプロイされるため、変更が期待どおりに動作するかをすばやく検証できます。使わなかったプレビュー デプロイメントは自動的にクリーンアップされ、リソースが解放されます。

初めてのパイプラインを数クリックで作成

自動デプロイは、ソース リポジトリ、ビルド構成、Kubernetes 構成を指定する YAML ファイルを選択するだけで開始できます。既存の YAML ファイルを使えるほか、Google でもおすすめの YAML ファイルをご用意しています。  

1.ソースを選択する

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_source.max-1100x1100.jpg

2.ビルド構成を選択する

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_build_configuration.max-1500x1500.jpg

3.Kubernetes YAML を選択する - 既存の YAML ファイルまたは Google Cloud が提供する YAML ファイル

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Kubernetes_YAML.max-1600x1600.jpg

4.追跡とデバッグができるようにワークロードのリビジョンを Cloud Build にリンクする

https://storage.googleapis.com/gweb-cloudblog-publish/images/Cloud_Build_P56pgXT.max-1500x1500.jpg

自動デプロイの利点

自動デプロイには、他にも次のようなメリットがあります。

  • おすすめの Kubernetes 構成: アプリケーションのデプロイに使用する Kubernetes YAML は、自動デプロイから提案されます。手動で構成を微調整する必要はありません。

  • 手間のかからない継続的デリバリーの設定: 自動デプロイ パイプラインに必要なすべての手順(ソースコード リポジトリへの接続、パイプラインをトリガーする条件、コンテナ化されたアプリケーションを構築およびデプロイする手順)を、1 回のフロー、数回のクリックで構成できます。

  • CI / CD メンテナンス作業の軽減: 継続的デリバリー パイプラインは Cloud Build で実行されるため、独自の CI / CD システムのインストールとメンテナンスに時間を費やす必要がありません。

  • エンドツーエンドの追跡が可能: 自動デプロイを使用してデプロイされたワークロードは、そのワークロードが作成されたパイプラインとソースコードの commit にリンクできます。Binary Authorization を使用すると、継続的デリバリー パイプラインを使用してデプロイされたワークロードのみを許可する、安全なソフトウェア サプライチェーン ポリシーを作成できます。

  • プレビュー デプロイメントによる「シフトレフト」: コード変更をマージする前に、アプリケーションが意図したとおりに動作しているかをすばやくテストできるため、開発プロセスの早い段階でも問題を特定できます。

自動デプロイ機能は Google Cloud Console で今すぐご利用いただけます。初めて自動デプロイ パイプラインを設定し、それを使用して GKE にデプロイする手順について詳しくは、ドキュメントをご覧になるか、以下の動画をご確認ください。
Video Thumbnail

- By プロダクト マネージャー Andrew Phillips

投稿先