入口资源停止同步?那里显示了什么事件



我运行ingress控制器,并为要运行的round_robin算法添加一个注释。但那里似乎没有活动。如果我的入口描述中没有事件,可以吗?那里显示了什么事件?

# kubectl describe ingress -n ingress
Name:             nginx-ingress
Namespace:        ingress
Address:          192.168.10.10,192.168.10.45
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host             Path  Backends
----             ----  --------
website.com  
/           website1:80 (10.42.0.139:80,10.42.1.223:80,10.42.2.98:80 + 1 more...)
/website2    website2:80 (10.42.0.140:80,10.42.1.232:80,10.42.2.74:80 + 1 more...)
/website3   website3:80 (10.42.0.141:80,10.42.1.215:80,10.42.2.58:80 + 1 more...)
Annotations:       nginx.ingress.kubernetes.io/load-balance: round_robin
Events:            <none>

我用这个兄弟部署我的入口,我有我的入口类。更新1。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
namespace: ingress
annotations:
nginx.ingress.kubernetes.io/load-balance: ewma
spec:
ingressClassName: nginx
rules:
- host: service.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- path: /service2
pathType: Prefix
backend:
service:
name: service2
port:
number: 80
- path: /service3
pathType: Prefix
backend:
service:
name: service3
port:
number: 80

通过另一个注释,我在入口中获得了事件

Events:
Type    Reason  Age                    From                      Message
----    ------  ----                   ----                      -------
Normal  Sync    25m (x4 over 113m)     nginx-ingress-controller  Scheduled for sync
Normal  Sync    22m (x39 over 7d2h)    nginx-ingress-controller  Scheduled for sync
Normal  Sync    22m (x41 over 7d2h)    nginx-ingress-controller  Scheduled for sync
Normal  Sync    22m (x22 over 5d10h)   nginx-ingress-controller  Scheduled for sync
Normal  Sync    8m42s (x2 over 9m21s)  nginx-ingress-controller  Scheduled for sync
# kubectl describe ingress -n ingress
Name:             nginx-ingress
Namespace:        ingress
Address:          192.168.10.10,192.168.10.45
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host             Path  Backends
----             ----  --------
website1.com  
/           nginx-deployment:80 (10.42.0.222:80,10.42.1.32:80,10.42.2.155:80 + 1 more...)
/website2     nginx-video:80 (10.42.0.220:80,10.42.1.30:80,10.42.2.153:80 + 1 more...)
/website3   nginx-document:80 (10.42.0.221:80,10.42.1.31:80,10.42.2.154:80 + 1 more...)
Annotations:       nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/affinity-mode: persistent
nginx.ingress.kubernetes.io/session-cookie-expires: 172800
nginx.ingress.kubernetes.io/session-cookie-max-age: 172800
nginx.ingress.kubernetes.io/session-cookie-name: route
nginx.ingress.kubernetes.io/upstream-hash-by: ewma
Events:            <none>

这意味着您的集群没有安装入口控制器。当集群中安装了ingress控制器(如ingress nginx(时,会触发一系列事件来处理您的ingress请求。这些事件将显示在描述命令中。

如果你有ingress控制器,但它没有注册为集群的默认ingress类,你可以将注释kubernetes.io/ingress.class: <name of your IngressClass, example "nginx">添加到你的ingress规范或:

apiVersion: networking.k8s.io/v1
kind: Ingress
...   
spec:
ingressClassName: <name of your IngressClass, example "nginx">
...

事实上,同步并不总是显示的。当我们在一开始做更改时,入口控制器会同步。但是,一段时间后,同步将自动停止。

相关内容

  • 没有找到相关文章

最新更新