我在Kubernetes上部署了一个运行在VM上的Web应用程序,我可以通过http://node-ip1:31000
在我的PC上访问它。
然而,我想添加第二个VM,也运行该应用程序,它将有自己的IP,并由http://node-ip2:31000
访问。但是,如果一个应用程序失败,我们必须通过另一个IP访问它,这没有多大意义,有没有一种简单的方法可以将NodePort映射到像http://my-app
这样的URL?我知道这可以用DNS服务器完成,但我不知道如何或是否是最简单的方法。
我知道这可以用DNS服务器完成,但我不知道如何或是否是的最简单方法
不建议使用节点端口进行公开;它很难管理,而且暴露出安全风险。
所以你安装了ingress,如果你是某个云提供商,那么它就是简单的
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx ingress-nginx/ingress-nginx
然后是要公开的服务的入口,例如nodejs-app
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: ingress-nodejs
spec:
tls:
- hosts:
- demoapp.example.com
secretName: demoapp.example.com.tls
rules:
- host: demoapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nodejs-app
port:
number: 3000