Citrix ADC Ingress Controller

Aktualisieren des Citrix Ingress Controller

In diesem Thema wird erläutert, wie die Citrix Ingress Controller-Instanz für Citrix ADC CPX mit dem Citrix Ingress Controller als Sidecar- und eigenständigen Citrix Ingress Controller-Bereitstellungen aktualisiert wird.

Aktualisieren Sie Citrix ADC CPX mit Citrix Ingress Controller als Beiwagen

Um einen Citrix ADC CPX mit dem Citrix Ingress Controller als Beiwagen zu aktualisieren, können Sie entweder die zugehörige YAML-Definitionsdatei ändern (z. B. citrix-k8s-cpx-ingress.yml) oder das Helm-Diagramm verwenden.

Wenn Sie ein Upgrade durchführen möchten, indem Sie die YAML-Definitionsdatei ändern, gehen Sie wie folgt vor:

  1. Ändern Sie die Version des Citrix Ingress Controller und des Citrix ADC CPX-Images im Abschnitt containers wie folgt:
    • Citrix ADC CPX Version: 13.0-83.27 (quay.io/citrix/citrix-k8s-cpx-ingress:13.0-83.27)
    • Citrix Ingress Controller Ingress-Controller-Version: 1.26.7 (quay.io/citrix/citrix-k8s-ingress-controller:1.26.7)
  2. Aktualisieren Sie CluterRole wie folgt:

    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: cic-k8s-role
    rules:
      - apiGroups: [""]
        resources: ["endpoints", "ingresses", "services", "pods", "secrets", "nodes", "routes", "namespaces"]
        verbs: ["get", "list", "watch"]
      # services/status is needed to update the loadbalancer IP in service status for integrating
      # service of type LoadBalancer with external-dns
      - apiGroups: [""]
        resources: ["services/status"]
        verbs: ["patch"]
      - apiGroups: ["extensions"]
        resources: ["ingresses", "ingresses/status"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["apiextensions.k8s.io"]
        resources: ["customresourcedefinitions"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["apps"]
        resources: ["deployments"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["citrix.com"]
        resources: ["rewritepolicies", "canarycrds", "authpolicies", "ratelimits"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["citrix.com"]
        resources: ["vips"]
        verb s: ["get", "list", "watch", "create", "delete"]
      - apiGroups: ["route.openshift.io"]
        resources: ["routes"]
        verbs: ["get", "list", "watch"]
    
  3. Speichern Sie die YAML-Definitionsdatei und wenden Sie die Datei erneut an.

Aktualisieren eines eigenständigen Citrix Ingress Controller auf Version 1.21.9

Um eine eigenständige Citrix Ingress Controller-Instanz zu aktualisieren, können Sie entweder die YAML-Definitionsdatei ändern oder das Helm-Diagramm verwenden.

Wenn Sie den Citrix Ingress Controller auf Version 1.21.9 aktualisieren möchten, indem Sie die YAML-Definitionsdatei ändern, gehen Sie wie folgt vor:

  1. Ändern Sie die Version für das Citrix Ingress Controller-Image im Abschnitt containers. Stellen Sie sich zum Beispiel vor, dass Sie die folgende YAML-Datei haben.

    apiVersion: v1
    kind: Pod
    metadata:
      name: cic-k8s-ingress-controller
    
      labels:
        app: ...
    spec:
          serviceAccountName: ...
          containers:
          - name: cic-k8s-ingress-controller
            image: "citrix-k8s-ingress-controller:1.21.9"
            env: ...
            args: ...
    

    Sie sollten die Version des Images auf Version 1.21.9 ändern. Beispiel: quay.io/citrix/citrix-k8s-ingress-controller:1.21.9.

  2. Aktualisieren Sie ClusterRole wie folgt:

    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: cic-k8s-role
    rules:
      - apiGroups: [""]
        resources: ["endpoints", "ingresses", "pods", "secrets", "nodes", "routes", "namespaces"]
        verbs: ["get", "list", "watch"]
      # services/status is needed to update the loadbalancer IP in service status for integrating
      # service of type LoadBalancer with external-dns
      - apiGroups: [""]
        resources: ["services/status"]
        verbs: ["patch"]
      - apiGroups: [""]
        resources: ["services"]
        verbs: ["get", "list", "watch", "patch"]
      - apiGroups: ["extensions"]
        resources: ["ingresses", "ingresses/status"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["apiextensions.k8s.io"]
        resources: ["customresourcedefinitions"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["apps"]
        resources: ["deployments"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["citrix.com"]
        resources: ["rewritepolicies", "canarycrds", "authpolicies", "ratelimits"]
        verbs: ["get", "list", "watch"]
      - apiGroups: ["citrix.com"]
        resources: ["vips"]
        verbs: ["get", "list", "watch", "create", "delete"]
      - apiGroups: ["route.openshift.io"]
        resources: ["routes"]
        verbs: ["get", "list", "watch"]
    
  3. Speichern Sie die YAML-Definitionsdatei und wenden Sie die Datei erneut an.

Aktualisieren des Citrix Ingress Controller