Aslinda MetalLB Load balancer ve Ingress beraber oldugu zaman daha güzel. böylece LB ye atanan bir sürü IP den birisi ataniyor.
En basta Ingress i bir service olarak deploy etmemiz lazim.
Önce versiyon check : https://github.com/kubernetes/ingress-nginx
Sonra kurulum
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.12.1/deploy/static/provider/cloud/deploy.yaml
# Check
kubectl get all -n ingress-nginx
Önce bir Ingress inceleyelim. Dashboard icin
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/backend-protocol: 'HTTPS'
nginx.ingress.kubernetes.io/proxy-body-size: 0m
name: dashboard-ingress
namespace: kubernetes-dashboard
spec:
tls:
- hosts:
- dashboard.dev.com
secretName: kubernetes-dashboard-certs
rules:
- host: k8dashboard.opendesk.domain.tld
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kubernetes-dashboard
port:
number: 443
Bu ne yapiyor.
- Gelen requestleri “k8dashboard.opendesk.domain.tld” icin dinliyor.
- TLS i “kubernetes-dashboard-certs” deki certifika ile bitiriyor.
- tüm traigi “/” “kubernetes-dashboard” servisine port 443 te yönlendiriyor.
- BE servisi ile HTTPS ile konusuyor (backend-protocol: ‘HTTPS’)
- Her boyutta requeste izin veriyor. (proxy-body-size: 0m)