k8s について
k8s は、Kubernetes クラスターへのアクセスとトラブルシューティングを支援する運用スキルです。日常的なクラスター保守を行う担当者向けに、kubectl と Flux の確認方法、Flux の状態、未知のサービスのドキュメント調査手順をまとめています。
主な機能
- 01dev、integration、live へのアクセス指針
- 02リソース、ログ、イベントの kubectl 確認
- 03Flux の状態確認と reconcile 操作
- 04Flux の状態の意味と対応案
- 05未知のサービスを調査する手順
活用シーン
- 01Pod の状態、ログ、リソース使用量を確認
- 02Flux 管理下のデプロイ不調を診断
- 03未知のサービスの障害要因と健全性指標を調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ionfury/ homelab --skill k8sインストール後、Claude Code で/k8sを入力して読み込まれたか確認します。
同梱ファイルservices.mdtests.yaml
詳細
クラスターへのアクセス
利用可能なクラスターは dev、integration、live です。アクセスには対応する kube コンテキストを使用してください。
kubectl の一般的なパターン
| コマンド | 用途 |
|---|---|
kubectl get pods -n <ns> | 名前空間内の Pod を一覧表示します |
kubectl get pods -A | すべての名前空間の Pod を一覧表示します |
kubectl describe pod <pod> -n <ns> | イベントを含む Pod の詳細情報を表示します |
kubectl logs <pod> -n <ns> --tail=100 | Pod の最近のログを表示します |
kubectl logs <pod> -n <ns> --previous | 前のコンテナーインスタンスのログを表示します |
kubectl get events -n <ns> --sort-by='.lastTimestamp' | 最近のイベントの時系列を表示します |
kubectl top pods -n <ns> | Pod ごとの CPU/メモリ使用量を表示します |
kubectl top nodes | ノードごとの CPU/メモリ使用量を表示します |
kubectl get ns <ns> --show-labels | 名前空間のラベル(ネットワークポリシープロファイル)を表示します |
kubectl explain <resource> | リソースタイプの API スキーマリファレンスを表示します |
Flux GitOps コマンド
# Check status
flux --context <cluster> get all
flux --context <cluster> get kustomizations
flux --context <cluster> get helmreleases -A
# Trigger reconciliation
flux --context <cluster> reconcile source git flux-system
flux --context <cluster> reconcile kustomization <name>
flux --context <cluster> reconcile helmrelease <name> -n <namespace>
Flux のステータスの解釈
| ステータス | 意味 | 対応 |
|---|---|---|
Ready: True | 調整済みで正常です | 対応は不要です |
Ready: False | 調整に失敗しました | メッセージ/理由を確認してください |
Stalled: True | 失敗が繰り返されたため、再試行を停止しています | 一時停止してから再開し、リセットしてください(sre スキルを参照) |
Suspended: True | 意図的に一時停止されています | 再開:flux resume <type> <name> |
Reconciling | 適用中です | 完了するまで待ってください |
不慣れなサービスの調査
不明なサービスを調査する際は、ドキュメントを調べるために haiku エージェントを起動してください。
Task tool:
- subagent_type: "general-purpose"
- model: "haiku"
- prompt: "Research [service] troubleshooting docs. Focus on:
1. Common failure modes
2. Health indicators
3. Configuration gotchas
Start with: [docs-url]"
チャート URL とドキュメントの対応:
| チャートソース | ドキュメント |
|---|---|
charts.jetstack.io | cert-manager.io/docs |
charts.longhorn.io | longhorn.io/docs |
grafana.github.io | grafana.com/docs |
prometheus-community.github.io | prometheus.io/docs |
よくある誤解
誤り:Helm リリースのステータスを確認するために helm list を使用する
正解:kubectl get helmrelease -A を使用します — Flux は Helm CLI ではなく CRD を介してリリースを管理します
コメント
Markdown 対応