Kubernetes を本格的に利用する機会がやってきたので、理解を深めていくための足掛かりとなる情報をまとめてみました。
Kubernetesは、マスターサーバとノードサーバからなるクラスタからなります。
マスターサーバーはREST APIを受け取ることができ、そこから様々な機能が動作していくことになります。 手始めに、公式のページを頼りに主要なコンポーネントとそのソースコードを整理しました。
name | type | source |
---|---|---|
kube-apiserver | master | cmd, pkg |
etcd | master | — |
kube-scheduler | master | cmd, pkg |
kube-controller-manager | master | cmd |
cloud-controller-manager | master | cmd, pkg |
kubelet | Node | cmd, pkg |
kube-proxy | Node | cmd |
その他、気になるパッケージやライブラリとして kubectl
と client-go
を中心に深堀りしていきます。 kubectl
は通常ターミナルからKubernetes を操作するコマンドラインインターフェイスです。このコマンドの動きを把握することで何ができるか、又はできないのかつかみやすくなります。
client-go
は、公式でも使われているクライアントライブラリです。 kubectl
でも使われており、Kubernetes の内部理解を進めてくれます。
name | type | source |
---|---|---|
kubectl | — | cmd |
client-go | — | client |
ログ周りや監視、サービスアカウントなどKubernetes を構成する要素はまだまだありますが、上記にあげた内容を基礎としました。