kubectl describe deployment
Command ni bagi ko view dari sudut deployment. Ko nampak berapa replicas yang desired, berapa yang running, strategy update, dan pod template yang digunakan.
kubectl describe deployment microbot
Name: microbot
Namespace: default
CreationTimestamp: Thu, 08 Jul 2021 12:38:34 +0800
Labels: app=microbot
Annotations: deployment.kubernetes.io/revision: 1
Selector: app=microbot
Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=microbot
Containers:
microbot:
Image: dontrebootme/microbot:v1
Port: <none>
Host Port: <none>
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: microbot-5f5499d479 (1/1 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 105s deployment-controller Scaled up replica set microbot-5f5499d479 to 1
Perhatikan bahagian NewReplicaSet. Tu nama ReplicaSet yang aktif sekarang. Nama pod akan ikut prefix yang sama, iaitu microbot-5f5499d479-xxxxx.
Bahagian Events pun berguna. Ko boleh trace bila deployment mula scale up, controller mana yang buat, dan apa yang jadi.
kubectl describe pods
Describe pods lebih detail dari segi execution. Ko nampak pod tu ada kat node mana, IP pod, container ID, image hash, dan mount volume.
kubectl describe pods microbot-5f5499d479-w9ksc
Name: microbot-5f5499d479-w9ksc
Namespace: default
Priority: 0
Node: microk8s-vm/192.168.64.2
Start Time: Thu, 08 Jul 2021 12:38:34 +0800
Labels: app=microbot
pod-template-hash=5f5499d479
Annotations: cni.projectcalico.org/podIP: 10.1.254.79/32
cni.projectcalico.org/podIPs: 10.1.254.79/32
Status: Running
IP: 10.1.254.79
IPs:
IP: 10.1.254.79
Controlled By: ReplicaSet/microbot-5f5499d479
Containers:
microbot:
Container ID: containerd://e51eed207a7ef1c0e0dbaf9f96594ac02259e0251cfc450968ced0e7fe7a5c81
Image: dontrebootme/microbot:v1
Image ID: sha256:899ceb044bf694340a22d71a28f4fff64c8197cee2ed7badde83e0032118970a
Port: <none>
Host Port: <none>
State: Running
Started: Thu, 08 Jul 2021 12:38:36 +0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-s9s4m (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-s9s4m:
Type: Projected
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Perbezaan utama
describe deploymentfokus pada desired state, strategy, dan replica count.describe podsfokus pada actual state, node placement, IP, container runtime, dan volume mount.- Pod ada
Controlled By: ReplicaSet/microbot-5f5499d479. Ini confirm pod tu dimanage oleh ReplicaSet yang deployment create. - IP pod (
10.1.254.79) nampak dalam pod describe. Deployment describe tak ada info ni.
Tip berguna
Kalau ko tak ingat nama pod, run dulu kubectl get pods untuk dapat nama penuh. Lepas tu baru describe.
kubectl get pods
kubectl describe pods <pod-name>
Untuk troubleshoot kenapa pod tak start, describe pods adalah tempat pertama ko patut check. Bahagian Events dan Conditions akan tunjuk error kalau ada.