Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

클라우드 네이티브 라우터 Helm 차트 사용자 지정

주니퍼 클라우드 네이티브 라우터에서 사용할 수 있는 구축 구성에 대해 알아보려면 이 주제를 읽어보세요.

주니퍼 클라우드 네이티브 라우터는 L2, L3 또는 L2-L3* 모드로 구축 및 운영할 수 있습니다. 배포 전에 파일에서 적절한 속성을 values.yaml 편집하여 배포 모드를 구성합니다.

메모:
  • L2-L3 구축 모드는 주니퍼 클라우드 네이티브 라우터 릴리스 23.2의 주니퍼 기술 프리뷰(테크 프리뷰) 기능입니다.

  • fabricInterface 파일 키 values.yaml 에서 다음을 수행합니다.

    • 모든 인터페이스 interface_mode 에 구성된 키가 있으면 구축 모드는 L2가 됩니다.

    • 하나 이상의 인터페이스에 interface_mode 키가 구성되어 있고 나머지 인터페이스에 키가 없는 interface_mode 경우 구축 모드는 L2-L3이 됩니다.

    • 인터페이스 interface_mode 에 키가 구성되어 있지 않은 경우 구축 모드는 L3이 됩니다.

파일을 사용하여 helm 차트를 Juniper_Cloud_Native_Router_version-number/helmchart/values.yaml 사용자 지정합니다. 헴 차트의 구성 키는 아래 표에 나와 있습니다.

표 1: Helm 차트 속성 및 설명
추가 키 구성 설명
레지스트리   vRouter, cRPD 및 jcnr-cni 컨테이너 이미지가 호스팅되는 Docker 레지스트리를 정의합니다. 기본값은 입니다 enterprise-hub.juniper.net.
저장소   (선택 사항) vRouter, cRPD 및 jcnr-cni 컨테이너 이미지에 대한 리포지토리 경로를 정의합니다. 이것은 전역 키이며 "공통" 섹션 아래의 "저장소" 경로보다 우선합니다.
이미지 풀시크릿   (선택 사항) 레지스트리 인증 자격 증명을 정의합니다. 주니퍼 리포지토리 또는 프라이빗 레지스트리에 대한 자격 증명을 구성할 수 있습니다.
  registry자격 증명 Docker 레지스트리 자격 증명의 Base64 표현입니다. 자세한 정보는 Configure Repository Credentials 항목을 참조하십시오.
  시크릿 이름 생성될 시크릿 오브젝트의 이름.
보통의   vRouter, cRPD 및 jcnr-cni 컨테이너 이미지에 대한 응답 경로와 태그를 정의합니다.
  저장소 저장소 경로를 정의합니다. 기본값은 입니다 atom-docker/cn2/bazel-build/dev/. 정의된 경우 전역 리포지토리 키가 우선합니다.
  태그 이미지 태그를 정의합니다. 기본값은 클라우드 네이티브 라우터 릴리스 버전에 적합한 태그 번호로 구성됩니다.
복제본 (선택 사항) cRPD의 복제본 수를 나타냅니다. 값을 지정하지 않으면 기본값 1이 고려됩니다. 이 키의 값은 다중 노드 클러스터에 대해 지정해야 합니다.
'storageClass'

(선택 사항) cRPD에 대한 스토리지 클래스의 이름을 나타냅니다. gp2를 사용할 수 있는 AWS와 같은 클라우드 배포에 대해 이 키를 지정해야 합니다.

noLocalSwitching (선택 사항) 브리지 도메인의 인터페이스가 이더넷 프레임 사본을 송수신하지 못하도록 합니다. 하나 이상의 쉼표로 구분된 VLAN ID를 입력하여 VLAN ID에 속하는 인터페이스가 서로 프레임을 전송하지 않도록 합니다. 이 키는 L2 및 L2-L3 구축에만 적용됩니다. 이 키를 활성화하면 모든 액세스 인터페이스에 기능이 제공됩니다. 트렁크 인터페이스에서 기능을 활성화하려면 fabricInterface 키에서 no-local-switching 키를 구성합니다.
패브릭인터페이스  

DPDK에 바인딩할 인터페이스 목록을 제공합니다. 인터페이스 이름 대신 서브넷을 제공할 수도 있습니다. 인터페이스 이름과 서브넷이 모두 지정된 경우 인터페이스 이름이 서브넷/게이트웨이 조합보다 우선합니다. 서브넷/게이트웨이 조합은 인터페이스 이름이 다중 노드 클러스터에서 다를 때 유용합니다.

