vSphere IaaS control plane는 NCP구성 파일 ncp.ini 편집을 지원하지 않습니다. NCP에서 CRD(CustomResourceDefinition)를 생성하여 네트워크 및 로드 밸런서 매개 변수를 구성할 수 있습니다.

NCPSetting CRD

NCPSetting CRD를 생성하고 NCP 구성에 대한 값을 설정합니다.

다음 표에서는 구성할 수 있는 네트워크 및 로드 밸런서 매개 변수에 대해 설명합니다.
매개 변수 설명
log_dropped_traffic 분산 방화벽 DENY 규칙이 로깅되었는지 여부를 나타냅니다.

값: True, False

기본값은 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 로드 밸런서 크기를 설정하는 옵션입니다.

값은 Small, Medium, Large입니다.

기본값은 Small입니다.

l7_persistence 로드 밸런서 지속성 옵션을 설정하는 옵션입니다.
값은 다음과 같습니다.
  • cookie.
  • source_ip
l7_persistence_timeout L7 지속성 프로파일의 지속성 시간 초과 값(초)입니다.
cookie_name l7_persistence typecookie로 설정되면 쿠키 이름을 지정합니다.
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_crdTrue로 설정합니다.
  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에는 오류 주석이 추가되고 그러한 CRD는 NCP가 처리하지 않습니다.

NCP 구성 재정의

CRD의 구성 매개 변수에는 해당하는 NSX 개체가 있을 수 있습니다. 매개 변수를 재정의하기 위해 CRD를 생성하는 경우 CRD는 다음 경우를 제외하고 개체의 매개 변수를 변경하지 않습니다.
  • l7_persistence, l7_persistence_timeoutcookie_name. CRD에 따라 l7_persistence가 변경되면 NCP는 l7_persistence, l7_persistence_timeoutcookie_name 값으로 새 지속성 프로파일을 생성합니다.

    CRD를 통해 l7_persistence_timeoutcookie_name이 변경되면 새 값을 기반으로 기존 프로파일이 업데이트됩니다.

  • x_forwarded_for. CRD에 따라 x_forwarded_for가 변경되면 NCP는 해당 값을 기반으로 새 애플리케이션 프로파일을 생성합니다.
  • vs_access_log. CRD에 따라 vs_access_log가 변경되면 NCP는 그에 따라 가상 서버의 로깅 옵션을 업데이트합니다.