You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Helm, ports are merged via their port name while in Kubernetes ports are merged via their port number.
This difference in logic can lead to state inconsistencies in Helm releases (see Example section) and the only way to "repair" Helm's broken state is to use the --force flag of helm upgrade.
If the value of second-port is changed from 9090 to 8080, Helm will retain both ports with the same port number (8080), while Kubernetes will have in fact merged both ports into first-port with port number 8080.
The port second-port is therefore completely removed from the Kubernetes resources:
Problem statement
In Helm, ports are merged via their port
name
while in Kubernetes ports are merged via theirport
number.This difference in logic can lead to state inconsistencies in Helm releases (see
Example
section) and the only way to "repair" Helm's broken state is to use the--force
flag ofhelm upgrade
.Related to closed issue #7957.
Example
Given 2 ports with names
first-port
andsecond-port
and respective values8080
and9090
:If the value of
second-port
is changed from9090
to8080
, Helm will retain both ports with the same port number (8080
), while Kubernetes will have in fact merged both ports intofirst-port
with port number8080
.The port
second-port
is therefore completely removed from the Kubernetes resources:Yet Helm retains it in its release manifest with the new port number
8080
:Steps to reproduce
See helm-ports-issue for an example of Helm chart reproducing the issue.
Output
Versions
Output of
helm version
:Output of
kubectl version
:Cloud Provider/Platform:
The text was updated successfully, but these errors were encountered: