nagendra547
nagendra547

Reputation: 6310

Kubectl generate pod with same name all time

I am new to kubernetes. Is there anyway we can fix the name of pod ? If we are creating only one replica, then I want to be generated with same name all time. It's generating different name all time. If I want to see the logs of a container, each time I need to change the command with the newly generated pod name.

Following is sample of YAML file.

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nagendra-app-deploy1
spec:
  replicas: 1
  template:
    metadata:
      name: nagendra-app-deploy1
      labels:
        app: nagendra-app-deploy1
    spec:
      containers:
      - name: nagendra-spring-app1
        image: springbootapp:v1
        ports:
        - containerPort: 8080
      - name: nagendra-myImage
        image: myImage:v2

Upvotes: 3

Views: 3529

Answers (3)

Shridhar Hegde
Shridhar Hegde

Reputation: 59

If you don need a deployment (no need for rolling updates, no replica set that watches if the pod is up) you can simple deploy a pod.

A simple pod will keep it's name through the updates.

Upvotes: 1

Suresh Vishnoi
Suresh Vishnoi

Reputation: 18383

Here is the trick, I use to get the logs of the deployment

kubectl logs -f $(kubectl get deployment -o name | grep DEPLOYMENT_NAME | head -n 1)

for example, in your situation, I just need to change deployment_name which is quite static.

kubectl logs -f $(kubectl get deployment -o name | grep nagendra-app-deploy1 | head -n 1)

Upvotes: 1

Kun Li
Kun Li

Reputation: 2755

There is no way to generate the same name for a deployment produced pod. as far as the command is concerned, you can use kubectl get po -l app=nagendra-app-deploy1 -o jsonpath={.items[0].metadata.name} to get the pod's name.

Upvotes: 5

Related Questions