vSphere IaaS control plane では、NCP 構成ファイル ncp.ini の編集はサポートされていません。NCP で CustomResourceDefinitions (CRD) を作成して、ネットワークとロード バランサのパラメータを構成できます。

[NCPSetting] CRD

[NCPSetting] CRD を作成し、NCP 構成の値を設定します。

次の表に、ネットワークとロード バランサの構成可能なパラメータを示します。
パラメータ 説明
log_dropped_traffic 分散ファイアウォールの拒否ルールがログに記録されるかどうかを示します。

値:TrueFalse

デフォルトは false

log_firewall_traffic DFW ルールがログに記録されるかどうかを示します。
値は次のとおりです。
  • ALL。すべての DFW ルールのログを有効にします。
  • DENY。拒否ルールのログのみを有効にします。
pool_algorithm ロード バランサ プール オブジェクトでロード バランシング アルゴリズムを設定するオプション。
値は次のとおりです。
  • Round_Robin
  • Weighted_Round_Robin
  • Least_Connection
  • Weighted_Least_Connection
  • IP-Hash

デフォルトは Round-Robin です。

service_size ロード バランサのサイズを設定するオプション。

値は、SmallMediumLarge です。

デフォルトは Small です。

l7_persistence ロード バランサのパーシステンス オプションを設定するオプション。
値は次のとおりです。
  • cookie
  • source_ip
l7_persistence_timeout L7 パーシステンス プロファイルのパーシステンス タイムアウト値(秒単位)。
cookie_name l7_persistence typecookie に設定されている場合は、Cookie 名を指定します。
x_forward_for 入力方向でヘッダーの X_forward_for を有効にします。
値は次のとおりです。
  • Insert
  • Replace
snat_rule_logging SNAT ルールのログ作成を選択するオプション。
値は次のとおりです。
  • None
  • Basic。すべての名前空間のログ作成。
  • Extended。すべての名前空間とサービスのログ作成。
vs_access_log 入力方向とルートに関する仮想サーバのログ プロパティ。
値は次のとおりです。
  • VS_access_log_none
  • access_log_enabled。レイヤー 7 仮想サーバのログを有効にします。
  • log_significant_event_only。HTTP 応答状態が > = 400 の要求は、重要なイベントとして扱われます。

デフォルトは VS_access_log_none です。

ip_reallocation_time 解放された IP アドレスが再割り当てされるまでの時間(秒単位)。

NCP および NSX オブジェクトの詳細については、NSX のドキュメントを参照してください。

この機能を有効にするには、次の操作を行います。
  1. [enable_ncp_setting_crd][True] に設定します。
  2. 次のテンプレートを使用して、YAML ファイルを作成します。
    apiVersion: apiextensions.k8s.io/v1
    kind: CustomResourceDefinition
    metadata:
      name: ncpsettings.vmware.com
    spec:
      group: vmware.com
      versions:
        - name: v1
          served: true
          storage: true
          schema:
            openAPIV3Schema:          
              type: object
                properties:
                  spec:
                    type: object
                    properties:
                      nsx_v3:
                        type: object
                        properties:
                          log_dropped_traffic:
                            description: 'Indicates whether distributed firewall DENY rules are logged.'
                            type: boolean
                          log_firewall_traffic:
                            description: 'Indicate whether DFW rules are logged.'
    ........ All configs that are allow to be configured via CRD........
                           
      scope: Cluster
      names:
        plural: ncpsettings
        singular: ncpsetting
        kind: NCPSetting
        shortNames:
        - ncpstg
    例:
    apiVersion: vmware.com/v1alpha2
    kind: NCPSetting
    metadata:
        name: ncp-setting-crd
    spec:
        nsx_v3:
            log_dropped_traffic: True
            log_firewall_traffic: ALL
            pool_algorithm: Round_Robin
            l7_persistence: cookie
            x_forwarded_for: Insert
  3. 次のコマンドを使用して、YAML ファイルを適用します。

    kubectl apply -f ncp-setting-crd.yaml.j2

複数の CRD で同じ構成値がオーバーライドされないように、NCP は名前が [ncp-setting-crd] の CRD オブジェクトのみを処理します。別の名前を持つ他の CRD にはエラーの注釈が付けられ、NCP はそれらの CRD を処理しません。

NCP 構成のオーバーライド

CRD での構成パラメータには、対応する NSX オブジェクトがある場合があります。CRD を作成してパラメータをオーバーライドしても、次の場合を除いて、CRD はオブジェクト内のパラメータを変更しません。
  • l7_persistencel7_persistence_timeoutcookie_namel7_persistence が CRD によって変更された場合、NCP は、l7_persistencel7_persistence_timeoutcookie_name の値を含む新しいパーシステンス プロファイルを作成します。

    CRD を通じて l7_persistence_timeoutcookie_name が変更されると、既存のプロファイルは新しい値に基づいて更新されます。

  • x_forwarded_forx_forwarded_for が CRD によって変更された場合、NCP はその値に基づいて新しいアプリケーション プロファイルを作成します。
  • vs_access_logvs_access_log が CRD によって変更された場合、NCP はそれに応じて仮想サーバのログ オプションを更新します。