Webシステム開発の雑多なアウトプット

AWS、プログラム、OSS等を中心に良かった本も。

【Kubernetes入門】(1)概要

f:id:web-system:20220107214008j:plain

 

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を構成するコンポーネントについて簡単に触れておきます。
これらコンポーネント自体もコンテナとして動き、一部は冗長化されていたりします。

 

f:id:web-system:20220105183507p:plain

Kubernetesハイレベルアーキテクチャ

 

  • Master Node (コントロールプレーン)
    • kube-apiserver     
       ‥‥ 操作受付、認証・認可。Nginx。
    • kube-controller-manager
       ‥‥ 各種コントロール
    • kube-scheduler     
       ‥‥ Podのノード割り当て。
    • etcd          
       ‥‥ データの保存。

 

  • Worker Node (データプレーン)
    • kubelet      
       ‥‥ コンテナの管理。
    • kube-proxy    
       ‥‥ Podとの通信提供。
    • Container Runtime
       ‥‥ コンテナ基盤ツール(Docker等)。
【公式HP】Kubernetesのコンポーネント