はじめに
agent bank開発を行っている北原です。
目的
- 個人でKubernetes(以下k8s)を学習したときに関連用語がたくさん出てきて今現在ほとんど頭から抜けているため復習がてら用語をブログにまとめてみる
概要
- ここでは、k8sについての概要説明等は、いたしません。以下をご参考ください。
k8sを構成する要素の概要と言葉
kubectl
コントロールプレーンコンポーネント
kube-apiserver
kube-scheduler
- ワークロード専用のスケジュール機能である
Kubernetesのスケジューラー | Kubernetes
kube-controller-manager
- 制御ループを使ってシステム状態を調整する。モニタリングした現在状態から希望状態への遷移を実行する
cloud-controller-manager
Kubernetesのコンポーネント | Kubernetes
etcd
kubelet
- 各ノードで動作する。
- ボッッドとコンテナの実行
- ポッドとノードの状態を API サーバーへ報告する
- コンテナを検査するブローブを実行
- 内臓する cAdvisor がメトリックスを集約して公開する
- k8sが作成したものではないコンテナは管理しません。
kube-proxy
- 各ノードで動作し、高可用性かつ低オーバーヘッドのロードバランシングを提供
- サービスとポッドの変更を API サーバーで監視し、構成を最新状態に保ち、ポッド間とノード間の通信を確実にする
- サービスの生成時に ClusterIP へのパケットをトラップして、対応するポッドへリダイレクトするように、iptables のルールを操作する
- サービス名と ClusterIP をアドオンの DNS へ登録する
coredns
- ポッドがサービス名から IP アドレスを得るために利用されている
kube-flannel
- すべてのノードで実行され、複数のノードの間で IPv4 ネットワークを提供する。これによりコンテナ(ノード)は K8s 内部の IP アドレスでノードを超えて、疎通できるようになる
- ネットワークポリシーを必要とする場合には、calico を使用しなければならない
calico-kube-controllers
- calico のためのコントローラ。データストアとしての etcd を利用するために使われる
calico-node
- 全てのノードで実行され、ノード間のコンテナ(ポッド)の疎通、アクセスコントロール、ルーティングを提供
kubernetes-dashboard
- WebUI
metrics-server
k8sを触る際によく出る言葉や概要
コンテナ
- 必ずポッド内で実行する
- 軌道に設定できる項目がある
ポッド
- コンテナを実行するためのオブジェクトで、複数のコンテナを内包している
コントローラ
- ポッドの実行を制御するオブジェクト
コンフィグレーション
- コンテナ内のアプリケーションの設定やパスワードなどの情報は、デプロイされた「名前空間」から取得することが推奨されている。
- 設定を保存する:ConfigMap(コンフィグマップ)
- 秘匿情報を保存する:Secret(シークレット)
- 名前空間下に保存された情報は、コンテナ内のファイルや環境変数として、アプリケーションのコードから参照できるようになる
k8sの状態を示す言葉と概要
ContainerCreating
- イメージをダウンロード中、またはコンテナ起動進行中を表す。
- ConfigMap や Secret をマウントできず、コンテナ生成が保留された時もこの値が表示される
CrashLoopBackOff
- ボッド内のコンテナが終了し、次の起動まで待機状態になる。
- コンテナ内のプロセスを見直す必要がある
Pending
- ポッド生成の要求を受け取るが、1 つ以上のコンテナが作成されていない状態
- リソース不足、ポリシー制約によってスケジュールできていないケースがあるため見直す
Running
- ノードに対応づけられ、少なくとも 1 つのコンテナが実行中、開始中、または再起動中である
Terminating
- コンテナへの終了要求シグナルが送られ、コンテナが終了するまで待機中
- 猶予時間をすぎ、コンテナが終了できていない場合、強制終了する
Succeeded
- 正常
Completed
- ポッド内のコンテナが正常終了し存在している。削除されるまで存在し続ける。ポッド名を指定することでログやステータスを取得できる
- ポッド内に複数のコンテナがある場合、第 1 コンテナが正常終了するとポッドは、正常終了として扱われる
Error
- コンテナが異常終了した。
- Completed の対義
Failed
- ポッドないの少なくとも 1 つのコンテナが異常終了した
Unknown
- 何らかの理由により、ポッドの状態を取得できない状態
- また、ノード障害、マスターからノードの状態を取得できなくなったときにもこの表示になる