Citrix ADC ingress controller

Citrix Ingress Controller アップグレード

このトピックでは、Citrix Ingress Controller をサイドカーとして使用し、Citrix Ingress Controllerスタンドアロン展開で Citrix ADC CPX の Citrix Ingress Controller インスタンスをアップグレードする方法について説明します。

Citrix Ingress ControllerをサイドカーとしてCitrix ADC CPXをアップグレードする

Citrix Ingress ControllerをサイドカーとしてCitrix ADC CPXをアップグレードするには、関連するYAML定義ファイル( citrix-k8s-cpx-ingress.ymlなど)を変更するか、Helmチャートを使用します。

YAML 定義ファイルを変更してアップグレードする場合は、次の手順を実行します。

  1. containers セクションの下にあるCitrix Ingress Controller とCitrix ADC CPXイメージのバージョンを次のように変更します。
    • Citrix ADC CPX バージョン:13.0-83.27 (quay.io/citrix/citrix-k8s-cpx-ingress:13.0-83.27)
    • Citrix Ingress Controller バージョン:1.26.7 (quay.io/citrix/citrix-k8s-ingress-controller:1.26.7)
  2. CluterRole を次のように更新します。

    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. YAML 定義ファイルを保存し、ファイルを再適用します。

スタンドアロンのCitrix Ingress Controller をバージョン1.21.9にアップグレードする

スタンドアロン Citrix Ingress Controller インスタンスをアップグレードするには、 YAML 定義ファイルを変更するか、Helm チャートを使用します。

YAML 定義ファイルを変更して Citrix Ingress Controller をバージョン 1.21.9 にアップグレードする場合は、次の手順を実行します。

  1. Citrix Ingress Controller ライメージのバージョンをcontainersセクションで変更します。たとえば、次の 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: ...
    

    イメージのバージョンをバージョン 1.21.9 に変更する必要があります。たとえば、quay.io/citrix/citrix-k8s-ingress-controller:1.21.9などです。

  2. ClusterRole を次のように更新します。

    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. YAML 定義ファイルを保存し、ファイルを再適用します。

Citrix Ingress Controller アップグレード