메모:
  • 모든 인터페이스 interface_mode 에 구성된 키가 있으면 구축 모드는 L2가 됩니다.

  • 하나 이상의 인터페이스에 interface_mode 키가 구성되어 있고 나머지 인터페이스에 키가 없는 interface_mode 경우 구축 모드는 L2-L3이 됩니다.

  • 인터페이스 interface_mode 에 키가 구성되어 있지 않은 경우 구축 모드는 L3이 됩니다.

예를 들어:

  # L2 only
  - eth1:
      ddp: "auto"                
      interface_mode: trunk
      vlan-id-list: [100, 200, 300, 700-705]
      storm-control-profile: rate_limit_pf1
      native-vlan-id: 100
      no-local-switching: true
  - bond0:
      ddp: "auto" # auto/on/off  
      interface_mode: trunk
      vlan-id-list: [100, 200, 300, 700-705]
      storm-control-profile: rate_limit_pf1
      #native-vlan-id: 100
      #no-local-switching: true
  # L3  only
  - eth1:
      ddp: "off"                 
  - eth2:
      ddp: "off"                
 # L2L3
  - eth1:
      ddp: "auto"                
  - eth2:
      ddp: "auto"                
      interface_mode: trunk
      vlan-id-list: [100, 200, 300, 700-705]
      storm-control-profile: rate_limit_pf1
      native-vlan-id: 100
      no-local-switching: true
  서브넷 인터페이스 이름에 대한 대체 입력 모드. 예를 들어:
- subnet: 10.40.1.0/24 
  gateway: 10.40.1.1 
  ddp: "off"    

옵션은 subnet L3 인터페이스에만 적용됩니다. 입력 모드에서는 subnet 각 서브넷에서 인터페이스가 자동 감지됩니다. 서브넷/게이트웨이 또는 인터페이스 이름을 지정합니다. 둘 다 구성하지 마십시오. 서브넷/게이트웨이 입력 형식은 다중 노드 K8s 클러스터에 대해 인터페이스 이름이 다양한 환경에서 특히 유용합니다.

  DDP (디피)

(선택 사항) 인터페이스 수준의 DDP(Dynamic Device Personalization) 구성을 나타냅니다. DDP는 GTPU, SCTP 등과 같은 트래픽에 대해 NIC에서 데이터 경로 최적화를 제공합니다. 본드 인터페이스의 경우 DDP 구성을 활성화하려면 모든 슬레이브 인터페이스 NIC가 DDP를 지원해야 합니다.

설정 옵션에는 자동, 켜기 또는 끄기가 포함됩니다. 기본 설정은 꺼져 있습니다.

메모:

서브넷/인터페이스 수준 ddp 은 글로벌 ddp 구성보다 우선합니다.

  interface_mode

L2 인터페이스의 경우 으로 trunk 설정하고 L3 인터페이스의 경우 구성 하지 마십시오 . 예를 들어

interface_mode: trunk
  vlan-id 목록

인터페이스와 연결된 VLAN ID 목록을 제공합니다.

  스톰 컨트롤 프로필

인터페이스에 대한 적절한 스톰 컨트롤 프로필을 연결하는 데 을(를) 사용합니다 storm-control-profile . 프로필은 아래에 정의되어 있습니다 jcnr-vrouter.stormControlProfiles.

  네이티브 vlan-id

패브릭 트렁크 모드 인터페이스의 물리적 인터페이스에서 수신되는 태그 없는 데이터 패킷과 연결하려면 vlan-id-list의 VLAN ID 중 하나로 을(를) 구성합니다 native-vlan-id . 예를 들어:

fabricInterface: 
  - bond0: 
      interface_mode: trunk 
      vlan-id-list: [100, 200, 300] 
      storm-control-profile: rate_limit_pf1 
      native-vlan-id: 100  
  로컬 스위칭 없음 문이 구성된 경우 인터페이스가 서로 직접 통신하지 no-local-switching 합니다. 허용되는 값은 true 또는 false입니다.
fabricWorkloadInterface (선택 사항) 서로 다른 워크로드가 연결되는 인터페이스를 정의합니다. 소프트웨어 기반 또는 하드웨어 기반 인터페이스일 수 있습니다.
log_level 로그 심각도를 정의합니다. 사용 가능한 값 옵션은 DEBUG, INFO, WARN 및 ERR입니다.
메모:

주니퍼 지원팀에서 변경하도록 지시하지 않는 한 log_level INFO로 설정된 상태로 둡니다.

log_path

정의된 디렉터리는 contrail-vrouter-agent.log, contrail-vrouter-dpdk.log 등과 같은 다양한 클라우드 네이티브 라우터 관련 설명 로그를 저장합니다.

syslog_notifications

syslog-ng에서 생성된 알림을 JSON 형식으로 저장하는 파일의 절대 경로를 나타냅니다.

nodeAffinity (노드 선호도)

(선택 사항) 노드에 레이블을 정의하여 cRPD, vRouter 및 syslog-ng 포드를 배치할 위치를 결정합니다. 예를 들어:

