Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

주니퍼 클라우드 네이티브 라우터 설치

요약  JCNR(주니퍼 클라우드 네이티브 라우터)은 JCNR-Controller(cRPD 기반 컨트롤 플레인)와 JCNR-CNI를 사용하여 컨트롤 플레인 기능과 컨테이너 네트워크 인터페이스를 제공합니다. 주니퍼 클라우드 네이티브 라우터는 DPDK 지원 vRouter를 사용하여 고성능 데이터 플레인 기능을 제공하고 Syslog-NG로 알림 기능을 제공합니다. 이 섹션에서는 클라우드 네이티브 라우터의 이러한 구성 요소를 설치하는 방법에 대해 설명합니다.

JCNR-Controller(cRPD)는 클라우드 네이티브 라우터를 위한 컨트롤 플레인 기능을 제공하는 초기화 컨테이너입니다. 컨트롤 플레인은 주니퍼 클라우드 네이티브 라우터에서 사용되는 워크로드 및 패브릭 인터페이스의 프로비저닝을 담당합니다. 또한 gRPC 연결을 통해 vRouter-agent 및 vRouter 자체와의 통신을 관리합니다.

JCNR-CNI는 주니퍼 클라우드 네이티브 라우터가 설치 시 서버의 물리적 인터페이스와 통신하는 데 사용하는 컨테이너 네트워크 인터페이스입니다.

주니퍼 클라우드 네이티브 라우터 가상 라우터(vRouter)는 고급 포워딩 플레인 기능을 제공하는 컨테이너 애플리케이션 세트입니다. 물리적 라우터 및 스위치에서 가상화된 서버에서 호스팅되는 가상 오버레이 네트워크로 네트워크를 확장합니다. DPDK(Data Plane Development Kit)를 사용하면 vRouter가 커널 모듈로 실행되는 경우보다 초당 더 많은 패킷을 처리할 수 있습니다.

Syslog-NG는 주니퍼 클라우드 네이티브 라우터가 사용자에게 클라우드 네이티브 라우터 구축에서 발생하는 이벤트에 대한 알림을 제공할 수 있도록 해주는 컨테이너 애플리케이션입니다.

헬름 차트를 사용하여 주니퍼 클라우드 네이티브 라우터 설치

이 섹션을 읽고 클라우드 네이티브 라우터 이미지 구성 요소를 docker에 로드하고 Helm 차트를 사용하여 클라우드 네이티브 라우터 구성 요소를 설치하는 데 필요한 단계를 알아보십시오.

시스템 리소스 요구 사항에 언급된 바와 같이, Kubernetes를 위한 Helm 패키지 매니저는 주니퍼 클라우드 네이티브 라우터 구성 요소를 설치하기 전에 설치해야 합니다.

참고:

주니퍼는 패키지를 다운로드하여 소프트웨어를 설치해야 하는 특정 경로를 제공하지 않습니다. 이 때문에 이 문서의 전체에서 보여진 명령을 복사하여 서버 CLI에 붙여넣을 수 있습니다.

주니퍼 클라우드 네이티브 라우터 설치에 대한 개략적인 개요는 다음과 같습니다.

  1. 소프트웨어 설치 패키지 다운로드(tarball)
  2. 타볼 확장

  3. 디렉토리를 Juniper_Cloud_Native_Router_22.2로 변경

  4. 이미지 파일을 Docker에 로드

  5. 호스트 서버와 주니퍼 클라우드 네이티브 라우터의 루트 암호를 입력합니다.

  6. K8s 시스템에 암호/jcnr-secrets.yaml을 적용합니다.

  7. 설치 요구에 맞게 값.yaml 파일 편집
  8. 주니퍼 클라우드 네이티브 라우터 설치

