Pet*_*ang 5 digital-ocean kubernetes
在我的 k8s 集群中,入口在 digital ocean 的 k8s 集群上不起作用。我没有获得外部IP,所以它不可用。本地好像没有问题。
我已经搜索了很多并尝试了一些教程,例如https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes。但它似乎是一个旧版本,解决方案(甚至链接)不再起作用。
nginx-ingress 应该调用端口 8080 上的网站后端服务。
我将入口代码精简为以下代码:
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: website
servicePort: 8080
Run Code Online (Sandbox Code Playgroud)
我看到kubectl get ing了入口,但没有地址。看起来像这样
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 50s
Run Code Online (Sandbox Code Playgroud)
谁能帮助我并告诉我需要做什么才能让我的 k8s 集群运行起来?
谢谢彼得
首先,如果您使用 Nginx Ingress Controller,则不需要查看入口地址。
当您将Nginx Ingress Controller安装到 k8s 集群时,它会创建负载均衡器来处理所有传入请求。确保按照您发布的指南的步骤 2中的说明完成以下部分,并且您能够看到 LoadBalancer 外部 IP 地址。
$ kubectl get svc --namespace=ingress-nginx
Run Code Online (Sandbox Code Playgroud)
您应该看到一个外部 IP 地址,对应于 DigitalOcean 负载均衡器的 IP 地址:
Output
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx LoadBalancer 10.245.247.67 203.0.113.0 80:32486/TCP,443:32096/TCP 20h
Run Code Online (Sandbox Code Playgroud)
在上述情况下,部署入口资源后,如果您点击,http://203.0.113.0您将获得website:8080后端服务。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
11380 次 |
| 最近记录: |