nodeAffinity:
  - key: node-role.kubernetes.io/worker
    operator: Exists
메모:

이 키는 전역 설정입니다.

OCP 설정에서 노드 선호도는 작업자에서만 클라우드 네이티브 라우터를 가져오도록 구성해야 합니다.

열쇠 노드 선호도를 적용하기 위해 일치해야 하는 노드 레이블을 나타내는 키-값 쌍입니다.
연산자 노드 레이블과 Pod 사양의 matchExpression 매개변수에 있는 값 집합 간의 관계를 정의합니다. 이 값은 In, NotIn, Exists, DoesNotExist, Lt 또는 Gt일 수 있습니다.
cni_bin_dir (선택 사항) 기본 경로는 /opt/cni/bin입니다. 기본 cni 경로를 원하는 경로(예: /var/opt/cni/bin)로 재정의할 수 있습니다. Red Hat OpenShift와 같은 일부 배포에서는 기본 CNI 경로를 변경해야 할 수 있습니다. 경로 변수(cni_bin_dir)를 비워 두는 것은 OCP에서 실행 가능한 옵션이 아닙니다.
grpcTelemetryPort

(선택 사항) 이 매개 변수의 값을 입력하여 cRPD 텔레메트리 gRPC 서버 기본 포트 50051을 재정의합니다.

grpcVrouter포트 (선택 사항) vRouter gRPC 서버 기본 포트 50052보다 우선하려면 이 매개 변수의 값을 입력합니다.
복원 인터페이스 vRouter 포드가 충돌하거나 다시 시작될 경우 인터페이스를 원래 상태로 복원하려면 이 키의 값을 true로 설정합니다.
bondInterface구성 (선택 사항) L2 또는 L2-L3 구축에 대해서만 본드 인터페이스 구성을 활성화합니다.
이름 (선택 사항) 본드 인터페이스의 이름입니다.
모드 (선택 사항) 기본값은 1(Active_Backup)입니다.
슬레이브 인터페이스 (선택 사항)
최대 전송 단위(MTU) 모든 물리적 인터페이스(VF 및 PF)에 대한 최대 전송 단위(MTU) 값입니다.
cpu_core_mask

vRouter 포워드 코어 마스크를 나타냅니다. qos를 사용하는 경우 4개의 CPU 코어(기본 및 형제 요소)를 할당해야 합니다.

'stormControlProfiles'입니다 패브릭 인터페이스에서 BUM 트래픽의 속도 제한 프로필을 초당 바이트로 구성합니다.
  rate_limit_pf1  
  대역폭  
  수준  
DDP (디피)

(선택 사항) 전역 DDP(Dynamic Device Personalization) 구성을 나타냅니다. DDP는 GTPU, SCTP 등과 같은 트래픽에 대해 NIC에서 데이터 경로 최적화를 제공합니다. 본드 인터페이스의 경우 DDP 구성을 활성화하려면 모든 슬레이브 인터페이스 NIC가 DDP를 지원해야 합니다.

설정 옵션에는 자동, 켜기 또는 끄기가 포함됩니다. 기본 설정은 꺼져 있습니다.

메모:

서브넷/인터페이스 수준 ddp 은 글로벌 ddp 구성보다 우선합니다.

qos활성화

QoS를 사용하거나 사용하지 않도록 설정하려면 true 또는 false로 설정합니다.

메모:

QoS는 Intel X710 NIC에서 지원되지 않습니다.

'코어 패턴'

코어 파일이 생성되는 방법을 나타내는 코어 패턴을 나타냅니다. 이 구성을 비워 두면 클라우드 네이티브 라우터 Pod가 기본 패턴을 덮어쓰지 않습니다.

메모:

JCNR을 배포하기 전에 호스트에서 corePattern 값을 설정합니다. 의 /etc/sysctl.conf값을 변경할 수 있습니다. 예를 들어 kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz

코어파일 경로 코어 파일의 경로를 나타냅니다. 값을 비워 두면 vRouter는 /var/crashes를 기본값으로 간주합니다.
vrouter_dpdk_uio_driver uio 드라이버는 또는 uio_pci_generic일 수 있습니다vfio-pci.

기본 helm 차트는 다음과 같습니다.

메모:

Amazon EKS에 클라우드 네이티브 라우터를 설치하는 경우 helmchart/charts/jcnr-vrouter/values.yaml 파일의 키를 업데이트 dpdkCommandAdditionalArgs 하고 및 rx 설명자를 256으로 설정합니다tx. 예를 들어:

다양한 배포 모드에 대한 추가 작업 샘플은 클라우드 네이티브 라우터 Helm 차트에 대한 작업 샘플 항목에 제공되었습니다.