組織内でのコンテナの普及に伴い、コンテナ中心の管理ソフトウェアである Kubernetes は、コンテナ化アプリケーションのデプロイと運用における事実上の標準になっています。Google Cloud は Kubernetes が生まれた場所です。元々 Google で開発され、2014 年にオープンソースとしてリリースされました。Kubernetes は、15 年間にわたって Google のコンテナ化されたワークロードを実行してきた経験と、オープンソース コミュニティによる価値ある貢献のもと、構築されています。Google の内部クラスタ管理システムである Borg にインスパイアされた Kubernetes を利用すると、アプリケーションのデプロイと管理に関連するすべてが容易になります。自動化されたコンテナのオーケストレーションを提供することで、Kubernetes は信頼性を向上させ、日々の運用作業にかかる時間とリソースを削減します。
GKE、Google Cloud のマネージド Kubernetes の詳細を確認する。
準備ができたら新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
Kubernetes(「K」と「s」の間にある 8 文字に合わせて「K8s」と短縮されることもあります)は、コンテナ化されたアプリケーションをどこでもデプロイ、スケール、管理できるオープンソース システムです。
Kubernetes はコンテナ管理の運用タスクを自動化し、アプリケーションのデプロイ、アプリケーションへの変更の展開、変化するニーズに合わせたアプリケーションのスケールアップやスケールダウン、アプリケーションのモニタリングなどの組み込みコマンドが含まれているため、アプリケーションの管理が容易になります。
自動化された運用
Kubernetes にはアプリケーション管理に関係する多くの手間のかかる作業を処理するためのコマンドが組み込まれており、日々の運用作業を自動化できます。アプリケーションの実行がどんなときでも確実に意図したとおりに行われるようにすることができます。
インフラストラクチャの抽象化
Kubernetes をインストールすると、自分のワークロードに代わってコンピューティング、ネットワーキング、ストレージを処理します。これにより、デベロッパーはアプリケーションに集中することができ、基盤となる環境を気にする必要がありません。
サービス正常性のモニタリング
Kubernetes は、サービスに対して継続的にヘルスチェックを実行し、障害のあるコンテナまたは停滞しているコンテナを再起動します。コンテナが実行されていることが確認できた場合のみ、ユーザーにサービスを提供します。
Kubernetes と Docker は、どちらか一方だけを選択するものと誤解されることが多いですが、コンテナ化されたアプリケーションを実行するための、異なりながらもお互いに補い合うテクノロジーです。
Docker を使用することで、アプリケーションを実行するために必要なすべてのものを、必要なときに必要な場所に保存して開くことができるボックスに入れておくことができます。アプリケーションをボックスに入れ始めると、それらを管理する方法が必要になります。それが Kubernetes の役割です。
Kubernetes はギリシャ語で、「船長」を意味します。船長が海上で船を安全に航行する責任があるように、Kubernetes はこれらのボックスを使用できる場所に安全に運んで届ける責任があります。
Kubernetes は、どこでも簡単に管理してデプロイできるアプリケーションを作成するのに使用されます。マネージド サービスとして利用できる場合、Kubernetes は必要に応じて幅広いソリューションを提供します。一般的なユースケースを次に示します。
開発速度の向上
Kubernetes は、クラウドネイティブのマイクロサービス ベースのアプリを構築するのに役立ちます。また、既存アプリのコンテナ化もサポートしており、アプリケーションのモダナイゼーションの基盤となり、アプリをすばやく開発できます。
どこでもアプリケーションをデプロイ
Kubernetes はどこでも使用できるように構築されており、オンサイト デプロイとパブリック クラウド、そしてその間のハイブリッド デプロイにまたがるアプリケーションの実行が可能になります。そのため、必要な場所でアプリケーションを実行できます。
効率的なサービスの実行
Kubernetes は、サービスを実行するために必要なクラスタのサイズを自動的に調整できます。これにより、需要に応じてアプリケーションを自動的にスケールアップまたはスケールダウンし、効率的に運用できます。