Citrix ADC Ingress Controller

Dienstklasse für Dienste des Typs LoadBalancer

Wenn Dienste vom Typ LoadBalancer bereitgestellt werden, werden alle diese Dienste vom Citrix Ingress Controller verarbeitet und auf Citrix ADCs konfiguriert. Es kann jedoch Situationen geben, in denen Sie einem Citrix Ingress Controller nur bestimmte Dienste zuordnen möchten, wenn mehrere Ingress-Controller bereitgestellt werden.

Für Ingress-Ressourcen ist diese Funktion bereits mit der Ingress-Klassenfunktion verfügbar. Ähnlich wie bei der Ingress-Klassenfunktionalität für Ingress-Ressourcen wurde die Serviceklassenfunktionalität jetzt für Dienste des Typs hinzugefügt LoadBalancer.

Sie können einen Citrix Ingress Controller mit mehreren Serviceklassen verknüpfen, indem Sie das Argument --service-classes im Abschnitt spec der YAML-Datei verwenden. Wenn für den Ingress-Controller keine Dienstklasse angegeben ist, akzeptiert sie alle Dienste des Typs LoadBalancer, unabhängig davon, ob die Anmerkung service.citrix.com/class im Dienst vorhanden ist.

Wenn die Dienstklasse für den Citrix Ingress Controller angegeben ist, akzeptiert sie nur die Dienste des Typs LoadBalancer, die der service.citrix.com/class Annotation entsprechen. In diesem Fall verarbeitet der Citrix Ingress Controller keinen Dienst vom Typ LoadBalancer, wenn er nicht mit der Anmerkung service.citrix.com/class verknüpft ist.

Beispiel für YAML-Konfigurationen mit Serviceklassen

Es folgt ein Snippet aus einer YAML-Beispieldatei, die service-classes mit dem Ingress Controller verknüpft. In diesem Snippet sind die folgenden Serviceklassen mit dem Ingress Controller verknüpft.

  • svc-class1
  • svc-class2
spec:
serviceAccountName: cic-k8s-role
containers:
- name: cic-k8s-ingress-controller
  # specify the service classes to be supported by Citrix Ingress Controller in args section.
  # First line should be --service-classes, and every subsequent line should be
  # the name of allowed service class. In the given example two classes named
  # "svc-class1" and "svc-class2" are accepted. This will be case-insensitive.
  args:
    - --service-classes
      svc-class1
      svc-class2
<!--NeedCopy-->

Es folgt ein Snippet aus einer YAML-Dienstdefinitionsdatei vom Typ LoadBalancer, in der die Dienstklassenzuordnung abgebildet ist. In diesem Beispiel ist ein Apache-Dienst mit der Serviceklasse verknüpft svc-class1. Wenn der Citrix Ingress Controller für die Annahme konfiguriert ist svc-class1, konfiguriert er den Dienst auf dem Citrix ADC.

apiVersion: v1
kind: Service
metadata:
     name: apache
     annotations:
         service.citrix.com/class: 'svc-class1'
     labels:
        name: apache
spec:
   type: LoadBalancer
   selector:
       name: apache
   ports:
   - name: http
     port: 80
     targetPort: http
   selector:
   app: apache
<!--NeedCopy-->
Dienstklasse für Dienste des Typs LoadBalancer