Kubernetes Ingress Flask 应用程序

标签 kubernetes windows-10 kubernetes-ingress minikube kubernetes-service

我有一个简单的演示 Flask 应用程序,它使用 minikube 部署到 kubernetes。我能够使用服务访问该应用程序。但是我无法使用入口连接。

Services.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   18m

我可以使用 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.

入口.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

通过 ingress 访问应用程序是否需要任何其他配置?

最佳答案

ingressingress-dns 插件目前仅在 Linux 上受支持。目前在 Windows 上不支持。 <强> MoreInfo

enter image description here

Windows 不支持:

  • minikube 版本:v1.16.0
  • minikube 版本:v1.17.1

关于Kubernetes Ingress Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66206451/

相关文章:

kubernetes - 支架 1.4.0 : "Skipping deploy due to sync error: copying files:"

c# - Windows 10 风格的 ContextMenuStrip

google-cloud-platform - 带有 NEG 的 GKE Ingress : backend healthcheck doesn't pass

nginx - 同一个 K8S 集群上的两个入口 Controller

ubuntu - 修订版 v0.0.0 : Unknown for go get k8s. io/kubernetes

kubernetes - Istio Envoy 代理转发客户端证书信息

kubernetes - 无法验证 kubernetes repo 的签名

Ruby 可执行文件无法在 Win10 和 Win7 上启动

ssl - Electron 中的 net::ERR_INSECURE_RESPONSE

kubernetes-ingress - 入口代理和反向代理有什么区别