n-guitar/k8s-bootcamp

k3sの概念的なところについて

Closed this issue · 2 comments

質問内容

k8sの色んなディストリビューションについて以下のブログを読んでいたのですが、
https://www.padok.fr/en/blog/minikube-kubeadm-kind-k3s
k3sの概念的なところについて、以下の理解であっていますでしょうか?

  1. 1つのLinuxマシン上にNode(MasterもWorkerも)を複数作る。
  2. それぞれのNodeやそれらを構成するコンポーネント(SQLite・API Server・Podなどなど)がコンテナ(containerd)によって実装されている。
    image

@jeterdx
k3sのarchitectureは公式サイトをみたほうがよいです。
https://rancher.com/docs/k3s/latest/en/architecture/
が基本的に一番最初に見るドキュメントは公式のものを探すのがいいと思います!

1つのLinuxマシン上にNode(MasterもWorkerも)を複数作る。

これは違います。Master、Workerに分けるかどうかは、利用者次第です。
k8sは複数のプロセスで動作するのですが、k3sは単一のバイナリとしてパッケージ化されています。

余談、
single構成でk3sやk8sを使いたいときは単純にMaster兼Workerとすることもできます。
一般的にMasterにはTaintsしておくことがほとんどですが、とってしまえば普通にworkerとして利用できます。

それぞれのNodeやそれらを構成するコンポーネント(SQLite・API Server・Podなどなど)がコンテナ(containerd)によって実装されている。

バンドルされている内容は以下を見てもらったほうがわかりやすいです。
https://github.com/k3s-io/k3s
※k8s(OSS)との違いについても触れられています。

余談
kubeadmでinitしたものを一般的にvanilla Kubernetesと呼ぶようです。

ありがとうございます!確認遅くなりましたm

「k3sは単一のバイナリとしてパッケージ化」
この辺りを理解しきれていなかったので公式ドキュメント見て勉強します!