web-dev-qa-db-fra.com

Comment se connecter aux services minikube de l'extérieur

J'essaie de changer mon environnement de développement local pour qu'il s'exécute dans minikube. J'ai construit toutes les images de conteneurs et j'ai toutes les configurations YAML et j'ai tous les services dont j'ai besoin pour fonctionner et je peux y accéder en utilisant l'URL renvoyée par minikube service web --url (web est le nom de mon serveur nginx orienté vers l'avant). Mais il y a une chose que je n'ai pas pu comprendre. Le projet sur lequel je travaille nécessite des appareils externes intelligents communiquant avec le backend. J'ai quelques appareils assis sur mon banc, connectés au réseau local, mais je ne peux pas comprendre comment exposer les services exécutés à l'intérieur du minikube à l'extérieur, c'est-à-dire pour qu'un appareil puisse se connecter à un service en utilisant l'IP externe de mon ordinateur portable. Existe-t-il une manière standard de procéder?

Edit: J'ai tenté de configurer une entrée pour mon service. Voici ma configuration d'entrée.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web
spec:
  backend:
    serviceName: web
    servicePort: 80

Le service Web est accessible via minikube service web et est exposée en tant que type NodePort. Tout ce que j'obtiens est "backend par défaut 404" lorsque j'essaie d'accéder à l'entrée. D'un autre côté, même si cela fonctionnait, j'aurais toujours un problème, car l'entrée expose le service sur le sous-réseau interne VM et n'est pas accessible depuis l'extérieur de la machine hôte. I je commence à envisager d'exécuter un proxy ou un accélérateur quelconque pour transférer les choses de l'hôte vers le minikube vm. Il faut toujours que l'entrée soit en cours d'exécution pour avoir un point de terminaison persistant pour le proxy.

10
Mad Wombat

Il y a plusieurs façons. Mais j'ai trouvé la solution de cette façon.

~ → ????  $ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

Ici, nous pouvons nous connecter au service en utilisant 192.168.99.100 et nodeport. Dites pour Dashboard avec le port de noeud 30000, l'URL sera: http://192.168.99.100:30000/

on peut obtenir le port de service en utilisant les commandes ci-dessous:

~ → ????  $ kubectl get svc --all-namespaces
7
Vikash Singh

Utilisez le Minikube Ingress module complémentaire , par exemple, voyez ceci article de blog comment le configurer et l'utiliser.

0
Michael Hausenblas