K3sとMicroK8s、同じ"軽量"でも本番で勝つのはどちらか。dqliteとetcdが分けるHA構成の分岐点
K3sとMicroK8s、同じ軽量Kubernetesでも本番運用の明暗を分けるのはHA構成だ。K3sのembedded etcdとMicroK8sのdqlite、それぞれの最小RAM要件・アーキテクチャの違いを公式ドキュメントのデータで比較し、選定基準を解説する。
Page 2 — Technical articles on Kubernetes, K3s, and Proxmox
K3sとMicroK8s、同じ軽量Kubernetesでも本番運用の明暗を分けるのはHA構成だ。K3sのembedded etcdとMicroK8sのdqlite、それぞれの最小RAM要件・アーキテクチャの違いを公式ドキュメントのデータで比較し、選定基準を解説する。
kubectl topやHPAが突然動かなくなった時、まず疑うべきはmetrics-serverの有無だ。K3sに標準搭載されている理由と、標準Kubernetes(kubeadm)環境で必ず手動導入が必要になる技術的背景、障害発生時の切り分け手順までを公式ドキュメントベースで解説する。
K3s vs K8sを比較しても、defaultのServiceAccountが抱えるautomountの罠は変わらない。マルチテナント環境での権限昇格リスクと、実際のCVEを交えた4層の対策を解説する。
K3sのパッチリリースでcontainerdがv1からv2に切り替わり、カスタム設定テンプレートが効かなくなった実例から、Kubernetes公式のバージョンスキューポリシーが見ていない場所で起きる非互換変更を解説する。
KubernetesのHPAはPod内の全コンテナの使用量を合算して利用率を計算するため、Istioサイドカーやログエージェントの負荷が判定を薄める。ContainerResourceメトリクスで解決する方法をK3s/Kubo文脈で解説する。
K3sはFlannelをデフォルト同梱し、標準KubernetesはCNI未選定の状態から始まる。この出発点の違いがNetworkPolicyの可否や通信性能にどう影響するかを、K3s/Kubernetes/Calico/Ciliumの公式ドキュメントをもとに比較・解説する。
K3s本番でノードをdrainしたら一部PodがPendingのまま戻らなかった。原因はTopology Spread ConstraintsのmaxSkewとPodDisruptionBudgetの衝突。drainがノード数不足を自ら作り出す仕組みを公式ドキュメントベースで検証する。
KyvernoのClusterPolicyが廃止へ向かう中、ValidatingAdmissionPolicy(CEL)に移行したら一部リソースだけ検証が素通りしていた。原因のCELランタイムエラーとfailurePolicyの罠、安全な移行手順を解説する。
VPAのInPlaceOrRecreateモードとIn-Place Pod ResizeでPodは本当に再起動しないのか。K3s環境でQoSクラス制約とcgroup v1の罠を実際の設定例とkubectlコマンドで検証する。
K3sでPod Security Admissionのrestrictedプロファイルを有効化したら、標準Kubernetesのガイド通りに進めたのにServiceLBが機能停止した。原因と安全な導入手順をK3s公式ハードニングガイドの記述とともに解説する。