Contrôleur d'entrée Citrix ADC

Mettre à niveau le Citrix ingress controller

Cette rubrique explique comment mettre à niveau l’instance du Citrix ingress controller pour Citrix ADC CPX avec le Citrix ingress controller en tant que déploiement autonome du Citrix ingress controller et du contrôleur d’entrée Citrix.

Mettre à niveau Citrix ADC CPX avec le Citrix ingress controller en tant que sidecar

Pour mettre à niveau un Citrix ADC CPX avec le Citrix ingress controller en tant que sidecar, vous pouvez modifier le fichier de définition YAML associé (par exemple, citrix-k8s-cpx-ingress.yml) ou utiliser le graphique Helm.

Si vous souhaitez mettre à niveau en modifiant le fichier de définition YAML, effectuez les opérations suivantes :

  1. Modifiez la version du Citrix ingress controller et de l’image Citrix ADC CPX dans la section containers suivante :
    • Version de Citrix ADC CPX : 13.0-83.27 (quay.io/citrix/citrix-k8s-cpx-ingress:13.0-83.27)
    • Version du Citrix ingress controller : 1.26.7 (quay.io/citrix/citrix-k8s-ingress-controller:1.26.7)
  2. Mettez à jour CluterRole comme suit :

    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. Enregistrez le fichier de définition YAML et réappliquez le fichier.

Mettre à niveau un Citrix ingress controller autonome vers la version 1.21.9

Pour mettre à niveau une instance de Citrix ingress controller autonome, vous pouvez modifier le fichier de définition YAML ou utiliser le graphique Helm.

Si vous souhaitez mettre à niveau le Citrix ingress controller vers la version 1.21.9 en modifiant le fichier de définition YAML, effectuez les opérations suivantes :

  1. Modifiez la version de l’image du Citrix ingress controller dans la section containers. Supposons, par exemple, que vous avez le fichier YAML suivant.

    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: ...
    

    Vous devez remplacer la version de l’image par la version 1.21.9. Par exemple, quay.io/citrix/citrix-k8s-ingress-controller:1.21.9.

  2. Mettez à jour ClusterRole comme suit :

    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. Enregistrez le fichier de définition YAML et réappliquez le fichier.

Mettre à niveau le Citrix ingress controller