我有几个关于kubernetes ingress service [/ 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
的位置&amp;可得到
在谷歌云控制台。
[我假设这里的服务端口是我想要的“coreos”IP上的端口,所以我把它设置为80最初没有用,所以我尝试将它设置为与第一步中指定的相同,但它仍然没有'工作。]
所以,问题是我无法访问两个网址的前端 http://COREOS_IP,http://COREOS_IPIP:
这就是我尝试使用的原因 -
kubectl expose deployment <deployment> --target-port <port>. --type NodePort
看看它是否适用于NodePort&amp;我能够访问前端。
所以,我认为这里可能存在配置错误,因为我没有得到入口的结果。
这里的任何人都可以帮助调试/解决问题吗?
答案 0 :(得分:0)
是的,服务就在那里。我试图检查状态 - kubectl获取服务,kubectl描述服务k8urtutorsv2。它显示了这项服务。我试过编辑它&amp;保存了nodeport值。问题是它适用于nodeport但不适用于80或443.
您无法直接在端口80或443上公开服务。
service-node-port-range
选项通过default value 30000-32767
在kube-api配置中预定了可用的公开服务范围。