×
ソフトウェア開発管理技術
コンテナオーケストレーションを牽引する代表的な技術が「Kubernetes(K8s)」です。これは、複数のサーバーマシンを束ねて1つの巨大なコンピュータ(クラスタ)として扱い、その上でコンテナを効率よく実行するためのプラットフォームです。基本的な仕組みとして、システムが常に目指すべき理想の状態(定義したレプリカ数やネットワーク構成など)を「マニフェストファイル(YAML形式等)」で記述し、これをクラスタに適用(宣言的API)します。コンテナオーケストレーションエンジンは、現在の状態(実態)を常に監視し、もし異常終了などで理想の状態から乖離した場合は、自動的に新しいコンテナを起動して状態を合致させる「自己修復(セルフヒーリング)」を行います。また、コンテナ間の通信経路を自動設定する「サービスディスカバリ(Service Discovery)」や、アクセス負荷を分散する「ロードバランシング(負荷分散)」、データベースのパスワードなどの秘密情報を安全に管理・注入する「シークレット管理」といった機能も組み込まれています。これらにより、コンテナ環境上での大規模なマイクロサービスの運用管理コストを最小限に抑えています。