<p>I'm very new to k8s and the related stuff, so this may be a stupid question: How to change the pod name?</p>
<p>I am aware the pod name seems set in the helm file, in my values.yaml, I have this:</p>
<pre><code>...
hosts:
    - host: staging.application.com
      paths:
        ...
        - fullName: application
          svcPort: 80
          path: /*
...
</code></pre>
<p>Since the application is running in the prod and staging environment, and the pod name is just something like <code>application-695496ec7d-94ct9</code>, I can't tell which pod is for prod or staging and can't tell if a request if come from the prod or not. So I changed it to:</p>
<pre><code>hosts:
    - host: staging.application.com
      paths:
        ...
        - fullName: application-staging
          svcPort: 80
          path: /*
</code></pre>
<p>I deployed it to staging, pod updated/recreated automatically but the pod name still remains the same. I was confused about that, and I don't know what is missing. I'm not sure if it is related to the <code>fullnameOverride</code>, but it's empty so it should be fine.</p>

<p><code>...the pod name still remains the same</code></p>
<p>The code snippet in your question likely the helm values for Ingress. In this case not related to Deployment of Pod.</p>
<p>Look into your helm template that define the Deployment spec for the pod, search for the <code>name</code> and see which helm value was assigned to it:</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox  # &lt;-- change &amp; you will see the pod name change along. the helm syntax surrounding this field will tell you how the name is construct/assign
  labels:
    app: busybox
spec:
  replicas: 1
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
      - name: busybox
        image: busybox
        imagePullPolicy: IfNotPresent
        command: [&quot;ash&quot;,&quot;-c&quot;,&quot;sleep 3600&quot;]
</code></pre>
<p>Save the spec and apply, check with <code>kubectl get pods --selector app=busybox</code>. You should see 1 pod with name <code>busybox</code> prefix. Now if you open the file and change the name to <code>custom</code> and re-apply and get again, you will see 2 pods with <strong>different</strong> name prefix. Clean up with <code>kubectl delete deployment busybox custom</code>.</p>
<p>This example shows how the name of the Deployment is used for pod(s) underneath. You can paste your helm template surrounding the name field to your question for further examination if you like.</p>
