J'ai une configuration de Kubernetes avec 1 maître et 1 esclave, hébergée sur des gouttes DigitalOcean. Pour exposer mes services, je veux utiliser des Ingress.
Comme j'ai une installation bare metal, je dois configurer mon propre contrôleur d'ingress. Comment le faire écouter sur le port 443 ou 80 au lieu de la plage 30000-32767?
Pour configurer le contrôleur d'ingress, j'ai utilisé ce guide : https://kubernetes.github.io/ingress-nginx/deploy/
Mon service de contrôleur ressemble à ceci :
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
Et maintenant, évidemment, parce que la plage NodePort est de 30000-32767, ce contrôleur n'est pas mappé sur le port 80 ou 443 :
kubectl get services --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx ingress-nginx NodePort 10.103.166.230 80:30907/TCP,443:30653/TCP 21m