Kubernetes Learning 第13章:kubectl apply / diff / deleteの運用

Kubernetes の設定を管理・反映していく上で、kubectl コマンドは欠かせません。特に、日常的な運用でよく使うのが:

  • kubectl apply
  • kubectl diff
  • kubectl delete

この3つの役割と使い分けを理解することで、マニフェストの運用がグッとスムーズになります。


🔹 kubectl apply:マニフェストの適用(=反映)

kubectl apply -f deployment.yaml
  • applyYAMLファイルに書かれた内容をクラスタに反映します。
  • すでに存在しているリソースがあれば 差分を反映(上書き) し、無ければ新規作成します。
  • デプロイや設定変更のたびに基本的にこれを使います。

✅ よく使うオプション:

kubectl apply -f .  # ディレクトリ内のすべてのマニフェストを適用

🔹 kubectl diff:変更点の事前確認

kubectl diff -f deployment.yaml
  • 現在のクラスタの状態と、マニフェストで適用しようとしている内容の差分を確認できます。
  • git diff に近い感覚で使えます。
  • CI/CD の前に差分を確認したいときに便利。

📌 注意:

  • kubectl diff実際の変更を加えません。確認だけ です。
  • 変更がない場合は何も表示されません。

🔹 kubectl delete:リソースの削除

kubectl delete -f deployment.yaml
  • マニフェストファイルに対応するリソースを クラスタから削除します。
  • 主に一時的なテストリソースや不要になった設定を消すときに使います。

✅ よく使う例:

kubectl delete deployment my-deployment
kubectl delete pod mypod --namespace=test

🧩 運用のベストプラクティス

操作目的タイミング
applyクラスタへの反映マニフェストに変更を加えたとき
diff変更点の確認apply 実行前、CI/CDチェック前
delete不要なリソースの削除テスト終了時、構成変更時

💡 実践Tips

  • Git管理しているマニフェストを使って「GitOps」的に運用する場合、この3つは不可欠です。
  • kubectl apply -f . を定期的にCIパイプラインに組み込むと、定義と現実がズレない運用が可能です。
  • kubectl delete -f は事故につながることもあるので、削除前に kubectl getkubectl describe で状況確認を!

📘 例:差分確認 → 適用 の流れ

kubectl diff -f deployment.yaml     # まずは差分確認
kubectl apply -f deployment.yaml    # 問題なければ適用

🧹 リソース整理にも delete

特に test, dev 環境では、不要になったリソースをこまめに kubectl delete することで、クラスタをクリーンに保つことができます。


🧭 まとめ

  • kubectl apply現実をマニフェストに合わせるコマンド
  • kubectl diff安全な確認
  • kubectl delete削除の明示的操作

この3つをうまく使い分ければ、Kubernetesの運用が安定し、ミスも減らせます。

mh

Related Posts

Kubernetes Learning 第12章:リソース毎のマニフェスト作成 〜Kubernetesで何をどう定義するのか〜

Kubernetesでは、すべての構成要素(PodやDepl…

Kubernetes Learning 第11章:YAML形式の基本 ~Kubernetesマニフェストの土台を理解する~

Kubernetesの設定は基本的に YAML(ヤムル)形式…

You Missed

Kubernetes Learning 第13章:kubectl apply / diff / deleteの運用

  • 投稿者 mh
  • 5月 17, 2025
  • 7 views

Android application development 第17章:SQLiteとRoomの比較と実装

  • 投稿者 mh
  • 5月 17, 2025
  • 5 views

Kubernetes Learning 第12章:リソース毎のマニフェスト作成 〜Kubernetesで何をどう定義するのか〜

  • 投稿者 mh
  • 5月 16, 2025
  • 17 views

Android application development 第16章:SharedPreferences

  • 投稿者 mh
  • 5月 16, 2025
  • 17 views

Kubernetes Learning 第11章:YAML形式の基本 ~Kubernetesマニフェストの土台を理解する~

  • 投稿者 mh
  • 5月 15, 2025
  • 23 views

Android application development 第15章:リストのクリック処理と画面遷移

  • 投稿者 mh
  • 5月 15, 2025
  • 18 views