我正在尝试在本地 kubernetes (Docker-Desktop) 中部署一个简单的 nginx 入口对象,但我注意到当我这样做时,类名显示为“none”:
\n\xe2\x9e\x9c localk8 k get ingress\nNAME CLASS HOSTS ADDRESS PORTS AGE\ningress-resource none * localhost 80 15m\nRun Code Online (Sandbox Code Playgroud)\n我的入口定义文件定义为:
\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: ingress-resource\n annotations:\n kubernetes.io/ingress.class: nginx\n nginx.ingress.kubernetes.io/ssl-redirect: "false"\nspec:\n rules:\n - http:\n paths:\n - path: /hello\n pathType: Prefix\n backend:\n service:\n name: hello-app\n port:\n number: 8080\nRun Code Online (Sandbox Code Playgroud)\n如果这有什么区别的话,我也在 M1 MacBook 上运行。感谢大家的帮助!
\n我不确定您使用的 kubernetes 版本是什么,但该注释已在 1.18 中弃用。
此外,您需要定义一个IngressClass描述该类的资源,然后使用新字段引用它ingressClassName:
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: nginx
spec:
controller: example.com/ingress-controller
Run Code Online (Sandbox Code Playgroud)
然后在您的入口资源中在spec下添加新字段并引用类名称:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-resource
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
// use new field
ingressClassName: nginx
rules:
- http:
paths:
- path: /hello
pathType: Prefix
backend:
service:
name: hello-app
port:
number: 8080
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3539 次 |
| 最近记录: |