Aller au contenu

Exposer une application

Exposer une application web (https)

Dans votre zone DNS, faites pointer votre domaine sur l’URL de l’ingress du cluster BlackSwift hébergeant votre projet :

<host> 300 IN CNAME ingress.bseufr01.blackswift.hosting.

Créer une Ingress dans votre namespace routant votre domaine sur le service de votre choix, par exemple avec la commande :

Création d'un ingress
kubectl create ingress <ingressname> -n <namespace> \
--rule "<host>.<domain>/*=<service-name>:<port>",tls=<host>-tls \
--annotation cert-manager.io/issuer=letsencrypt

Exposer une application non-HTTP

Créer un Service de type NodePort dans votre namespace, exposant les Pods de votre choix. Par exemple pour exposer un déploiement :

Création du service NodePort
> kubectl -n <namespace> expose deploy/<deploy-name> --type=NodePort

Puis vous pouvez récupérer le port affecté à votre service :

Récupération du port
> kubectl -n <namespace> get svc <service-name>
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
<service-name> NodePort 10.43.154.229 <none> 80:32248/TCP 2m4s

Vous pouvez alors consommer votre application en utilisant l’URL d’exposition des nodePorts ainsi que le port attribué à votre service :

nodeport.bseufr01.blackswift.hosting:<port>

Si vous avez tout fait correctement, Bravo, vous êtes sur internet ! Dans le cas contraire, n’hésitez pas à relire chaque étape au cas où quelque chose aurait se serait mal passé ou venir nous demander de l’aide sur Slack.