AKS nginx-ingress controller ACR - kubernetes-helm

I'm unable to install the nginx ingress controller on AKS.Since I'm using userDefinedRouting as outboundType for egress when running
helm install nginx-ingress nginx-stable/nginx-ingress -n ingress --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"='"true"' --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal-subnet"=x-x-x-aks-ingress-sub01 --set controller.service.loadBalancerIP="10.240.137.40" i can see that it failed to download the image because the root CA is not on the worker node and hence is unable to verify the SSL certificate. This is actually good and I've uploaded the nginx image to my ACR:
docker pull nginx docker tag nginx/nginx-ingress:2.2.2 nameofacr.azurecr.io/hub/nginx/nginx-ingress:2.2.2 and docker push nameofacr.azurecr.io/hub/nginx/nginx-ingress:2.2.2. If it look in the values.yaml file I see this:
values.yaml I've followed how to - helm install using private registry and think that I've added the tag as required but I can't figure out how to run the command now so that it will pull the image from my ACR.
What I've tried:
helm install nginx-ingress nameofacr.azurecr.io/hub/nginx/nginx-ingress -n ingress --set controller.service.annotations."service\.beta\ .kubernetes\.io/azure-load-balancer-internal"='"true"' --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal-subnet"=x-x-x-x-aks-ingress-sub01 --set contro ller.service.loadBalancerIP="10.240.137.40"
failed with Error: INSTALLATION FAILED: failed to download "nameofacr.azurecr.io/hub/nginx/nginx-ingress"
or
helm install nginx-ingress --set Image=nameofacr.azurecr.io nginx/nginx-ingress -n ingress --set controller.service.annotations."servi ce\.beta\.kubernetes\.io/azure-load-balancer-internal"='"true"' --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal-subnet"=x-x-x-x-aks-ingress-sub01 --s et controller.service.loadBalancerIP="10.240.137.40" resulted in Error: INSTALLATION FAILED: failed to download "nginx/nginx-ingress"
I can't get this to work. Any help please?

Use this chart : ingress-nginx/ingress-nginx. You have an official documentation that explain how to import images to private ACR.
You can use this commands to import images :
az acr import --name nameofacr --source k8s.gcr.io/ingress-nginx/controller:v1.2.1 --force
az acr import --name nameofacr --source k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1 --force
Also try to fix the helm chart version helm install nginx-ingress ingress-nginx/ingress-nginx --version 4.1.3, to be sure you use the images related to a specific values.yaml.

Related

Not able to install istio with helm on my digitalocean kubernetes cluster

