如何从服务器内部和外部通过入口访问服务

时间:2020-02-07 07:41:04

标签: kubernetes

将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?

1 个答案:

答案 0 :(得分:2)

从内部开始,http://user-api.default:3000/user-api。从外部使用任何节点外部IP(有关列表,请参见kubectl get node -o wide)。