継続的インテグレーションと継続的デリバリー

CI/CD と Kubernetes によるコードの迅速なデプロイ

無料トライアル お問い合わせ

CI/CD と Kubernetes によるコードの迅速なデプロイ

継続的なインテグレーションとデプロイ(CI/CD)は、アプリケーションのアップデートを迅速でかつ自動化された方法でお客様に届けるデプロイ戦略です。Kubernetes と Kubernetes Engine を利用すると、次のような問題を解決できます。

リリース サイクルの長期化 – テストとデプロイを手動で行うと、本番環境へのコードの移行が遅れる場合があります。その場合、コードをマージする際に競合が発生する可能性が高くなり、パッチやアップデートをお客様に届けるまでの時間が長くなります。

障害 – インフラストラクチャを手動で管理している場合、障害の発生に備えて誰かが必ずポケベルを携帯して呼び出しに応じられるようにしなければなりません。その原因がデータセンターへの落雷であれ、トラフィックの急増による容量超過であれ、障害が発生すればたとえ深夜であってもチームの誰かが対処しなければならないのです。アプリがダウンしている時間が長引くほど、利益とお客様は減っていきます。

サーバーの非効率的な利用 – クラウド内のアプリであるかオンプレミスのアプリであるかにかかわらず、アプリが効率的にサーバー上に配置されるように管理しないと、無駄な容量に対して費用を支払うことになります。

CI/CD と Kubernetes によるコードの迅速なデプロイ

コードのコンテナ化

アプリをコンテナ内で実行すると、必要なリソースとライブラリが間違いなく確保され、ライブラリのバージョン間の競合やアプリケーション コンポーネント間の競合が回避されます。これによってアプリは、別の環境への移行や容易なレプリケーションが可能になり、スケーラブルなものになります。

Cloud Build を使用すると、Google Cloud Platform の高速でかつ一貫性があり、さらには信頼性の高い環境で、コンテナ イメージのビルドを実行できます。

コードのコンテナ化

Kubernetes によるデプロイのオーケストレーション

アプリがコンテナ内で動作するようになった後も、管理は必要です。アプリのデプロイ、状況のモニタリング、需要に応じた規模のスケーリングを行う必要があります。こうした作業は、人手で行うこともできますが、Kubernetes によってオーケストレートすることができます。

Kubernetes を使用する場合は、望ましいデプロイ状態を .yaml ファイルに指定します。すると、Kubernetes は継続的な環境のモニタリングによってその状態を維持します。具体的には、需要に応じたアプリのデプロイとスケーリング、コンテナの効率的なバイナリパッケージ化とサーバーへの配置、不正なプロセスの終了を行います。

Kubernetes はオープンソース ソフトウェアであり、その改善に協力して取り組む大規模なデベロッパー コミュニティによってサポートされています。そのため、Kubernetes はクラウド プロバイダ上でも独自のデータセンター内でも、場所を問わず実行できます。1 つのプラットフォームに縛られることはありません。

Kubernetes によるデプロイのオーケストレーション

Google Cloud インフラストラクチャでの Kubernetes の実行

オープンソースの Kubernetes プロジェクトは、まさにコードの継続的なインテグレーションとデプロイのような問題を解決するために、Google 社内のテクノロジーから生まれました。Google は Kubernetes プロジェクト発足当初からのパートナーであり、そのテクノロジーを熟知しています。

Kubernetes Engine を使用すると、Kubernetes が動作するインフラストラクチャの管理という、CI/CD の最終ステップが不要になります。デプロイ環境を Kubernetes Engine 上で動作させることにより、最適化された効率的な状態でアプリを実行し続けるのに必要十分な数のサーバーが常に確保されます。

Google Cloud インフラストラクチャ上でワークロードを実行すると、データセンターの管理や障害についての不安が解消され、Google の超高速プライベート光ファイバー ネットワークなど、強力かつ革新的なテクノロジーを利用できます。

ようやくポケベルから解放され、楽しい週末を取り戻すことができるわけです。

Google Cloud インフラストラクチャでの Kubernetes の実行

Kubernetes クラスタのデプロイと
本番環境用コードの瞬時更新

さあ、実践してみましょう。次のターミナル エミュレータにコマンドを入力すると、
Kubernetes Engine 上に Kubernetes クラスタを作成する方法がわかります。

最初のクラスタの作成

基本事項はもう押さえたので、いつでも最初の Kubernetes Engine クラスタを GCP 上で立ち上げることができます。

このページは役立ちましたか?評価をお願いいたします。

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