【Kubernetes入門】(1)概要
Kubernetesの概要
- Kubernetesは、コンテナオーケストレーションと呼ばれるツール。
- 記載時は略してK8s。(Kとsの間が8文字の為)
- 読み方は、クバーネティス、クーバネティス、クーベネティス、等。
- 元々Googleが開発していたが、2014年にCNCF(Cloud Native Computing Foundation)へ寄贈された。
【公式HP】Kubernetesとは何か?
DockerとKubernetesの違い
Dockerとの関係
Kubernetesはコンテナを管理しますが、実際にはDocker等のコンテナ基盤ツールを利用します。
Container Runtime Interface (CRI)
Dockerとの違い
多数のコンテナを扱う場合、 Dockerは以下の事がネックになります。
そこで登場したのがKubernetesです。
- 外部アクセスからコンテナへの負荷分散
- コンテナ間の通信制御
- コンテナ間の共通ストレージ
- コンテナの監視とスケーラビリティ
- コンテナのログ
Kubernetesの機能
コンテナオーケストレーションであるKubernetesは、コンテナに対して主に以下を管理します。
- コンテナの展開
- コンテナへの死活監視
- コンテナへの負荷分散
- コンテナの自動修復
- コンテナのスケーリング
Kubernetesコンポーネント
Kubernetesを構成するコンポーネントについて簡単に触れておきます。
これらコンポーネント自体もコンテナとして動き、一部は冗長化されていたりします。
- Master Node (コントロールプレーン)
- kube-apiserver
‥‥ 操作受付、認証・認可。Nginx。 - kube-controller-manager
‥‥ 各種コントロール。 - kube-scheduler
‥‥ Podのノード割り当て。 - etcd
‥‥ データの保存。
- kube-apiserver
- Worker Node (データプレーン)
- kubelet
‥‥ コンテナの管理。 - kube-proxy
‥‥ Podとの通信提供。 - Container Runtime
‥‥ コンテナ基盤ツール(Docker等)。
- kubelet
【公式HP】Kubernetesのコンポーネント