访问Kubernetes中的公开服务

时间:2019-05-08 14:17:54

标签: nginx kubernetes kubernetes-ingress nginx-ingress kubernetes-service

有关设置的详细信息:

  • VMWare环境中的Kubernetes集群(1个主节点,其IP为.222-2个节点)
  • 已安装Ingress Controller,来自NGINXINC REPO的示例应用

问题与疑问:

  • 无法从Kubernetes集群外部访问应用程序
  • 我想念什么?

配置:

kubectl get svc

输出

 NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
coffee-svc   ClusterIP   10.109.97.144   <none>        80/TCP    60m

主服务器内部的卷曲(ip为.222)

curl http://10.109.97.144/coffee

输出

Server address: 10.36.0.5:80
Server name: coffee-bbd45c6-82w6t
Date: 08/May/2019:09:09:29 +0000
URI: /coffee
Request ID: a9602071f75126323a48efeb3552bb55

入口

kubectl get ingress

NAME           HOSTS                   ADDRESS   PORTS     AGE
cafe-ingress   test.me.at                        80, 443   62m
  • 目标:通过浏览器从另一台机器访问该服务:

ps:我也尝试过

curl http://test.me.at/coffee 

输出

Failed connect to test.me.at:80; Connection refused

Add1:kubectl -n nginx-ingress获取svc

  

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) default-http-backend ClusterIP 10.111.28.170 <none> 80/TCP nginx-ingress NodePort 10.101.248.204 <none> 80:31080/TCP, 443:31443/TCP

1 个答案:

答案 0 :(得分:0)

您应该使用NodePort公开服务。 如果使用ClusterIp,则无法从其他计算机卷曲