helmfile: Helmfile doesn't work when no internet access
Hi there,
we are using helmfile to deploy our stack to kubernetes on premise. I have downloaded charts offline and constructed:
context: kubernetes-admin@kubernetes # kube-context (--kube-context)
releases:
# Prometheus deployment
- name: prom-helmf-ns-monitoring # name of this release
namespace: monitoring # target namespace
chart: /opt/kubernetes/stable/prometheus # the chart being installed to create this release, referenced by `repository/chart` syntax
values: ["values/values_prometheus_ns_monitoring.yaml"]
set: # values (--set)
- name: rbac.create
value: true
# Grafana deployment
- name: graf-helmf-ns-monitoring # name of this release
namespace: monitoring # target namespace
chart: /opt/kubernetes/stable/grafana
values: ["values/values_grafana_ns_monitoring.yaml"]
# Controller pod (Nginx)
- name: controller-pod-nginx # name of this release
namespace: ingress-nginx # target namespace
chart: /opt/kubernetes/stable/nginx-ingress # the chart being installed to create this release, referenced by `repository/chart` syntax
values: ["values/values_nginx_ns_ingress-nginx.yaml"]
set: # values (--set)
- name: rbac.create
value: true
Everything is happening offline My kubernetes cluster is up and running
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
helm init --service-account tiller --skip-refresh
When I run helmfile:
helmfile -f monitoring_deployment.yaml sync
exec: helm repo update --kube-context kubernetes-admin@kubernetes
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Unable to get an update from the "stable" chart repository (https://kubernetes-charts.storage.googleapis.com):
Get https://kubernetes-charts.storage.googleapis.com/index.yaml: dial tcp: lookup kubernetes-charts.storage.googleapis.com on 10.0.2.3:53: read udp 10.0.2.15:53788->10.0.2.3:53: i/o timeout
Update Complete. ⎈ Happy Helming!⎈
exec: helm dependency update /opt/kubernetes/stable/prometheus --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/prometheus/charts.
exec: helm dependency update /opt/kubernetes/stable/grafana --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/grafana/charts.
exec: helm dependency update /opt/kubernetes/stable/nginx-ingress --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/nginx-ingress/charts.
exec: helm upgrade --install --reset-values prom-helmf-ns-monitoring /opt/kubernetes/stable/prometheus --namespace monitoring --values /opt/kubernetes/monitoring/values/values_prometheus_ns_monitoring.yaml --set rbac.create=true --kube-context kubernetes-admin@kubernetes
exec: helm upgrade --install --reset-values controller-pod-nginx /opt/kubernetes/stable/nginx-ingress --namespace ingress-nginx --values /opt/kubernetes/monitoring/values/values_nginx_ns_ingress-nginx.yaml --set rbac.create=true --kube-context kubernetes-admin@kubernetes
exec: helm upgrade --install --reset-values graf-helmf-ns-monitoring /opt/kubernetes/stable/grafana --namespace monitoring --values /opt/kubernetes/monitoring/values/values_grafana_ns_monitoring.yaml --kube-context kubernetes-admin@kubernetes
Error: UPGRADE FAILED: "graf-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "prom-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "controller-pod-nginx" has no deployed releases
err: exit status 1
err: exit status 1
err: exit status 1
VERSIONS:
helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
and
helmfile --v
helmfile version v0.18.0
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 2
- Comments: 26
Commits related to this issue
- doc: Using helmfile without an Internet connection Resolves #155 — committed to mumoshu/helmfile by mumoshu 6 years ago
@mumoshu we have found perhaps workaround
/root/.helm/repository/repositories.yamlso it will look like this in the endheml list -ahelm delete <deployment_name> --purgeNote: I run
helmfile -f monitoring_deployment.yaml syncmany times and many deployments were failed.Well so the point is:
if you are OFFLINE and you either try you will fail:
helmfile -f monitoring_deployment.yaml deletekeep in mind that you upcominghelmfile -f monitoring_deployment.yaml syncwill FAIL because because you have some entrieshelm list -aYou need to delete them manually!!!helmfile -f monitoring_deployment.yaml syncfor the very first time offline and your deployment is going to fail from some reasons you HAVE to clean up these failed deployments firsthelm list -abefore you going to execute againhelmfile -f monitoring_deployment.yaml syncCleaning:
@mumoshu if you could document this workaround - it would be awesome 😃