2章コンテナの作成と起動

Kubernetesは、分散アプリケーションを作成し、デプロイし、管理するためのプラットフォームです。分散アプリケーションと言っても、さまざまな形式やサイズがあります。しかし突き詰めれば分散アプリケーションは、別々のマシンで動作する複数のアプリケーションから構成されています。個々のアプリケーションは入力を受け入れ、データを操作し、結果を返します。分散システムの構築を考える前に、その分散システムを構成する部分であるアプリケーションコンテナイメージを作る方法を知る必要があります。

アプリケーションは通常、言語ランタイム、ライブラリ、自分で書いたソースコードから構成されます。ほとんどの場合、アプリケーションはlibclibsslのような外部ライブラリに依存しています。一般的にこれらの外部ライブラリは、特定のマシンにインストール済みのOS上に、共有コンポーネントとして含まれています。

プログラマのノートPCで開発されているアプリケーションが本番OS上に展開された時、ノートPCにはあった共有ライブラリが本番OS上に存在しないと問題が発生します。開発環境と本番環境で全く同じバージョンのOSを使っていても、依存するアセットファイルをパッケージに含め忘れてアプリケーションを本番にデプロイしてしまうと障害になります。

プログラムは、それが動くべきマシンに確実にデプロイされた時にだけ実行に成功します。デプロイの手順は命令的なスクリプトの実行を含んでいることが多いので、分かりにくいエラーやビザンチン障害†1につながる場合があります。

[†1] 訳注:システムの出力やエラーメッセージの一部あるいは全部が、信頼できない(間違った情報を伝える)状態になる障害。ビザンチン将軍問題( ...

Get 入門 Kubernetes now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.