Kubernetes

Kubernetes クラスタ構築手順 2026:OS設定・Podman・Kind・Argo CD 完全ガイド

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

1. 前提条件と OS 設定

1.1 対応 OS と最低バージョン

OS 推奨バージョン 必要ツール
Windows 11(ビルド 22621 以降) Podman Desktop v5 系、Kind v0.23 系 PowerShell 7、WSL2 (任意)
macOS Monterey 以上(Intel / Apple Silicon) Homebrew、Podman Desktop、Kind Xcode Command Line Tools
Ubuntu 22.04 LTS / Debian 12 Linux カーネル 6.5 系、containerd v2.x、kubeadm v1.30 apt (APT 2.7+)、systemd

ポイント
- kubeadm v1.30 は cgroup v2Linux カーネル 5.15 以上 を必須とします。Ubuntu/Debian の場合は、6.x 系カーネルがデフォルトで提供されている 22.04/12 にアップグレードしておくのが安全です。
- Windows では WSL2 上に Ubuntu を入れても構いませんが、Podman Desktop が直接コンテナランタイムを提供するため必須ではありません。

1.2 カーネルモジュール・cgroup の有効化

備考
cgroup v2 が有効になっているかは cat /proc/filesystems | grep cgroup2 で確認できます。

1.3 スワップの無効化

Kubeadm はスワップが有効なノードの起動を拒否します。


2. Windows 環境でのローカルクラスター構築(Podman Desktop + Kind)

2.1 必要ツールと公式ドキュメント

ツール バージョン 入手先・公式ドキュメント
Podman Desktop v5.4 以降(2026 年 3 月リリース) https://podman.io/docs/desktop
Kind v0.23.x 系(2026 年 1 月最新版) https://kind.sigs.k8s.io/

注意点
- Podman Desktop のインストーラは MSI または .exe が提供されていますが、公式サイトの「Windows 10/11 (64‑bit)」ページから必ず最新版を取得してください。
- apt-key は廃止済みであり、Podman Desktop でも同様に GPG 鍵は keyring ディレクトリへ配置されます(インストーラが自動処理)。

2.2 Podman Desktop のセットアップ

  1. 上記公式リンクから Podman-Desktop-5.x.exe をダウンロードし、管理者権限で実行。
  2. インストール画面の 「Docker Desktop 互換モード」 は OFF、「containerd モード」 を選択。
  3. 設定 → Engine タブで "Enable Kubernetes (experimental)" は無効のままで完了。Podman が提供する CRI (/run/podman/io.containerd.runtime.v2.task) をそのまま利用します。

トラブルシューティング
- インストール後に「Podman が起動しない」場合は、%ProgramData%\Podman\podman.serviceExecStart パスが正しいか確認し、サービスを再起動 (services.msc) してください。

2.3 Kind バイナリの取得とパス設定

kind versionv0.23.x と表示されればインストール成功です。

2.4 Kind クラスタ作成例

作成後は以下でバージョンを確認します。


3. Linux サーバー(Ubuntu/Debian)での本番クラスター構築

2026 年時点のコンテナランタイム情報
- containerdv2.2 系 が LTS として提供され、公式リポジトリでも 2.* パッケージとして利用可能です。
- kubeadm の最新安定版は v1.30(2026‑02 リリース)で、cgroup v2・CRI v1 が必須条件です。

3.1 containerd のインストール(apt-key 非推奨対応)

設定ファイルの調整

ポイント/etc/containerd/config.tomlversion = 2 がデフォルトで有効です。もし 2.* パッケージが見つからない場合は、Docker リポジトリの stable チャネルではなく test (download.docker.com/linux/ubuntu/... test) を使用してください。

3.2 kubeadm / kubelet / kubectl のインストール

注意apt-key add は 2024 年に廃止されたため、上記のように signed-by= オプションで keyring を指定します。

3.3 マスターノード初期化

初期化が成功したら、管理者用の kubeconfig を設定します。

3.4 ワーカーノードの参加

マスターノードが出力した kubeadm join … コマンドを各ワーカーで実行します。例:

全ノードが kubectl get nodesReady と表示されれば完了です。


4. ネットワーク・CNI とセキュリティのベストプラクティス

4.1 CNI の選択指針(2026 年版)

