Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail 업그레이드

이 절차를 통해 Contrail을 업그레이드하십시오.

Contrail 컨트롤러는 구축 및 StatefulSets로 구성되어 업데이트를 롤링하도록 구성됩니다. 업그레이드하는 동안 각 구축 및 상태 저장 세트의 포드가 한 번에 하나씩 업그레이드됩니다. 배포 또는 스테이트풀셋의 나머지 포드는 작동 상태를 유지합니다. 이를 통해 Contrail 컨트롤러 업그레이드를 무중력으로 업그레이드할 수 있습니다.

Contrail 데이터 플레인은 단일 vRouter 포드가 있는 데몬 세트로 구성됩니다. 업그레이드 절차 중에 이 단일 포드가 중단되고 업그레이드됩니다. 이 때문에 Contrail 데이터 플레인 업그레이드는 무중력적이지 않습니다. 원하는 경우 업그레이드를 수행하기 전에 업그레이드 중인 노드에서 트래픽을 마이그레이션합니다.

기존 매니페스트의 내용을 새 매니페스트에 이식한 다음 새 매니페스트를 적용하여 Contrail 소프트웨어를 업그레이드합니다. 모든 Contrail 매니페스트는 동일한 소프트웨어 버전을 참조해야 합니다.

  1. 새 릴리스의 매니페스트를 다운로드합니다.
  2. 기존 Contrail 설치를 생성하는 데 사용한 (이전) 매니페스트를 찾습니다. 이는 설치 전의 4.c 단계에서 사용한 매니페스트이거나 설정에 맞게 사용자 지정한 매니페스트일 수 있습니다.
  3. 이전 매니페스트에서 새 매니페스트로의 변경 사항을 통해 포트를 구성합니다.
    새 매니페스트에는 새 릴리스에 특정한 구조가 포함될 수 있습니다. 이전 매니페스트에 대한 모든 변경 사항을 식별하고 새 매니페스트로 복사합니다. 여기에는 리포지토리 자격 증명, 인터페이스 이름, 네트워크 구성 및 기타 사용자 지정이 포함됩니다.
    참고:

    노드가 많은 경우 노드 선택기를 사용하여 업그레이드를 보다 관리 가능한 수로 그룹화합니다.

  4. 99-*.yaml에서 111*.yaml로 오름차순으로 한 번에 모든 매니페스트를 적용하여 Contrail을 업그레이드하십시오.

    편의를 위해 다음 bash 스크립트를 사용할 수 있습니다. 스크립트는 매니페스트 디렉터리에 매니페스트 를 배치한 것으로 가정합니다. 이 스크립트를 사용하는 경우 다음을 확인해야 합니다.

    • 하위 디렉터리에서 사용하려는 모든 매니페스트를 포함하여 이 디렉터리에 사용하려는 모든 매니페스트를 배치합니다.
    • 이 디렉터리에 다른 YAML 파일을 배치하지 않습니다.

    스크립트는 매니페스트 디렉터리에 있는 모든 *.yaml 파일을 루프하고 적절한 순서로 클러스터에 적용합니다.

    각 구축 및 스테이트풀 세트의 포드는 한 번에 하나씩 업그레이드됩니다. vRouter 데몬셋이 다운되어 다시 작동합니다.

  5. 표준 kubectl 명령을 사용하여 업그레이드를 확인합니다.

    노드의 상태를 확인합니다.

    포드의 상태를 확인합니다.

    일부 포드가 중단된 경우, 일반적으로 그처럼 설치를 디버그합니다. kubectl describe 명령을 사용하여 포드가 나오지 않는 이유를 확인합니다. 일반적인 오류는 네트워크 또는 방화벽 문제로 노드가 주니퍼 네트웍스 리포지토리에 도달하지 못하는 것입니다.