-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Helm v3 helmfile apply issue #877
Comments
@zen4ever Hey! Thanks for reporting, but I'm unable to reproduce this. My setup is:
Would you mind sharing more details on your setup as well, and compare it with mine? |
@mumoshu do I need to have helm-diff installed for |
My helm is
|
Yep, you definitely need it because Also, 3.0.0-beta.3 won't work as it misses helm/helm#6385 that is required for helm-diff. Probably running helmfile with |
Currently running
|
Another issue I have with how currently |
@zen4ever Hey! Thanks for testing it out and the detailed feedback.
You're absolutely correct. In this case helm-diff should return
Could you please let me confirm a bit - so is it that |
Answering the second question when I run - apiVersion: v1
- kind: Service
- metadata:
- labels:
- app: nginx-ingress
- chart: nginx-ingress-1.24.4
- component: "controller"
- heritage: Helm
- release: ingx
- name: ingx-nginx-ingress-controller-metrics
- spec:
- ports:
- - name: metrics
- port: 9913
- targetPort: metrics
- selector:
- app: nginx-ingress
- component: "controller"
- release: ingx
- type: "ClusterIP"
+
default, ingx-nginx-ingress, ServiceAccount (v1) has been removed:
- # Source: nginx-ingress/templates/controller-serviceaccount.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- labels:
- app: nginx-ingress
- chart: nginx-ingress-1.24.4
- heritage: Helm
- release: ingx
- name: ingx-nginx-ingress
+
default, ingx-nginx-ingress-controller, Deployment (apps) has changed:
# Source: nginx-ingress/templates/controller-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.24.4
component: "controller"
heritage: Helm
release: ingx
name: ingx-nginx-ingress-controller
spec:
selector:
matchLabels:
app: nginx-ingress
release: ingx
replicas: 1
revisionHistoryLimit: 10
strategy:
{}
minReadySeconds: 0
template:
metadata:
labels:
app: nginx-ingress
component: "controller"
release: ingx
spec:
dnsPolicy: ClusterFirst
containers:
- name: nginx-ingress-controller
image: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1"
imagePullPolicy: "IfNotPresent"
args:
- /nginx-ingress-controller
- --default-backend-service=default/ingx-nginx-ingress-default-backend
- --election-id=ingress-controller-leader
- --ingress-class=nginx
- --configmap=default/ingx-nginx-ingress-controller
securityContext:
capabilities:
drop:
- ALL
add:
- NET_BIND_SERVICE
runAsUser: 33
allowPrivilegeEscalation: true
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
livenessProbe:
httpGet:
path: /healthz
port: 10254
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
ports:
- name: http
containerPort: 80
protocol: TCP
- name: https
containerPort: 443
protocol: TCP
- - name: metrics
- containerPort: 10254
- protocol: TCP
readinessProbe:
httpGet:
path: /healthz
port: 10254
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
resources:
{}
hostNetwork: false
serviceAccountName: ingx-nginx-ingress
terminationGracePeriodSeconds: 60
default, ingx-nginx-ingress-controller, HorizontalPodAutoscaler (autoscaling) has been removed:
- # Source: nginx-ingress/templates/controller-hpa.yaml
- apiVersion: autoscaling/v2beta1
- kind: HorizontalPodAutoscaler
- metadata:
- labels:
- app: nginx-ingress
- chart: nginx-ingress-1.24.4
- component: "controller"
- heritage: Helm
- release: ingx
- name: ingx-nginx-ingress-controller
- spec:
- scaleTargetRef:
- apiVersion:
- kind: Deployment
- name: ingx-nginx-ingress-controller
- minReplicas: 2
- maxReplicas: 100
- metrics:
- - type: Resource
- resource:
- name: cpu
- targetAverageUtilization: 70
- - type: Resource
- resource:
- name: memory
- targetAverageUtilization: 70
+
default, ingx-nginx-ingress-controller, Service (v1) has changed:
# Source: nginx-ingress/templates/controller-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.24.4
component: "controller"
heritage: Helm
release: ingx
name: ingx-nginx-ingress-controller
spec:
- loadBalancerIP: "35.223.250.53"
- externalTrafficPolicy: "Local"
+ clusterIP: ""
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
- name: https
port: 443
protocol: TCP
targetPort: https
selector:
app: nginx-ingress
component: "controller"
release: ingx
type: "LoadBalancer"
default, ingx-nginx-ingress-default-backend, Service (v1) has changed:
# Source: nginx-ingress/templates/default-backend-service.yaml
apiVersion: v1 This is the same output I get from This is the behavior I'm getting when I'm excluding any values helm diff upgrade --reset-values ingx stable/nginx-ingress
default, ingx-nginx-ingress-controller, Deployment (apps) has changed:
# Source: nginx-ingress/templates/controller-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.24.4
component: "controller"
heritage: Helm
release: ingx
name: ingx-nginx-ingress-controller
spec:
selector:
matchLabels:
app: nginx-ingress
release: ingx
replicas: 1
revisionHistoryLimit: 10
strategy:
{}
minReadySeconds: 0
template:
metadata:
labels:
app: nginx-ingress
component: "controller"
release: ingx
spec:
dnsPolicy: ClusterFirst
containers:
- name: nginx-ingress-controller
image: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1"
imagePullPolicy: "IfNotPresent"
args:
- /nginx-ingress-controller
- --default-backend-service=default/ingx-nginx-ingress-default-backend
- --election-id=ingress-controller-leader
- --ingress-class=nginx
- --configmap=default/ingx-nginx-ingress-controller
securityContext:
capabilities:
drop:
- ALL
add:
- NET_BIND_SERVICE
runAsUser: 33
allowPrivilegeEscalation: true
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
livenessProbe:
httpGet:
path: /healthz
port: 10254
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
ports:
- name: http
containerPort: 80
protocol: TCP
- name: https
containerPort: 443
protocol: TCP
- - name: metrics
- containerPort: 10254
- protocol: TCP
readinessProbe:
httpGet:
path: /healthz
port: 10254
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
resources:
{}
hostNetwork: false
serviceAccountName: ingx-nginx-ingress
terminationGracePeriodSeconds: 60
default, ingx-nginx-ingress-default-backend, Service (v1) has changed:
# Source: nginx-ingress/templates/default-backend-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.24.4
component: "default-backend"
heritage: Helm
release: ingx
name: ingx-nginx-ingress-default-backend
spec:
+ clusterIP: ""
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
selector:
app: nginx-ingress
component: "default-backend"
release: ingx
type: "ClusterIP"
default, ingx-nginx-ingress, ServiceAccount (v1) has been removed:
- # Source: nginx-ingress/templates/controller-serviceaccount.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- labels:
- app: nginx-ingress
- chart: nginx-ingress-1.24.4
- heritage: Helm
- release: ingx
- name: ingx-nginx-ingress
+
default, ingx-nginx-ingress-controller-metrics, Service (v1) has been removed:
- # Source: nginx-ingress/templates/controller-metrics-service.yaml
- apiVersion: v1
- kind: Service
- metadata:
- labels:
- app: nginx-ingress
- chart: nginx-ingress-1.24.4
- component: "controller"
- heritage: Helm
- release: ingx
- name: ingx-nginx-ingress-controller-metrics
- spec:
- ports:
- - name: metrics
- port: 9913
- targetPort: metrics
- selector:
- app: nginx-ingress
- component: "controller"
- release: ingx
- type: "ClusterIP"
+
default, ingx-nginx-ingress-controller, Service (v1) has changed:
# Source: nginx-ingress/templates/controller-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.24.4
component: "controller"
heritage: Helm
release: ingx
name: ingx-nginx-ingress-controller
spec:
- loadBalancerIP: "35.223.250.53"
- externalTrafficPolicy: "Local"
+ clusterIP: ""
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
- name: https
port: 443
protocol: TCP
targetPort: https |
Regarding exit code, I'm testing it, and |
It appears that |
@zen4ever Thanks! Definitely something seems to be still broken in helm v3...
|
Okay so this might be a regression introduced via https://github.com/helm/helm/pull/6341/files#diff-1dcf80a24ef0460c3dab1363f093d31bR69 |
Opened helm/helm#6788 |
Update: The upstream fix has already been submitted at helm/helm#6790 @thomastaylor312 Thanks as always for your efforts! Would you mind taking a look into the pull request submitted to helm: helm/helm#6790? Here we're suffering from a regression happened between helm 3.0.0-beta.4 and 5. |
Thanks to super responsive helm maintainers, helm/helm#6790 has been already merged. It will mostly work with helm v3 built from the current master and the latest rc of helm-diff. The remaining TODO is databus23/helm-diff#158. |
Thanks for the update @mumoshu , yes, I've discovered that limitation of |
I've just tested with helm v3.0.0-rc.1 and helm-diff 3.0.0-rc.6 and everything works as expected, thanks a lot @mumoshu |
running helmfile apply results in an error when using helm v3. I have HELMFILE_HELM3=1 set.
My helm version is
v3.0.0-beta.3
The text was updated successfully, but these errors were encountered: