在我的 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 集群运行起来?
谢谢彼得
我想设置一个 k8s 集群,但我对 nginx-ingress 控制器和我需要设置的一些特殊设置感到绝望:尤其是 proxy_pass。
我已经尝试使用“server-snippet”-snippet 来实现这一点,但是没有用。
apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/hsts: "false"
nginx.ingress.kubernetes.io/server-snippet: |
location / {
internal;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_buffering off;
proxy_pass http://localhost:30022/site/;
proxy_redirect default;
proxy_cookie_path /site/ /;
}
spec:
rules:
- host: preview.test.de
http:
paths:
- path: / …
Run Code Online (Sandbox Code Playgroud)