【发布时间】:2018-10-08 22:09:51
【问题描述】:
我有几个关于 Kubernetes 入口服务 [/controllers] 的问题
例如,我有一个 nginx 前端映像,我正在尝试使用 kubectl 运行 -
kubectl run <deployment> --image <repo> --port <internal-nginx-port>.
现在我尝试通过服务将其暴露给外部世界 -
kubectl expose deployment <deployment> --target-port <port>.
然后尝试使用以下 nignx-ing.yaml 创建入口服务 -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: urtutorsv2ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "coreos"
spec:
backend:
serviceName: <service>
servicePort: <port>
我的ingress.global-static-ip-name 已正确创建且可用
在谷歌云控制台中。
[我假设这里的服务端口是我想要在我的“coreos”IP 上的端口,所以我最初将它设置为 80 这不起作用所以我尝试将它设置为与第一步中指定的相同但它仍然没有没用。]
所以,问题是我无法通过两个网址访问前端 http://COREOS_IP,http://COREOS_IPIP:
这就是我尝试使用的原因 -
kubectl expose deployment <deployment> --target-port <port>. --type NodePort
看看它是否与 NodePort 一起工作,我能够访问前端。
所以,我认为这里可能存在配置错误,因此我无法通过入口获得结果。
这里有人可以帮助调试/解决问题吗?
【问题讨论】:
-
您是否在某处明确添加入口资源?
-
嗨,是的,我尝试使用 - kubectl create -f nignx-ing.yaml 添加入口资源。它显示在 kubectl get 中,但我在端口上看不到任何输出
-
你能告诉我,你的配置是否包含
Service为你的Deployment? -
是的,服务就在那里。我尝试使用 - kubectl get services, kubectl describe service k8urtutorsv2 检查状态。它显示了服务。我尝试编辑它并保存了节点端口值。问题是它适用于 nodeport 但不适用于 80 或 443。
标签: nginx kubernetes google-cloud-platform kubectl kubernetes-ingress