버전 1.4.4로 업그레이드 개요
Apigee Hybrid 업그레이드 절차는 다음과 같은 섹션으로 정리됩니다.
- 하이브리드 설치를 백업합니다.
- Kubernetes 버전을 확인하고 올바르게 업그레이드합니다.
- ASM을 업그레이드합니다.
- 하이브리드 런타임 버전 1.4를 설치합니다.
선행 조건
- Apigee Hybrid 버전 1.3이 필요합니다. 이전 버전에서 업데이트하는 경우 Apigee Hybrid를 버전 1.3로 업그레이드에 대한 안내를 참조하세요.
버전 1.4로 업그레이드
- (권장사항) 버전 1.3
$APIGEECTL_HOME/
디렉터리의 백업 사본을 만듭니다. 예를 들면 다음과 같습니다.tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
- (권장사항) Cassandra 백업 및 복구의 안내에 따라 Cassandra 데이터베이스를 백업합니다.
- Kubernetes 플랫폼을 다음과 같이 업그레이드합니다. 도움이 필요하면 플랫폼 문서를 참조하세요.
플랫폼 업그레이드할 버전 GKE 1.18.x GKE On-Prem(Anthos) 1.5.x AKS 1.18.x(Anthos 연결 클러스터 사용) EKS 1.18.x(Anthos 연결 클러스터 사용) - ASM을 1.6.x로 업그레이드합니다.
- ASM 문서를 사용하여 업그레이드를 수행합니다.
- GKE On-Prem(Anthos): 온프레미스에서 Anthos Service Mesh 업그레이드
- 다른 모든 플랫폼: GKE에서 Anthos Service Mesh 업그레이드
- 다음 인그레스 포트를 지정하고
istio-operator.yaml
파일에서runAsRoot
속성을true
로 설정합니다.… … … ports: - port: 15021 name: status-port targetPort: 15021 - port: 80 name: http2 targetPort: 80 - port: 443 name: https targetPort: 443 … … … values: gateways: istio-ingressgateway: runAsRoot: true
istio-operator.yaml
파일에서 mTLS를 사용 중지하기 위한 PeerAuthentication CR 생성합니다.--- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: apigee-system namespace: apigee-system spec: mtls: mode: DISABLE --- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: user-namespace namespace: user-namespace spec: mtls: mode: DISABLE
- ASM 문서에 설명된 대로
istioctl
을 사용하여 다음 변경사항을 적용합니다. - GKE On-Prem(Anthos): 제어 영역 업데이트
- 다른 모든 플랫폼: 제어 영역 업데이트
- ASM 문서를 사용하여 업그레이드를 수행합니다.
Hybrid 1.4.4 런타임 설치
- 변수에 최신 버전 번호를 저장합니다.
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
- 변수가 버전 번호로 채워져 있는지 확인합니다. 다른 버전을 사용하려면 해당 버전을 대신 환경 변수에 저장하면 됩니다. 예를 들면 다음과 같습니다.
echo $VERSION
1.4.4
사용 중인 운영체제에 해당하는 출시 패키지를 다운로드합니다.
Mac 64비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux 64비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac 32비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux 32비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- 현재
apigeectl/
디렉터리의 이름을 백업 디렉터리 이름으로 바꿉니다. 예를 들면 다음과 같습니다.mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/
-
다운로드한 gzip 파일 콘텐츠를 Hybrid 기본 디렉터리에 추출합니다. 예를 들면 다음과 같습니다.
tar xvzf filename.tar.gz -C hybrid-base-directory
cd
명령어를 사용하여 기본 디렉터리로 이동합니다.-
tar 콘텐츠는 기본적으로 이름에 해당 버전과 플랫폼이 포함된 디렉터리로 확장됩니다(예:
./apigeectl_1.4.4-xxx_linux_64
). 이 디렉터리의 이름을apigeectl
로 바꿉니다.mv apigeectl_1.4.5-xxx_linux_64 apigeectl
- 새
apigeectl/
디렉터리에서apigeectl init
,apigeectl apply
,apigeectl check-ready
를 실행합니다.- Hybrid 1.4.4를 초기화합니다.
apigeectl init -f overrides.yaml
여기서 overrides.yaml은 편집된 override.yaml 파일입니다.
- 다음 명령어를 사용하여 올바르게 초기화되었는지 확인합니다.
apigeectl check-ready -f overrides.yaml
kubectl describe apigeeds -n apigee
다음과 비슷한 결과가 출력됩니다.
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running
apigeectl
--dry-run
플래그의 문법은 실행 중인kubectl
버전에 따라 다릅니다.kubectl
의 버전을 확인합니다.gcloud version
- 사용 중인
kubectl
버전에 적절한 명령어로 다음 테스트 실행 오류가 있는지 확인합니다.kubectl
버전 1.17 이하:apigeectl apply -f overrides.yaml --dry-run=true
kubectl
버전 1.18 이상:apigeectl apply -f overrides.yaml --dry-run=client
- 재정의를 적용합니다. 설치에 따라 프로덕션 환경 또는 데모/실험용 환경의 안내를 선택하여 따릅니다.
프로덕션
프로덕션 환경의 경우 각 하이브리드 구성요소를 개별적으로 업그레이드하고 다음 구성요소로 진행하기 전에 업그레이드된 구성요소의 상태를 확인해야 합니다.
- 재정의를 적용하여 Cassandra를 업그레이드합니다.
apigeectl apply -f overrides.yaml --datastore
- 완료를 확인합니다.
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
여기서 namespace는 Apigee Hybrid 네임스페이스입니다.
포드가 준비된 경우에만 다음 단계로 진행합니다.
- 재정의를 적용하여 원격 분석 구성요소를 업그레이드하고 완료를 확인합니다.
apigeectl apply -f overrides.yaml --telemetry
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 재정의를 적용하여 조직 수준 구성요소(MART, Watcher, Apigee Connect)를 업그레이드하고 완료를 확인합니다.
apigeectl apply -f overrides.yaml --org
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 재정의를 적용하여 환경을 업그레이드합니다. 다음 두 가지 중에서 선택할 수 있습니다.
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
apigeectl apply -f overrides.yaml --env env_name
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
여기서 env_name은 업그레이드하는 환경의 이름입니다.
- 한 번에 모든 환경: 한 번에 모든 환경에 재정의를 적용하고 완료 여부를 확인합니다.
apigeectl apply -f overrides.yaml --all-envs
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
데모/실험용
대부분의 데모 또는 실험용 환경에서는 모든 구성요소에 재정의를 한 번에 적용할 수 있습니다. 데모/실험용 환경의 규모가 크고 복잡하거나 프로덕션 환경을 비슷하게 모방하는 경우 프로덕션 환경 업그레이드 안내를 참조하세요.
apigeectl apply -f overrides.yaml
- 상태를 파악합니다.
apigeectl check-ready -f overrides.yaml
- 재정의를 적용하여 Cassandra를 업그레이드합니다.
수고하셨습니다. Apigee Hybrid 버전 1.4.4로 성공적으로 업그레이드되었습니다.
- Hybrid 1.4.4를 초기화합니다.