Kubernetes に関する記事を、クラスタ構築、基本リソース、Service、MetalLB、CNI、Helm、Harbor、運用トラブルの観点で整理したハブページです。
このブログでは、クラウドマネージド Kubernetes よりも、自宅環境やオンプレミスに近い Kubernetes を前提にした検証が多くなっています。そのため、LoadBalancer Service、CNI、内部レジストリ、MetalLB、kubeconfig、送信元アドレスの扱いなど、周辺要素も含めて整理します。
書籍
Kubernetes の仕組み、リソース、ネットワーク、運用観点を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
まず読む記事
最初に、クラスタの構築、kubectl / kubeconfig、基本リソース、Service の入口を確認します。Kubernetes は単体のコマンドではなく、クラスタ、認証情報、リソース、ネットワークを合わせて理解する必要があります。
- Kubernetes クラスター構築 – kubeadm で controlPlaneEndpoint と CNI を整理する
- Kubernetes kubectl の導入 – リモートクラスタを操作する基本
- Kubernetes kubeconfig の管理 – 複数クラスタと context を整理する
- Kubernetes Nginx コンテナの実行 – Deployment で Pod を管理する
- Kubernetes Nginx コンテナと Service ClusterIP – クラスタ内部通信の入口を作る
クラスタ構築と管理
kubeadm でクラスタを作る場合は、controlPlaneEndpoint、CNI、証明書、kubeconfig、リセット手順をまとめて見る必要があります。古い構築メモは、現在の手順へ読み替える資料として扱います。
- Kubernetes クラスター構築 – kubeadm で controlPlaneEndpoint と CNI を整理する
- Kubernetes クラスタの初期化 – kubeadm reset の基本
- Kubernetes コントロールプレーンノードを追加できない場合 – kubeadm-certs を再生成する
- Kubernetes kubeconfig の管理 – 複数クラスタと context を整理する
- 古い Kubernetes クラスター構築メモ – kubeadm 手順を現在の記事へ読み替える
基本リソースと Service
Pod、Deployment、Service は Kubernetes の基本です。ClusterIP、NodePort、LoadBalancer の違いを確認してから、MetalLB や外部公開の設計へ進みます。
- Kubernetes マニフェストの apiVersion を理解する
- Kubernetes Nginx コンテナの実行 – Deployment で Pod を管理する
- Kubernetes Nginx コンテナと Service ClusterIP – クラスタ内部通信の入口を作る
- Kubernetes Nginx コンテナと Service NodePort – Node のポート経由でアクセスする
- Kubernetes Nginx コンテナと Service LoadBalancer – MetalLB で外部 IP を確認する
- Kubernetes に Docker / Podman のような stop/start がない理由
MetalLB と LoadBalancer
オンプレミスや自宅環境では、クラウドの LoadBalancer が自動で用意されません。MetalLB を使う場合は、L2 / BGP、外部 IP、Service、speaker の権限を合わせて考えます。
- Kubernetes MetalLB の導入 – LoadBalancer Service をオンプレ環境で成立させる
- Kubernetes MetalLB を Helm で導入する – オンプレ環境で LoadBalancer Service を使う
- Kubernetes MetalLB を Helm で導入する – Harbor で Chart を管理する考え方
- MicroK8s MetalLB speaker が socket permission denied を出す原因 – L2 / 権限 / ホストネットワークを切り分ける
CNI / NetworkPolicy / 通信経路
Kubernetes のネットワークは、CNI、Service、NetworkPolicy、外部経路、送信元アドレスの扱いが絡みます。特にオンプレ環境では、クラスタ内だけでなく外部ルーターや BGP との接続も設計対象になります。
- Kubernetes Multus の導入 – Pod に複数 NIC を接続する
- Kubernetes Multus がうまく動かない時に考えること – CNI を複数持つ難しさ
- Kubernetes NetworkPolicy によるアウトバウンド通信制御
- Kubernetes Calico eBPF の設計メモ – kube-proxy 代替、DualStack、高可用性をどう見るか
- Kubernetes で送信元アドレスが変わる問題 – externalTrafficPolicy、hostNetwork、BGP 経路広告で考える
Helm / Harbor / 内部レジストリ
Helm は単なるインストーラーではなく、Kubernetes 構成を部品化する仕組みとして見ると理解しやすくなります。Harbor は内部レジストリや Chart 管理の基盤として扱います。
- Kubernetes Helm の導入 – Chart でアプリケーション構成を管理する
- Kubernetes Helm は自作がおすすめ – Chart を自分で管理する意味
- Kubernetes 上に Harbor を構築する – Helm で内部コンテナレジストリを運用する意味
ストレージ / 永続化
コンテナは一時的に作り直せる一方、データは永続化が必要です。アプリケーションのデータディレクトリをどう扱うかは、Kubernetes 運用で重要な論点になります。
CentOS コンテナ検証
次の記事は、CentOS 系ユーザーランドを Kubernetes 上で動かす古い検証です。現在の本筋ではありませんが、Pod、Deployment、複数コンテナ、systemd 前提コンテナの違いを考える資料として残します。
- Kubernetes CentOS コンテナの実行
- Kubernetes Deployment を使用した CentOS コンテナの実行
- Kubernetes 1 つの Pod 内で複数の CentOS コンテナを実行する
- Kubernetes で systemd を実行可能な CentOS コンテナを動かす
MicroK8s 関連
MicroK8s は Kubernetes そのものとは少し違う運用単位ですが、CNI、DualStack、MetalLB の検証として関連します。Ubuntu 系の記事と重なる部分もあるため、ここでは関連枠として扱います。
- MicroK8s で IPv6/IPv4 デュアルスタックが動かない時に見ること
- Ubuntu 22.04 MicroK8s kube-ovn 有効化の検証 – CNI を後から切り替える難しさ
- MicroK8s MetalLB speaker が socket permission denied を出す原因 – L2 / 権限 / ホストネットワークを切り分ける
運用トラブル
Kubernetes は動かすところより、動かなくなった時の切り分けが難しくなります。スケジューリング、disk-pressure、証明書、Service、CNI、外部経路を層で分けて確認します。
- Kubernetes disk-pressure で Pod が起動しない場合
- Kubernetes コントロールプレーンノードを追加できない場合 – kubeadm-certs を再生成する
- Kubernetes Multus がうまく動かない時に考えること – CNI を複数持つ難しさ
- MicroK8s MetalLB speaker が socket permission denied を出す原因 – L2 / 権限 / ホストネットワークを切り分ける
設計論・周辺記事
Kubernetes はコンテナ実行基盤であると同時に、ネットワーク、ストレージ、認証、レジストリ、仮想化基盤との責任分界を考える対象でもあります。次の記事は、構築手順そのものではなく設計判断の読み物として扱います。
- Kubernetes を前提とした仮想化アーキテクチャ – VM とコンテナの責務を分ける
- Kubernetes Calico eBPF の設計メモ – kube-proxy 代替、DualStack、高可用性をどう見るか
このハブの位置づけ
Kubernetes は OS の上で動きますが、このハブの主語は Ubuntu や CentOS ではなく Kubernetes クラスタそのものです。OS 固有の初期設定やパッケージ導入は各 OS 系の記事に寄せ、kubeadm、kubectl、kubeconfig、Service、CNI、Helm、Harbor、MetalLB は Kubernetes の運用単位としてここにまとめます。