위에 나열된 각 개개 절차는 아래에 자세히 설명되어 있습니다.

  1. Juniper_Cloud_Native_Router_22.2.tgz의 타볼을 선택한 디렉토리로 다운로드하십시오.
    서버에서 쓰기 가능한 디렉토리로 타볼을 얻는 방법은 여러분에게 달려 있습니다. 압축된 tar 파일이 제대로 확장될 수 있도록 바이너리 모드에서 파일 전송을 수행해야 합니다.
  2. 파일을 Juniper_Cloud_Native_Router_22.2.tgz확장합니다.
  3. 디렉토리를 Juniper_Cloud_Native_Router_22.2로 변경
    참고:

    설치의 나머지 모든 단계는 현재 작업 디렉토리가 Juniper_Cloud_Native_Router_22.2라고 가정합니다.

  4. 이미지 파일, jcnr-cni-images.tar.gzjcnr-vrouter-images.tar.gz, syslog-ng-images.tar.gz를 docker에 로드합니다. 이미지 파일은 이전 단계에서 타볼을 확장한 위치와 관련된 Juniper_Cloud_Native_Router_22.2/이미지 디렉토리에 있습니다.
  5. 호스트 서버와 주니퍼 클라우드 네이티브 라우터 라이선스 파일의 루트 암호를 암호/jcnr-secrets.yaml 파일에 입력합니다.
    기본64 인코드 형식으로 암호와 라이선스를 입력해야 합니다.
    암호를 인코딩하려면 한 줄에 일반 텍스트 암호만 있는 파일을 만듭니다. 그런 다음 다음 명령을 실행합니다.
    출력은 다음과 유사한 임의의 텍스트의 단일 줄입니다.
    UGFzc3cwcmQhCg==
    라이선스 파일을 인코딩하려면 호스트 서버에 파일을 복사하여 다음과 같은 명령을 실행 합니다.
    출력은 다음과 유사한 임의로 보이는 텍스트의 긴 단일 줄입니다.
    VGhpcyBpcyBhIHJlYWxseSBtdWNoIGxvbmdlciB0ZXh0IGZpbGUgdGhhdCBpbmNsdWRlcyBsaWNlbnNlIGluZm9ybWF0aW9uCkFTREZERktERktIQUxHS0hiYW9qa2hkZmFzZGZOS0FTREdOR0FKYWRzZmxodmFibmRzZmdramh2Ym5ramFzZnVxYmF1amgyMDEwdGIydDQweGtqYjR3eTB1dmRxd3J2MGl3aGV0Ymd1YnMwcWRqZmhkc2tqdmJkc2ZramhkdmFkZnNiO2d2a2pzZGI7aWRzamc7ZmFzZGhma2pkc2J2YWlzdWRmZ3dFWUlUR1ZCMzlWRVlCVjM0OVVHQlZHQlFVOUFXR1ZJQkVSV0c5VUJWV0U5Rwo=
    참고:

    계정 팀에서 라이선스 파일을 얻고 위에서 지시한 대로 secrets.yaml 파일에 설치해야 합니다. 적절한 base64 인코딩된 라이선스 파일과 루트 암호가 secrets.yaml 파일에 없으면 cRPD Pod는 Running 상태를 입력하지 않지만 CrashLoopBackOff 상태로 유지됩니다.

    base64 출력을 복사하여 적절한 위치에 있는 secrets/jcnr-secrets.yaml 파일에 붙여넣어야 합니다.
  6. K8s 시스템에 암호/jcnr-secrets.yaml을 적용합니다.
  7. helm_charts/jcnr/values.yaml 파일을 편집합니다.

    주니퍼 클라우드 네이티브 라우터 설치를 위해 Helm 차트를 커스터마이징해야 합니다.

    • 패브릭 인터페이스 선택–호스트 시스템의 인터페이스 이름 사용

    • 트렁크 인터페이스를 위한 VLAN ID 목록 만들기–네트워크에 맞는 VLAN ID 사용

    • 패브릭 워크로드 인터페이스 선택 호스트 시스템에서 인터페이스 이름 사용

    • 워크로드 인터페이스의 트래픽에 대한 VLAN id 설정

    • JCNR-vRouter 로깅의 심각도 수준 설정

      참고:

      JTAC에 의해 변경하라는 지시가 없는 한 log_level INFO로 설정합니다.

    • cpu 코어 마스크(물리적 코어, 논리적 코어) 설정

    • 패브릭 인터페이스를 선택합니다. 호스트 시스템에서 인터페이스 이름 사용

    • 워크로드 인터페이스 선택 –호스트 시스템의 인터페이스 이름 사용

    • 브로드캐스트 및 멀티캐스트 트래픽에 대한 속도 제한을 초당 바이트 단위로 설정합니다.

    • syslog-ng를 위한 쓰기 가능한 디렉토리 위치를 설정하여 알림을 저장합니다.

    • (선택사항) 본드 인터페이스를 본드 인터페이스로 지정하면 섹션에서 시스템에서 bondInterfaceConfigs: 이름을 지정 slaveInterface 합니다fabricInterface:.

    • 기본적으로 restoreInterface false로 설정됩니다. vrouter pod가 충돌하거나 삭제되면 이 설정에서 인터페이스가 호스트로 복원되지 않습니다.

    기본 helm_charts/jcnr/values.yaml 파일의 주석 예제는 샘플 구성 파일을 참조하십시오.

  8. Helm을 사용하여 주니퍼 클라우드 네이티브 라우터 구축
  9. 주니퍼 클라우드 네이티브 라우터 구축 확인

컨테이너 작동 확인

 요약 이 작업을 통해 주니퍼 클라우드 네이티브 라우터 Pod가 실행 중인지 확인할 수 있습니다.
  1. kubectl get pods -A
    명령의 kubectl 출력은 모든 네임스페이스에 있는 K8s 클러스터의 모든 포드를 보여줍니다. 성공적인 구축은 모든 포드가 실행 중인 상태를 표시한다는 것을 의미합니다. 이 예에서는 주니퍼 클라우드 네이티브 라우터 Pod를 굵게 표시했습니다. 예를 들어:
  2. kubectl get ds -A
    kubectl get ds -A 명령을 사용하여 데몬셋 컨테이너 목록을 만듭니다.