Citrix ADC ingress controller

イングレスCitrix ADC VPXまたはMPXで静的ルートを構成する

Kubernetes クラスターでは、Pod はオーバーレイネットワーク上で実行されます。オーバーレイネットワークは、フランネル、カリコ、ウィーブなどです。クラスター内の Pod には、ホストネットワークとは異なるオーバーレイネットワークの IP アドレスが割り当てられます。

Kubernetesクラスター外のIngress Citrix ADC VPXまたはMPXは、KubernetesクラスターにデプロイされたマイクロサービスへのすべてのIngressトラフィックを受信します。イングレストラフィックがマイクロサービスに到達するには、Ingress Citrix ADC インスタンスとポッドの間にネットワーク接続を確立する必要があります。

Kubernetesクラスター外のポッドとCitrix ADC VPXまたはMPXインスタンス間のネットワーク接続を実現する方法の1つは、Citrix ADCインスタンス上のオーバーレイネットワークへのルートを構成することです。

これは手動で行うことも、Citrix Ingress Controller でネットワークを自動的に構成するオプションを提供することもできます。

注:

Citrix ADCインスタンス(MPXまたはVPX)にホストネットワーク上にSNIPが構成されていることを確認します。ホストネットワークは、Kubernetes ノードが相互に通信するネットワークです。

Citrix ADC インスタンスでルートを手動で構成する

以下の手順に従います。

  1. Kubernetes クラスターのマスターノードで、以下のコマンドを使用して PodCidr を取得します。

    # kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"
    
      podNetwork: 10.244.0.0/24    gateway: 10.106.162.108
      podNetwork: 10.244.2.0/24    gateway: 10.106.162.109
      podNetwork: 10.244.1.0/24    gateway: 10.106.162.106
    

    Calico CNI を使用している場合は、次のコマンドを使用して PodCIDR を取得します。

    # kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.metadata.annotations.projectcalico\.org/IPv4IPIPTunnelAddr}{'\tgateway: '}{.metadata.annotations.projectcalico\.org/IPv4Address}{'\n'}"
    
      podNetwork: 192.168.109.0       gateway: 10.106.162.108/24
      podNetwork: 192.168.174.0       gateway: 10.106.162.109/24
      podNetwork: 192.168.76.128      gateway: 10.106.162.106/24
    
  2. Citrix ADC インスタンスにログオンします。

  3. PodCIDR 情報を使用して、Citrix ADC インスタンスにルートを追加します。次のコマンドを使用します:

    add route <pod_network> <podCIDR_netmask> <gateway>
    

    例:

    add route 192.244.0.0 255.255.255.0 192.106.162.108
    
    add route 192.244.2.0 255.255.255.0 192.106.162.109
    
    add route 192.244.1.0 255.255.255.0 192.106.162.106
    

Citrix ADC インスタンスでルートを自動的に構成する

citrix-k8s-ingress-controller.yaml ファイルでは、引数feature-node-watchを使用して、関連付けられたCitrix ADCインスタンスでルートを自動的に構成できます。

feature-node-watch引数をtrueに設定すると、自動ルート設定が有効になります。

この引数は、 citrix-k8s-ingress-controller.yaml ファイルで次のように指定できます。

spec: serviceAccountName: cic-k8s-role containers: - name: cic-k8s-ingress-controller image: “quay.io/citrix/citrix-k8s-ingress-controller:1.26.7” # feature-node-watch引数は、入力Citrix ADC上のルートを構成します # は Pod ネットワークへの接続を提供します。デフォルトでは、この機能は無効になっています。 args: -—feature-node-watch true

既定では、feature-node-watch引数はfalseに設定されています。自動ルート設定を有効にするには、引数をtrueに設定します。 ルートを自動設定するには、ノードリソースタイプのイベントをリッスンする権限を付与する必要があります。 citrix-k8s-ingress-controller.yaml ファイルでは、以下のように必要な権限を指定できます。

  kind: ClusterRole
  apiVersion: rbac.authorization.k8s.io/v1
  metadata:
    name: cic-k8s-role
  rules:
  - apiGroups: [""]
    resources: ["services", "endpoints", "ingresses", "pods", "secrets", "nodes"]
    verbs: ["*"]
  <!--NeedCopy-->
イングレスCitrix ADC VPXまたはMPXで静的ルートを構成する