イメージを立ち上げてみよう。ベースとしたコンテナ環境です。1つ以上のコンテナから構成されるクラスターの自動的な管理やスケールを行う、オーケストレーションツールです。サービスの構成や各役割を持ったクラスターの定義を宣言し、自動的に管理することが可能です。機能をフルに活用することができます。操作する対象はインスタンスでした。動作し、ネットワークインターフェースやストレージを接続することのできる、仮想化されたサーバーです。通常、1つの物理的なサーバー上で複数の仮想マシン(インスタンス)を動作させます。この概念によれば、仮想マシンは物理マシンとほぼ同じように考えることができるため、理解しやすいのではないでしょうか。使う場合、操作する対象はなんなのでしょうか。コンテナを動作させるためのオーケストレーションシステム、というわけです。どのようなシステムなのでしょうか。仮想化技術の1つである、コンテナ型仮想化を使ってアプリケーションを実行するためのソフトウェアです。コンテナと呼ばれる環境を作成します。コンテナは、ファイルシステムやプロセスツリー、ネットワークが他のコンテナと隔離されていて、直接お互いが干渉することはできません。コンテナは、そのアプリケーションが必要とする依存ライブラリなどを持っておけばよいことになります。イメージに対して、アプリケーションを動作させるまでに行った差分が保存されています。イメージをロードすることで、アプリケーションとそれを動作させる環境を作成します。イメージは状態を持たず、作成後は変化することがありません。コンテナを起動することになります。いった構成管理ツールでは、依存するライブラリのバージョンを上げていくといった作業を何回も行っているうちに、ライブラリ同士の依存がコンフリクトするケースなども多くありました。開発環境と本番環境で環境が大きく異なってしまい、本番環境でのみ起こるバグが発生するといった問題も見られました。対しての差分となりますので、コンフリクトを気にしなくても良いといったメリットがあります。開発環境と本番環境の差がほとんどないため、安心してデプロイを行うことができます。時代に比べて非常に身近なものになりました。イメージをデプロイする、というスタイルで開発をされている方もいらっしゃると思います。動作している訳ではないため、起動のオーバーヘッドが低く、仮想マシンよりも気軽に立ち上げて捨てることが可能です。多数のコンテナを使って1つのサービスを実現する際に、サービスがどのようなコンテナで構成されるかを定義すれば、コンテナの立ち上げ、モニタリング、ロードバランシング、サービスの自己修復などを行うことができます。このように、多数のコンテナを協調動作させるためのシステムを、コンテナオーケストレーションシステムと呼びます。1つ以上のコンテナを含み、1つの機能を実現する論理的な単位です。いうように、単一の役割を担います。組み合わせてアプリケーションの機能を実現したものとなります。作成してアプリケーションのバージョンアップを行います。サービスを停止せずにアプリケーションのアップデートを実現しています。して外部からアクセス可能にする際には、ロードバランサーを設定することも、ポートを指定して公開することも可能です。複数動く環境をクラスターとしています。管理し、スケジューリングやオートスケールを行います。概念がなんとなく理解できたのではないでしょうか。概念や構成についてより詳しく知りたい場合は、Kubernetesのチュートリアルと、GKEのドキュメントが参考になるでしょう。アプリケーションを動作させてみましょう。コンソールから実際にクラスター(ここでは1ノードのクラスター)を立ち上げて見ましょう。