skip to Main Content

I run the ingress controller and put one annotation for round_robin algorithm to run. but seems there is no event run there. is it ok if no event in my ingress description? what event indicates there?

# 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>

I deploy my ingress with this bro, and I have my ingress class. update 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

with another annotation i get the event in my ingress

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>

2

Answers


  1. Chosen as BEST ANSWER

    in fact, the sync is not always displayed. when we do changes at the beginning the ingress controller does sync. However, after some time the sync will stop automatically.


  2. This means your cluster has no ingress controller installed. When there’s a ingress controller (such as ingress-nginx) installed in your cluster, a series of events will triggered to process your ingress request. These events will show in your describe command.

    If you do have ingress controller but it is not registered as the default ingress class for your cluster, you can add the annotation kubernetes.io/ingress.class: <name of your IngressClass, example "nginx"> to your ingress spec or:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    ...   
    spec:
      ingressClassName: <name of your IngressClass, example "nginx">
      ...
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search