【Kubernetes】kubectl diffで差分チェック

2022.02.16
2024.03.24
Kubernetes
kubectl

本ページはAmazonアフィリエイトのリンクを含みます。

はじめに

Kubernetesで現在のリソースと適用したいマニフェストの差分を確認する方法を紹介します。

差分チェック

現在のリソースとの差分チェックはkubectl diffを利用します。

ファイルを指定して、現在のリソースとの差分を確認する場合は下記のコマンドになります。

1kubectl diff -f <manifest file>

実際に使ってみると下記のようになります。

1❯ kubectl diff -f deployment.yml
2diff -u -N /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/LIVE-225846615/apps.v1.Deployment.default.myapp /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/MERGED-496287946/apps.v1.Deployment.default.myapp
3--- /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/LIVE-225846615/apps.v1.Deployment.default.myapp    2022-02-15 23:06:47.000000000 +0900
4+++ /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/MERGED-496287946/apps.v1.Deployment.default.myapp  2022-02-15 23:06:47.000000000 +0900
5@@ -6,7 +6,7 @@
6     kubectl.kubernetes.io/last-applied-configuration: |
7       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"myapp"},"name":"myapp","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"myapp"}},"template":{"metadata":{"labels":{"app":"myapp"}},"spec":{"containers":[{"image":"nginx","name":"web-container","ports":[{"containerPort":80}],"resources":{"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"250m","memory":"64Mi"}}}]}}}}
8   creationTimestamp: "2022-02-15T14:04:48Z"
9-  generation: 1
10+  generation: 2
11   labels:
12     app: myapp
13   managedFields:
14@@ -109,7 +109,7 @@
15   uid: f483bd8e-7f6a-4298-8253-022e7d32aee8
16 spec:
17   progressDeadlineSeconds: 600
18-  replicas: 3
19+  replicas: 5
20   revisionHistoryLimit: 10
21   selector:
22     matchLabels:
23@@ -137,8 +137,8 @@
24             cpu: 500m
25             memory: 128Mi
26           requests:
27-            cpu: 250m
28-            memory: 64Mi
29+            cpu: 500m
30+            memory: 128Mi
31         terminationMessagePath: /dev/termination-log
32         terminationMessagePolicy: File
33       dnsPolicy: ClusterFirst

本番クラスタなどに適用する前には、kubectl diffで差分を確認するのがいいと思います。

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee