To get the deployment used to generate a pod, have to look at the pod yaml or describe the pod:
kubectl get pod -n {namespace} {pod-name} -o yaml
Look for the "ownerReferences
" section. This will tell you what "owns" the pod. This will likely be a ReplicaSet (which is generated by the Deployment). For example, this is my one from my canonical-service-controller-manager pod:
$ kubectl get pod -n asm-system canonical-service-controller-manager-67c8f5fff5-dzd4t -o yaml
apiVersion: v1
kind: Pod
metadata:
...
namespace: asm-system
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: canonical-service-controller-manager-67c8f5fff5
uid: 2504c96b-9ef7-45fa-b5d2-2a20f09486e1
resourceVersion: "13507"
uid: 54748cf7-26f8-4e8a-996a-725dbc89c66b
...
You can then find the replicaset and do the same thing. In my example, the replicaset is called "canonical-service-controller-manager-67c8f5fff5
"
$ kubectl get replicaset -n asm-system canonical-service-controller-manager-67c8f5fff5 -o yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
annotations:
...
generation: 1
labels:
...
name: canonical-service-controller-manager-67c8f5fff5
namespace: asm-system
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: Deployment
name: canonical-service-controller-manager
uid: eafe2590-5005-492f-9673-0f02ac74a4d5
spec:
replicas: 1
...
So you can see here, the deployment that created the replicaset, which in turn created my pod is canonical-service-controller-manager
So now I can get the deployment yaml using
$ kubectl get deployment -n asm-system canonical-service-controller-manager -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
...
creationTimestamp: "2022-06-14T06:35:58Z"
generation: 1
labels:
...
name: canonical-service-controller-manager
namespace: asm-system
spec:
...
If I wanted to edit the deployment, I can do so using this:
kubectl edit deployment -n asm-system canonical-service-controller-manager
Bear in mind, that editing the deployment will cycle all the pods in the deployment as they are all replicas.