Kubernetes Ingress nginx installation - kubernetes

I am trying to install ingress-nginx in minikube on windows. I remember when I did this earlier by following below this link, it had a mandatory step to install deployables -
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
But I don't see this anymore valid. If you see installation guide it does not have any step before provider specific commands.
So can someone help to clarify if am missing anything? how would ingress-nginx-controller get created without executing above command which itself is missing in the page?

Minikube already has nginx ingress packaged as an add-on part of Minikube installation. You just need to enable it via
minikube addons enable ingress

Related

Unable to deploy WSO2 APIM in Minikube Kubernetes cluster

I'm trying to deploy WSO2 APIM on Kubernetes using the pattern-1 described on the github page https://github.com/wso2/kubernetes-apim. I have added my minikube ip to my etc/hosts file as follows:
[minikube ip] am.wso2.com gateway.am.wso2.com
I'm unable to access the Publisher and Devportal using this url:https://am.wso2.com/publisher
Is there any other configuration that needs to be done? Any help would be great:). Thanks in advance..
First, make sure all your WSO2 pods are running and they're in the ready state.
kubectl get po -n <your_namespace>
This should output.
Then make sure you have enabled Ingress addon.
minikube addons list
Then make sure Ingress pods are running.
kubectl get po -n ingress-nginx
Next, get the Ingress external IP.
kubectl get ing -A
Get the external IP and the Host from the above and add a entry to the /etc/hosts as shown below.
If everything is in place you should be able to access the Publisher by going to https://am.wso2.com/
Try to run the below command in the command line.
minikube tunnel

Failed to create nodeport error, after deploying ingress

Failed to create NodePort error, after deploying ingress
I have an ingress defined as in the screenshot:
Screenshot
The 2 replicas of an Ingress server are not spinning due to the Failed to create NodePort error. Please advice
Just like the error says. You are missing the NodePortPods CRD. It looks like that CRD existed at some point in time. But I don't see it anymore in the repo. You didn't specify how you deployed the ingress operator but you can make sure you install the latest.
helm repo add appscode https://charts.appscode.com/stable/
helm repo update
helm search repo appscode/voyager --version v13.0.0
# Generate the template to check or use helm install
helm template voyager-operator appscode/voyager --version v13.0.0 --namespace kube-system --no-hooks --set cloudProvider=baremetal 👈 Use the right cloud provider
✌️

Setting up ingress controller in azure kubernetes

I followed the steps mentioned in https://kubernetes.github.io/ingress-nginx/deploy/#azure. While the service was created I do not any specific pods being created for nginx-ingress. Am I missing something here?
Note : I am running this on azure kubernetes service
Yes, you are missing installing the nginx ingress.
The following Mandatory Command is required for all deployments.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
you can also use helm for that: https://kubernetes.github.io/ingress-nginx/deploy/#using-helm

Kubernetes helm - Running helm install in a running pod

I want to spin up a single installer pod with helm install that once running, will apply some logic and install other applications into my cluster using helm install.
I'm aware of the helm dependencies, but I want to run some business logic with the installations and I'd rather do it in the installer pod and on the host triggering the whole installation process.
I found suggestions on using the Kubernetes REST API when inside a pod, but helm requires kubectl installed and configured.
Any ideas?
It seems this was a lot easier than I thought...
On a simple pod running Debian, I just installed kubectl, and with the default service account's secret that's already mounted, the kubectl was already configured to the cluster's API.
Note that the configured default namespace is the one that my installer pod is deployed to.
Verified with
$ kubectl cluster-info
$ kubectl get ns
I then installed helm, which was already using the kubectl to access the cluster for installing tiller.
Verified with
$ helm version
$ helm init
I installed a test chart
$ helm install --name my-release stable/wordpress
It works!!
I hope this helps
You could add kubectl to your installer pod.
"In cluster" credentials could be provided via service account in "default-token" secret: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

Using Traefik as an ingress controller for minikube

I am looking at traefik for an ingress controller for my minikube cluster. I have tried to follow the instructions provide in Traefik but my service External-IP is stuck in state indefinitely. Can anyone recommend a command that might explain why my service is failing to get an external-ip. kubectl describe svc traefik fails to provide any information. I have the latest minikube installed on MacOS with NO addons installed.
I also have the latest version of Helm installed. And executed the command
helm install --name ingress --namespace kube-system --set dashboard.enabled=true stable/traefik
I have successfully install nginx as an ingress controller.