将nodePort服务与Ingress结合使用,我成功地将服务暴露给了外界。
--- service
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP
default postgres ClusterIP 10.106.182.170 <none> 5432/TCP
default user-api NodePort 10.99.12.136 <none> 3000:32099/TCP
ingress-nginx ingress-nginx NodePort 10.110.104.0 <none> 80:31691/TCP,443:30593/TCP
--- ingress
NAME HOSTS ADDRESS PORTS AGE
app-ingress example.com 10.110.104.0 80 3h27m
进入规则如下所示。
Host Path Backends
---- ---- --------
example.com
/user-api user-api:3000 (172.16.117.201:3000)
如果我的用户api有一个宁静的api /v1/health
接口,如何在服务器内部和外部访问此api?
答案 0 :(得分:2)
从内部开始,http://user-api.default:3000/user-api。从外部使用任何节点外部IP(有关列表,请参见kubectl get node -o wide
)。