Consul v1.10.x로 업그레이드

Consul v1.10.x로 업그레이드 (Upgrade to 1.10.x)

Consul 배포를 v1.10.x로 업데이트하고 복제 데이터를 유지하는 과정을 설명하는 문서예요. Consul Enterprise 데이터센터를 v1.10.x로 업그레이드하는 절차를 다뤄요.

출처: 문서

본문

이 페이지는 Consul 배포를 v1.10.x로 업데이트하고 복제 데이터를 유지하는 과정을 설명합니다.

소개 (Introduction)

이 가이드는 v1.10과 정방향 호환되는 Consul 버전에서 단일 Consul Enterprise 데이터센터를 최신 v1.10.x로 업그레이드하는 방법을 설명합니다. 1.8보다 이전의 주요 버전을 사용 중이라면 먼저 최신 1.8.x로 업그레이드한 후 이 가이드를 계속해야 합니다. 이미 1.8 또는 1.9 주요 버전을 사용 중이라면 이 가이드는 v1.10.x로 업그레이드하는 데 필요한 절차를 다룹니다. 이 과정은 v1.8 또는 v1.9의 정방향 호환 릴리스로의 중간 버전 업그레이드와 기타 라이선스 관련 구성 변경이 필요합니다. 여러 Consul 데이터센터가 있다면 정상 순서로 업그레이드하고 각 업그레이드에 대해 다음 지침을 고려하세요.

Consul Community Edition의 경우 일반 업그레이드 프로세스를 따르세요.

참고 Consul Enterprise 1.10으로 업그레이드할 수 있는 것은 Consul Enterprise 1.8 >= 1.8.13 또는 1.9 >= 1.9.7 버전부터입니다. 다른 버전의 Consul Enterprise는 v1.10과 정방향 호환되지 않으며 라이선스 관리 방식 변경으로 인해 에이전트가 시작되지 않아 업그레이드 중 문제가 발생할 수 있습니다.

요구 사항 (Requirements)

  • 모든 Consul 서버, 클라이언트, 스냅샷 에이전트가 Consul >= 1.8.0 및 < 1.10.0 버전이어야 합니다. 최소 버전 이상이 아니면 일반 업그레이드 절차를 따라 버전 요구 사항이 충족될 때까지 업그레이드합니다.

가정 (Assumptions)

이 가이드는 다음을 가정합니다:

  • 일반 업그레이드 프로세스에 익숙합니다.
  • Consul CLI 명령을 실행할 수 있습니다.
  • ACL을 사용 중이라면 최소 operator:read 권한이 있는 토큰을 보유합니다.

고려 사항 (Considerations)

특정 버전 세부 정보 페이지에 요약된 라이선스 변경은 업그레이드 과정에서 특별한 처리가 필요한 Consul Enterprise 1.10의 주요 변경 사항입니다. 이 페이지는 업그레이드 중 문제를 일으킬 수 있는 다른 변경 사항도 설명합니다. 세부 사항을 포함한 라이선스 FAQ와 전체 변경 로그도 검토할 수 있습니다. 업그레이드 전에 변경 사항을 검토할 것을 강력히 권장합니다.

절차 (Procedures)

참고 다음 섹션에서 서버/클라이언트 업그레이드를 언급하는 모든 단계는 정상적인 안전한 업그레이드 절차를 따른다고 가정합니다. 라이선스 관련 구성 변경은 1.10으로 업그레이드하는 데 필요합니다. 정방향 호환성을 보장하려면 중간 버전 업그레이드도 필요합니다. 자세한 내용은 기본 서버 업그레이드 프로세스 및 autopilot 지원 업그레이드 문서를 참조하세요.

1. 다음 CLI 명령을 실행해 데이터센터의 현재 라이선스를 검색합니다:

consul license get -signed > consul.hclic

Consul이 이미 실행 중인 곳 어디에서나 또는 클러스터에 네트워크 접근이 있는 위치에서 명령을 실행할 수 있습니다. 다른 위치에서 실행하면 올바른 Consul API로 요청을 보내기 위한 추가 명령줄 옵션이 필요할 수 있습니다.

이렇게 하면 로컬 디렉터리의 consul.hclic이라는 파일에 라이선스가 저장됩니다. 이 파일은 이후 1.10 업그레이드를 위해 라이선스를 준비할 때 유용합니다.

2. 다음 명령을 실행해 클러스터의 스냅샷을 만듭니다:

consul snapshot save original.snap

현재 디렉터리에 스냅샷을 저장할 충분한 디스크 공간이 있는지 확인해야 합니다. 최악의 경우 스냅샷 크기가 Consul 서버 프로세스가 소비하는 RAM 양에 가까울 수 있습니다.

