<mohammadrony>

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