Ingress Controller de NetScaler

Actualice NetScaler Ingress Controller

En este tema se explica cómo actualizar la instancia de NetScaler Ingress Controller para NetScaler CPX con el NetScaler Ingress Controller como implementaciones independientes de sidecar y NetScaler Ingress Controller.

Actualice NetScaler CPX con NetScaler Ingress Controller como sidecar

Para actualizar un NetScaler CPX con el NetScaler Ingress Controller como sidecar, puede modificar el archivo de definición YAML asociado (por ejemplo, citrix-k8s-cpx-ingress.yml) o utilizar el gráfico de Helm.

Si quiere actualizar modificando el archivo de definición YAML, lleve a cabo lo siguiente:

  1. Cambie la versión de la imagen de NetScaler Ingress Controller y NetScaler CPX de la sección siguiente a la siguiente: containers
    • Versión de NetScaler CPX: 13.0-83.27 (quay.io/citrix/citrix-k8s-cpx-ingress:13.0-83.27)
    • Versión del controlador NetScaler Ingress: 1.29.5 ()quay.io/citrix/citrix-k8s-ingress-controller:1.29.5
  2. Actualiza el de la CluterRole siguiente manera:

    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. Guarde el archivo de definición YAML y vuelva a aplicarlo.

Actualice un controlador NetScaler Ingress independiente a la versión 1.21.9

Para actualizar una instancia independiente de NetScaler Ingress Controller, puede modificar el archivo de definición YAML o utilizar el gráfico de Helm.

Si desea actualizar NetScaler Ingress Controller a la versión 1.21.9 modificando el archivo de definición YAML, realice lo siguiente:

  1. Cambie la versión de la imagen de NetScaler Ingress Controller que aparece en la sección. containers Por ejemplo, considere que tiene el siguiente archivo YAML.

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

    Debe cambiar la versión de la imagen a la versión 1.21.9. Por ejemplo: quay.io/citrix/citrix-k8s-ingress-controller:1.21.9.

  2. Actualiza el de la ClusterRole siguiente manera:

    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. Guarde el archivo de definición YAML y vuelva a aplicarlo.

Actualice NetScaler Ingress Controller