이 스냅샷은 필요하지 않아야 하지만, 문제가 발생하면 스냅샷을 통해 이전 상태를 복원할 수 있습니다.

3. 다음 CLI 명령을 실행해 ACL이 활성화되어 있는지 확인합니다.

consul info | grep "acl ="

다음 중 하나와 같은 출력을 받으면 ACL이 활성화된 것입니다:

Error querying agent: Unexpected response code: 403 (Permission denied)
        acl = enabled

ACL이 활성화되었는지, 비활성화되었는지 또는 Kubernetes 내에서 Consul을 운영하는지에 따라 아래의 올바른 탭을 선택하세요.

ACL 활성화 (ACLs Enabled):

4. 모든 서버 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

5. 모든 클라이언트 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

6. 모든 스냅샷 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

7. 다음 명령을 실행해 업그레이드된 클러스터의 스냅샷을 만듭니다:

consul snapshot save intermediate.snap

8. 서버 에이전트를 라이선스로 사전 구성합니다.

이는 license_path 구성 항목, CONSUL_LICENSE_PATH 환경 변수 또는 CONSUL_LICENSE 환경 변수로 설정할 수 있습니다. 라이선스 구성 방법에 대한 자세한 내용은 라이선스 문서를 참조하세요. 추가 정보는 Apply Enterprise License 튜토리얼도 참조할 수 있습니다.

9. 모든 서버 에이전트를 최신 v1.10.x로 업그레이드합니다.

10. 모든 클라이언트 에이전트를 최신 v1.10.x로 업그레이드합니다.

11. 모든 스냅샷 에이전트를 최신 v1.10.x로 업그레이드합니다.

ACL 비활성화 (ACLs Disabled):

참고 프로덕션에서 ACL이 비활성화된 채로 실행하는 것은 권장하지 않습니다. 대체 업그레이드 경로는 이 튜토리얼을 따라 먼저 ACL을 활성화한 후 "ACLs Enabled" 탭의 지침을 진행하는 것입니다.

4. 모든 서버 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

5. 클라이언트 에이전트를 라이선스로 사전 구성합니다. (위 서버 단계 5와 동일한 프로세스)

6. 모든 클라이언트 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

7. 스냅샷 에이전트를 라이선스로 사전 구성합니다.

8. 모든 스냅샷 에이전트를 최신 1.8.x 또는 1.9.x 릴리스로 업그레이드합니다.

9. 다음 명령을 실행해 업그레이드된 클러스터의 스냅샷을 만듭니다:

consul snapshot save intermediate.snap

10. 서버 에이전트를 라이선스로 사전 구성합니다.

11. 모든 서버 에이전트를 최신 v1.10.x로 업그레이드합니다.

12. 모든 클라이언트 에이전트를 최신 v1.10.x로 업그레이드합니다.

13. 모든 스냅샷 에이전트를 최신 v1.10.x로 업그레이드합니다.

Kubernetes:

4. 만약 Consul 서버가 Kubernetes 클러스터 밖에서 실행 중이라면 다음 단계 전에 최신 1.8.x 또는 1.9.x로 업그레이드했는지 확인하세요. 그렇지 않으면 이 단계를 건너뛸 수 있습니다.

5. 최신 Consul Helm 차트 v0.32.0+로 업그레이드합니다.

6. values 파일의 global.image 값을 최신 1.8.x 또는 1.9.x 이미지로 업데이트합니다.

또한 라이선스가 있는 Kubernetes 시크릿이 values의 server.enterpriseLicense.secretName 및 server.enterpriseLicense.secretKey에 지정되었는지 확인하세요.

7. 클러스터를 업그레이드합니다.

Kubernetes 업그레이드 가이드의 단계를 따라 클러스터를 업그레이드합니다. 서버와 클라이언트 업그레이드 단계를 확인하세요.

8. 만약 Consul 서버가 Kubernetes 클러스터 밖에서 실행 중이라면 다음 단계 전에 1.10.0으로 업그레이드했는지 확인하세요. 그렇지 않으면 이 단계를 건너뛸 수 있습니다.

이렇게 하려면 1.10을 실행하기 전에 서버를 라이선스로 사전 구성해야 합니다.

9. values 파일의 global.image 값을 1.10.0 이미지로 업데이트합니다.

10. 클러스터를 업그레이드합니다.

Kubernetes 업그레이드 가이드의 단계를 따라 클러스터를 업그레이드합니다.

업그레이드 후 구성 변경 (Post-Upgrade Configuration Changes)

이 업그레이드에는 구성 변경이 필요하지 않습니다.

더 알아보기 (Learn more)