フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

kubernetesにおけるコンポーネントを整理してまとめます

f:id:lirlia:20200420050230p:plain

kubernetesのContorollerと呼ばれるノードにはこれらのコンポーネントが存在しています。(kubeadmでインストールした場合)

この記事ではそれらのコンポーネントがどのように起動され何を担当しているのかを簡単に紹介します。

名前 種類 役割
kubelet デーモン 各ノード上で実行されkube-apiserverと連携してdockerに対して指示をおこなう
docker デーモン コンテナランタイム(containerdなどもここ)
docker バイナリ dockerデーモン経由で操作を行うCLI
kubectl バイナリ kube-apiserver経由でkubernetesの操作を行うCLI
kubeadm バイナリ kubernetesクラスタの作成、更新、管理、削除を行う CLI
kube-proxy デーモン(Pod) Podへのアクセスを実現するためにiptables/IPVSなどを制御する
kue-apiserver デーモン(Pod) kubernetesのAPIを受け付ける
kube-controller-manager デーモン(Pod) kubernetesのコントロールを担う(命令担当)
kube-scheduler デーモン(Pod) ノードに未割り当てのPodの制御を行う
coreDNS デーモン(Pod) 払い出されたServiceやPodで使用されるホスト名の名前解決に使用される
etcd デーモン(Pod) kubernetesの各種設定を保存するkey/valueストア
calico(CNI) デーモン(Pod) 各ノード間の通信を担当する、他にもいくつかのCNIが存在している

ちなみにkubeadm upgradeを叩いた時の範囲はこちら。

f:id:lirlia:20200420050239p:plain