Nginx Ingress Controller
Baremetal cluster controller
YAML install
version=$(curl https://api.github.com/repos/kubernetes/ingress-nginx/releases/latest | jq -r .tag_name)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/$version/deploy/static/provider/baremetal/deploy.yaml
Update service type
kubectl patch svc ingress-nginx-controller -n ingress-nginx --type='merge' -p '
{
"spec": {
"type": "LoadBalancer",
"ports": [
{
"name": "http",
"port": 80,
"targetPort": 80,
"nodePort": 30080
},
{
"name": "https",
"port": 443,
"targetPort": 443,
"nodePort": 30443
}
]
}
}'
kubectl get services -o wide --all-namespaces | grep -E 'LoadBalancer|NAMESPACE'
Kind cluster controller
YAML install
version=$(curl https://api.github.com/repos/kubernetes/ingress-nginx/releases/latest | jq -r .tag_name)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/$version/deploy/static/provider/kind/deploy.yaml
kubectl get pods -n ingress-nginx
Nginx chart
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --create-namespace
Custom configuration
helm show values ingress-nginx/ingress-nginx > values.ingress-nginx.yaml
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx --values values.ingress-nginx.yaml --namespace ingress-nginx --create-namespace