I am running on prem kubernetes. I have a release that is running with 3 pods. At one time (I assume) I deployed the helm chart with 3 replicas. But I have since deployed an update that has 2 replicas.
When I run helm get manifest my-release-name -n my-namespace, it shows that the deployment yaml has replicas set to 2.
But it still has 3 pods when I run kubectl get pods -n my-namespace.
What is needed (from a helm point of view) to get the number of replicas down to the limit I set?
Update
I noticed this when I was debugging a crash loop backoff for the release.
This is an example of what a kubectl describe pod looks like on one of the three pods.
Name: my-helm-release-7679dc8c79-knd9x
Namespace: my-namespace
Priority: 0
Node: my-kube-cluster-b178d4-k8s-worker-1/10.1.2.3
Start Time: Wed, 05 May 2021 21:27:36 -0600
Labels: app.kubernetes.io/instance=my-helm-release
app.kubernetes.io/name=my-helm-release
pod-template-hash=7679dc8c79
Annotations:
Status: Running
IP: 10.1.2.4
IPs:
IP: 10.1.2.4
Controlled By: ReplicaSet/my-helm-release-7679dc8c79
Containers:
my-helm-release:
Container ID: docker://9a9f213efa63ba8fd5a9e0fad84eb0615996c768c236ae0045d1e7bec012eb02
Image: dockerrespository.mydomain.com/repository/runtime/my-helm-release:1.9.0-build.166
Image ID: docker-pullable://dockerrespository.mydomain.com/repository/runtime/my-helm-release@sha256:a11179795e7ebe3b9e57a35b0b27ec9577c5c3cd473cc0ecc393a874f03eed92
Port: 80/TCP
Host Port: 0/TCP
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 139
Started: Tue, 11 May 2021 12:24:04 -0600
Finished: Tue, 11 May 2021 12:24:15 -0600
Ready: False
Restart Count: 2509
Liveness: http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
Readiness: http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-82gnm (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
default-token-82gnm:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-82gnm
Optional: false
QoS Class: BestEffort
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Unhealthy 10m (x3758 over 5d15h) kubelet Readiness probe failed: Get http://10.1.2.4:80/: dial tcp 10.1.2.4:80: connect: connection refused
Warning BackOff 15s (x35328 over 5d14h) kubelet Back-off restarting failed container
kubectl describe podfor one of the pods in the release. - Vaccano