nginx-ingress-controller

nginx-ingress-controller通过--ingress-class参数来决定监控哪些ingress进行nginx规则的写入

kubectl get deploy nginx-ingress-controller -n ingress-nginx-internal  -o yaml |more 
containers:
      - args:
        - /nginx-ingress-controller
        - --http-port=8088
        - --https-port=8113
        - --default-server-port=8282
        - --ingress-class=nginx-internal
        - --configmap=$(POD_NAMESPACE)/nginx-configuration
        - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
        - --udp-services-configmap=$(POD_NAMESPACE)/udp-services
        - --annotations-prefix=nginx.ingress.kubernetes.io

创建ingress的时候通过annotations(kubernetes.io/ingress.class:)来决定由哪个nginx-ingress-controller来监控

kubectl get ingress grafana-ingress -n aimaster-web -o yaml |more
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"networking.k8s.io/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"nginx-internal","nginx.ingress.kubernetes.io/rewrite-target":"/$2"},"name":"grafana-
ingress","namespace":"aimaster-web"},"spec":{"rules":[{"http":{"paths":[{"backend":{"serviceName":"grafana-dashboard","servicePort":"http"},"path":"/grafana(/|$)(.*)"}]}}]}}
    kubernetes.io/ingress.class: nginx-internal
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  creationTimestamp: "2022-04-18T07:09:53Z"
  generation: 1
  name: grafana-ingress
  namespace: aimaster-web
  resourceVersion: "1506853"
  selfLink: /apis/extensions/v1beta1/namespaces/aimaster-web/ingresses/grafana-ingress
  uid: db9ace3f-a85d-4bbc-b282-22a624dac7b6
spec:
  rules:
  - http:
      paths:
      - backend:
          serviceName: grafana-dashboard
          servicePort: http
        path: /grafana(/|$)(.*)
        pathType: ImplementationSpecific
status:
  loadBalancer:
    ingress:
    - {}

 


版权声明:本文为qq_30553857原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。