【问题标题】:kubernetes expose nginx to static ip in gcp with ingress service configuration errorkubernetes 将 nginx 暴露给 gcp 中的静态 ip,并出现入口服务配置错误
【发布时间】: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_IPhttp://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


【解决方案1】:

是的,服务就在那里。我尝试使用 - kubectl get services, kubectl describe service k8urtutorsv2 检查状态。它显示了服务。我尝试编辑它并保存了节点端口值。问题是它适用于 nodeport 但不适用于 80 或 443。

您不能直接在端口 80 或 443 上公开服务。

暴露服务的可用范围在 kube-api 配置中由 service-node-port-range 选项和 default value 30000-32767 预定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-11
    • 2021-08-13
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2016-03-25
    相关资源
    最近更新 更多