Tengo una aplicación Flask de demostración simple que se implementa en kubernetes usando minikube. Puedo acceder a la aplicación utilizando los Servicios. Pero no puedo conectarme usando el ingreso.
Servicios.yaml
apiVersion: v1 kind: Service metadata: name: services-app-service spec: selector: app: services-app type: ClusterIP ports: - protocol: TCP port: 5000 # External connection targetPort: 5000 # Internal connection D:Path>kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE db ClusterIP None <none> 3306/TCP 120m kubernetes ClusterIP 10.20.30.1 <none> 443/TCP 3h38m services-app-service ClusterIP 10.20.30.40 <none> 5000/TCP 18mPuedo acceder a la aplicación usando minikube.
D:Path>minikube service services-app-service --url * service default/services-app-service has no node port * Starting tunnel for service services-app-service. |-----------|----------------------|-------------|------------------------| | NAMESPACE | NAME | TARGET PORT | URL | |-----------|----------------------|-------------|------------------------| | default | services-app-service | | http://127.0.0.1:50759 | |-----------|----------------------|-------------|------------------------| http://127.0.0.1:50759 ! Because you are using a Docker driver on windows, the terminal needs to be open to run it.Ingress.yaml
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: services-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: mydemo.info http: paths: - path: / pathType: Prefix backend: service: name: services-app-service port: number: 5000 D:Path>kubectl get ing NAME CLASS HOSTS ADDRESS PORTS AGE services-ingress <none> mydemo.info 192.168.40.1 80 15m¿Se requiere alguna configuración adicional para acceder a la aplicación a través del ingreso?
Los complementos ingress e ingress-dns actualmente solo son compatibles con Linux . Actualmente no es compatible con Windows. Más información
No compatible con Windows :
El problema es que debe acceder a él con un encabezado de Host de mydemo.info para que funcione esa especificación de Ingress. También debe confirmar que tiene instalado un controlador de ingreso, generalmente ingreso-nginx para nuevos usuarios, pero hay muchas opciones. Luego buscaría el servicio Ingress Controllers NodePort o LoadBalancer y accedería a través de él.
He estado buscando durante años. Confirmo que esto tampoco funciona en MacOS.
Usar minikube tunnel es la única forma que encontré.