I have downloaded the latest stable release of istio i.e.1.11.4 and am executing the below command inside the root of the istio release folder:
helm install istio install/kubernetes/helm/istio --namespace istio-system --set grafana.enabled=True --set kiali.enabled=True
When I do, I get the error:
Error: INSTALLATION FAILED: failed to download "install/kubernetes/helm/istio"
My helm version: version.BuildInfo{Version:"v3.7.1"
How can I resolve this error?
You are using some old command to install Istio.
Check out the latest installation docs: https://istio.io/latest/docs/setup/install/helm/#installation-steps
Additionally, the addons (grafana, kiali, or prometheus) are not part of Istio anymore and need to be installed separately as shown here:
Prometheus:
https://istio.io/latest/docs/ops/integrations/prometheus/
Grafana: https://istio.io/latest/docs/ops/integrations/grafana/
Kiali: https://istio.io/latest/docs/ops/integrations/kiali/

Istio installation failed with private docker registry

Bug description
Installation gets timeout errors and in kubectl get pods -n istio-system shows ImagePullBackOff.
kubectl describe pod istiod-xxx-xxx -n istio-system
Failed to pull image "our-registry:5000/pilot:1.10.3": rpc error: code = Unknown desc = Error response from daemon: Head https://our-registry:5000/v2/pilot/manifests/1.10.3: no basic auth credentials
Affected product area (please put an X in all that apply)
[x] Installation
Expected behavior
Successful installation with istioctl install --set profile=demo --set hub=our-registry:5000
Steps to reproduce the bug
Create istio-system namespace.
Set docker-registry user credentials for istio-system namespace.
istioctl manifest generate --set profile=demo --set hub=our-registry:5000 > new-generated-manifest.yaml
Verify it has proper images with our-registry:5000
Pull and push required images to our-registry:5000
istioctl install --set profile=demo --set hub=our-registry:5000
Version
Kubernetes : v1.21
Istio : 1.10.3 / 1.7.3
How was Istio installed?
istioctl install --set profile=demo --set hub=our-registry:5000
[References]
Tried to setup imagePullSecrets as described here, but it gives
Json object error
2. Here describe about using it in charts, but dont know how they applied it.
Originally posted as an issue.
There are two ways to cirumvent this issue.
If installing with istioctl install
Using istioctl install provide a secret with docker-registry auth details with --set values.global.imagePullSecrets. Like this
istioctl install [other options] --set values.global.imagePullSecrets[0]=<auth-secret>
Where <auth-secret> is the secret created prior on the cluster.
You can read more about using secrets with docker repository here
If installing using Istio operator
Installing Istio with operator, from private regostry, you have to pass proper YAML:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
...
spec:
profile: demo #as an example
values:
global:
imagePullSecrets:
- <auth-secret>
...
Again, <auth-secret> must be created prior.

Trying to install Kong using the Helm chart

Trying to install Kong using the Helm chart using the following command using this post
>helm install --version 0.26.1 --name kong stable/kong --namespace kong --set ingressController.enabled=true --set image.tag=1.4 --set admin.useTLS=false
But getting the following error
Error: unknown flag: --name
Solution I tried
Removed -- name then I am getting the following error
Error: failed to download "stable/kong" (hint: running helm repo update may help)
Can anyone please help me with this?
In helm version 3 --name flag is removed. You can give a name without --name flag as shown below
helm repo add kong https://charts.konghq.com
helm repo update
helm install --version 1.7.0 kong kong/kong --namespace kong --set ingressController.enabled=true --set image.tag=1.4 --set admin.useTLS=false
Find more details here

Unable to install Grafana via Helm

I am trying to install Grafana via helm and have added both the bitnami and stable repo.
from bitnami
helm install bitnami/grafana grafana --set persistence.enabled=true --set persistence.accessModes={ReadWriteOnce} --set persistence.size=8Gi --namespace monitoring
stable
grafana $ helm install stable/grafana grafana --set persistence.enabled=true --set persistence.accessModes={ReadWriteOnce} --set persistence.size=8Gi --namespace monitoring
However, I get the following error:
helm install stable/grafana grafana --set persistence.enabled=true
--set persistence.accessModes={ReadWriteOnce} --set persistence.size=8Gi --namespace monitoring Error: failed to download
"grafana" (hint: running helm repo update may help)
I have tried helm repo update but it doesn't help.
I will appreciate some guidance on this.
Syntax is helm install [NAME] [CHART] [flags]
helm install grafana stable/grafana xxxxx should work
You just put the chart name in the wrong position
Need to search grafana in hub using Helm
helm search hub grafana
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install my-release grafana/grafana
And for particular namespace:
helm install my-release grafana/grafana -n test-namespace
You can below command:
helm install my-grafana-board grafana/grafana

Simple Getting Started Istio Helm Install

I'm trying to follow either of the following instructions:
https://istio.io/docs/setup/kubernetes/helm-install/
https://github.com/istio/istio/tree/master/install/kubernetes/helm/istio
~ helm repo add istio.io https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts
~ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
istio.io https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts
~ helm repo update
~ helm install install/kubernetes/helm/istio --name istio --namespace istio-system
Error: failed to download "install/kubernetes/helm/istio" (hint: running `helm repo update` may help)
~ helm dependency update install/kubernetes/helm/istio
Error: could not find <current directory>/install/kubernetes/helm/istio: stat
<current directory>/install/kubernetes/helm/istio: no such file or directory
To answer my own question for anyone else with the same issue:
Don't use the public helm repo.
Download a release archive from:
https://github.com/istio/istio/releases
Unpack it, navigate into the istio root directory, then you can successfully do:
Helm 2.x syntax:
helm install install/kubernetes/helm/istio --name istio --namespace istio-system
Helm 3.x syntax:
helm install istio install/kubernetes/helm/istio --namespace istio-system