Finding the name of a new pod with kubectl

You need to label your deployment somehow, for example we set label app: myapp below:

apiVersion: extensions/v1beta1                                                                                                                                                                          
kind: Deployment                                                                                                                                                                                        
metadata:                                                                                                                                                                                               
  name: nginx                                                                                                                                                                                     
spec:                                                                                                                                                                                                   
  template:                                                                                                                                                                                             
    metadata:                                                                                                                                                                                           
      labels:                                                                                                                                                                                           
        app: my-app                                                                                                                                                                                
    spec:                                                                                                                                                                                               
      containers:                                                                                                                                                                                       
      - image: nginx                                                                                                                                                    
        name: nginx  

After that you can get deployment’s pod name very easy:

POD=$(kubectl get pod -l app=my-app -o jsonpath="{.items[0].metadata.name}")

and execute some command there, for example:

kubectl exec -ti $POD -- uname -a

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)