CNI 主な特徴 推奨シナリオ
Calico v3.28 IPIP/VXLAN + BGP、NetworkPolicy が豊富 大規模クラスタ、オンプレ/ハイブリッド
Cilium v1.14 eBPF ベースで高性能、Kube‑Proxy 置換可 高トラフィック・マイクロサービス指向

両方とも kubernetesVersion: v1.30 に対応しており、公式マニフェストは常に最新版が提供されています。

Calico デプロイ例

  • Pod CIDR は 192.168.0.0/16(マスタ設定と合わせる)
  • IPIP 暗号化はデフォルトで有効

Cilium デプロイ例

  • カーネルが eBPF 対応(5.15 以上)であれば自動的に最適化モードへ切り替わります。

4.2 ポリシーと OPA Gatekeeper

2026 年は PodSecurityPolicy が正式に廃止され、代替として OPA Gatekeeper がデファクトスタンダードです。

サンプル ConstraintTemplate(非 root 必須)

Constraint の適用


5. GitOps による継続的デプロイ

5.1 Argo CD のインストール(v2.9 系)

インストール完了後はポートフォワードで UI にアクセス:

5.2 アプリケーション定義例

Argo CD は Git の状態とクラスタの実際の状態を常に比較し、差分があれば自動で修正(プルリクエストベースでも可)します。

5.3 リソース制限・監視・ロギングの統合

コンポーネント Helm Chart 主な目的
kube‑prometheus‑stack prometheus-community/kube-prometheus-stack メトリクス収集、アラート
Loki + Promtail grafana/loki-stack ログ集約・検索
Grafana grafana/grafana 可視化ダッシュボード

例:Prometheus のインストール


6. トラブルシューティングと運用チェックリスト

6.1 基本的な診断フロー

  1. コンポーネントのステータス確認
    bash
    systemctl status kubelet containerd
  2. ジャーナルログでエラーワード検索
    bash
    journalctl -u kubelet | grep -i error
    journalctl -u containerd | grep -i failed
  3. Pod の詳細確認
    bash
    kubectl get pods -A -o wide
    kubectl describe pod <pod> -n kube-system
  4. ネットワークの疎通テスト
    bash
    kubectl run -i --tty net-test --image=busybox -- sh
    # コンテナ内で
    ping -c 3 8.8.8.8
    nslookup kubernetes.default

6.2 よくある障害と対処法

障害シナリオ 原因例 対策
kubelet が起動しない cgroupDriver の不一致、/etc/default/kubelet 設定ミス /var/log/syslogjournalctl -u kubeletsystemd_cgroup が true か確認
containerd がイメージ取得に失敗 DNS 解決不可、ストレージドライバ (overlay2) の不整合 /etc/containerd/config.tomlsnapshotter = "overlayfs" を明示し、/etc/resolv.conf に正しい nameserver を設定
CoreDNS が名前解決できない ConfigMap の forward . /etc/resolv.conf が削除されている kubectl -n kube-system edit configmap corednsforward セクションを復元
PodSecurity (Gatekeeper) による拒否 コンテナが root ユーザーで起動している Manifest の securityContext.runAsNonRoot: true を追加、または ConstraintTemplate を調整

6.3 運用時の定期チェックリスト

  • 毎日kubectl get nodes, kubectl top nodes(リソース余裕を確認)
  • 週次:Prometheus のアラート履歴レビュー、helm list -A でチャートバージョン更新有無をチェック
  • 月次:Kubernetes と containerd のパッチ適用計画作成(例:kubeadm upgrade plan)

おわりに

本稿では 2026 年版 の Kubernetes クラスタ構築・運用フローを、Windows のローカル開発環境から Ubuntu/Debian 本番サーバーまで一貫してカバーしました。
- 最新のパッケージ取得方法(apt-key 非推奨対応) を示したことで、インストール時のエラーを回避できます。
- Podman Desktop + Kind の公式リンク と手順により、Windows ユーザーでも安全にクラスターを作成可能です。
- containerd v2.x と kubeadm v1.30 の正確な前提条件 を明記し、リスクの低減を図っています。

このガイドをベースに、組織独自の CI/CD パイプラインやセキュリティ基準へ拡張すれば、2026 年以降も安定した Kubernetes 運用が実現できるでしょう。


スポンサードリンク

-Kubernetes
-, , , , , , , , ,