1章Kubernetes入門
Kubernetesは、コンテナ化されたアプリケーションをデプロイするための、オープンソースのオーケストレータです。Kubernetesは、コンテナ上で動くスケーラブルかつ信頼性の高いシステムを、アプリケーション指向のAPIを通じてデプロイしてきた経験を元にして、当初はGoogleが開発しました†1。
[†1] Brendan Burns et al., “Borg, Omega, and Kubernetes: Lessons Learned from Three Container-Management Systems over a Decade,” ACM Queue 14(2016): 70–93。 http://bit.ly/2vIrL4Sからダウンロード可能。
しかし、Kubernetesは、Googleが開発した技術を単に外部に公開しただけのものではありません。Kubernetesは、大きく成長しているオープンソースコミュニティによるプロダクトに育ってきました。これは、Kubernetesが巨大な企業のニーズにだけ合うものではなく、Raspberry Piのクラスタから最新マシンの巨大クラスタまで、あらゆる規模におけるクラウドネイティブな開発者たちの要求にも応えることを意味しています。Kubernetesは、信頼性が高くスケーラブルな分散システムを、上手に構築してデプロイするために必要なソフトウェアを提供しています。
ここでの「信頼性が高くスケーラブルな分散システム」とは何を指すのか気になるかもしれません。今日、たくさんのサービスがネットワーク上でAPIを通じて提供されています。APIの多くは分散システム上で動いています。分散システムとは、異なるマシンの上で動作するAPIを実装する部品の集まりであり、ネットワーク通信を介して連携して動作しています。人々の日常生活は、あらゆる面でAPIに依存するようになってきているため、APIを支えるシステムは ...