KUBERNETES_MASTER テーブル¶
概要¶
SONiC ホストを Kubernetes worker としてマスターに参加させるための接続情報を保持するテーブル。SONiC の K8s 統合 (Smart Switch でも参照される DPU 管理経路の一部) でコンテナ化された feature を K8s から起動するために使われる1。
データフロー (自動生成)¶
flowchart LR
CDB[("CONFIG_DB<br/>KUBERNETES_MASTER")]
DM["ctrmgrd"]
CDB --> DM
凡例
CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。
key 構造¶
(list ではなく単一 container)
主要フィールド¶
| フィールド | 型 | 既定 | 説明 |
|---|---|---|---|
ip |
inet:host | - | API server endpoint (IP または DNS) |
port |
inet:port-number | 6443 | API server ポート |
disable |
boolean (string true/false) |
false |
K8s 統合を無効化 |
insecure |
boolean (string true/false) |
true |
CA 証明書取得時に HTTP を許可 |
購読者¶
ctrmgrd(docker-config-engine): CONFIG_DB を購読し、対象 feature の K8s モード切替・kubelet 設定を実施FEATUREテーブルのset_owner = kubeを持つコンテナが K8s からデプロイされる
関連 CONFIG_DB / YANG / CLI¶
- 関連 CONFIG_DB:
FEATURE(set_owner、state、auto_restart) - 関連 CLI:
config kubernetes server ip/port/disable、show kubernetes - 関連 YANG:
sonic-kubernetes_master
関連リファレンス¶
- YANG:
sonic-kubernetes_master - CLI:
config kubernetes
引用元¶
運用ヒント¶
典型値¶
- key 形式:
KUBERNETES_MASTER|SERVER。 ip: master VIP、disable:false、insecure:false。
よくある誤設定¶
- ip を hostname にすると DNS 未解決時に kubelet が起動しない。
確認コマンド¶
値依存挙動マトリクス¶
このテーブルに strict な enum フィールドはない。boolean の組み合わせと ip の型で動作が決まる。
disable¶
| 値 | 挙動 |
|---|---|
false(デフォルト) |
K8s 統合有効。ctrmgrd が kubelet 設定を実施 |
true |
K8s 統合無効化。kubelet 接続を停止 |
insecure¶
| 値 | 挙動 |
|---|---|
true(デフォルト) |
CA 証明書取得時に HTTP を許可(TLS 検証なし) |
false |
TLS 証明書検証あり(セキュアモード) |
| その他 | YANG バリデーションで reject |
ip(型別挙動)¶
| 型 | 挙動 |
|---|---|
| IPv4 アドレス | 推奨。起動早期から安定して接続可能 |
| FQDN(ホスト名) | DNS 解決失敗環境(起動早期)では kubelet 接続失敗リスク |
| 数値変換不可文字列 | ValueError をキャッチしてデフォルト値を設定(kube.py L39, L47) |
例外条件・特殊挙動¶
| 条件 | 挙動 |
|---|---|
ip フィールドが数値変換できない文字列 |
ValueError をキャッチしてデフォルト値を設定(kube.py L39, L47) |
ip に FQDN(ホスト名)を使用 |
DNS 解決失敗環境(起動早期)では kubelet 接続失敗。IP アドレス指定を推奨 |
disable 未設定 |
デフォルト false(kubelet 接続有効) |
insecure=true 設定 |
TLS 証明書検証を無効化。true/false 以外の値は YANG バリデーションで reject |