이 절차에서는 Apigee Hybrid 버전 1.9.x에서 Apigee Hybrid 버전 1.10.5로 업그레이드하고 이전 출시 버전인 Hybrid 1.10.x에서 버전 1.10.5로 업그레이드하는 작업을 다룹니다.
부 버전 업그레이드(예: 버전 1.9에서 1.10으로)와 패치 출시 버전 업그레이드(예: 1.10.0에서 1.10.5로)에 같은 절차를 사용합니다.
버전 1.10.5로 업그레이드 개요
Apigee Hybrid 업그레이드 절차는 다음과 같은 섹션으로 정리됩니다.
기본 요건
이 업그레이드 안내에서는 Apigee Hybrid 버전 1.9.x가 설치되어 있고 버전 1.10.5로 업그레이드한다고 가정합니다. 이전 버전에서 업데이트하는 경우 Apigee Hybrid를 버전 1.9로 업그레이드 안내를 참조하세요.
버전 1.10으로 업그레이드 준비
하이브리드 설치 백업(권장)
- 이 안내에서는
apigeectl
을 설치한 파일 시스템에서 디렉터리의 환경 변수 APIGEECTL_HOME을 사용합니다. 필요한 경우 디렉터리를apigeectl
디렉터리로 변경하고 다음 명령어를 사용하여 변수를 정의합니다.export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- 버전 1.9
$APIGEECTL_HOME/
디렉터리의 백업 사본을 만듭니다. 예를 들면 다음과 같습니다.tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- Cassandra 백업 및 복구의 안내에 따라 Cassandra 데이터베이스를 백업합니다.
Kubernetes 버전 업그레이드
Kubernetes 플랫폼 버전을 확인하고 필요한 경우 Kubernetes 플랫폼을 Hybrid 1.9 및 Hybrid 1.10 모두에서 지원되는 버전으로 업그레이드합니다. 도움이 필요하면 플랫폼 문서를 참조하세요.
클릭하여 지원되는 플랫폼 목록 펼치기
1.10
|
1.11 | 1.12 | |||
---|---|---|---|---|---|
Google Cloud의 GKE | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
GKE on AWS | 1.13.x(K8s v1.24.x)
1.14.x(K8s v1.25.x) 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x(K8s v1.25.x)
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
Azure용 GKE | 1.13.x
1.14.x 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
VMware용 Google Distributed Cloud(소프트웨어 전용) (1) (13) | 1.13.x
1.14.x 1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x(K8s v1.26.x)
1.16.x(K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
베어메탈용 Google Distributed Cloud(소프트웨어 전용)(1) | 1.13.x
1.14.x(K8s v1.25.x) 1.15.x(K8s v1.26.x) 1.16.x(K8s v1.27.x) 1.27.x(12)(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x(K8s v1.26.x) 1.16.x(K8s v1.27.x) 1.28.x(12)(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x(K8s v1.26.x)
1.16.x(K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
EKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
AKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
OpenShift(7) | 4.11
4.12 4.14(≥ 1.10.5) 4.15(≥ 1.10.5) |
4.12
4.13 4.14 4.15(≥ 1.11.2) 4.16(≥ 1.11.2) |
4.12
4.13 4.14 4.15 4.16(≥ 1.12.1) |
||
Rancher Kubernetes Engine(RKE) |
v1.26.2+rke2r1
1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
v1.26.2+rke2r1
v1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
v1.26.2+rke2r1 v1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
VMware Tanzu | 해당 사항 없음 | 해당 사항 없음 | v1.26.x | ||
구성요소 |
1.10 | 1.11 | 1.12 | ||
Anthos Service Mesh | 1.17.x(10) | 1.18.x(10) | 1.19.x(10) | ||
JDK | JDK 11 | JDK 11 | JDK 11 | ||
cert-manager |
1.10.x 1.11.x 1.12.x |
1.11.x 1.12.x 1.13.x |
1.11.x 1.12.x 1.13.x |
||
Cassandra | 3.11 | 3.11 | 4.0 | ||
Kubernetes | 1.24.x 1.25.x 1.26.x |
1.25.x 1.26.x 1.27.x |
1.26.x 1.27.x 1.28.x |
||
kubectl | 1.27.x 1.28.x 1.29.x |
||||
Helm | 3.10+ | 3.10+ | 3.14.2+ | ||
Secret Store CSI 드라이버 | 1.3.4 | 1.4.1 | |||
Vault | 1.13.x | 1.15.2 | |||
(1) Anthos 온프레미스(Google Distributed Cloud) 버전 1.13에서 (2) Apigee Hybrid 버전 1.7.2 이상에서 지원 이용 가능 (3) Apigee Hybrid 버전 1.10 이하의 공식 EOL 날짜에 도달했습니다. 일반 월간 패치는 더 이상 제공되지 않습니다. 지속적인 지원에 대한 명시적인 공식 예외가 적용되는 고객을 제외하고 이 출시 버전은 더 이상 공식적으로 지원되지 않습니다. 다른 고객은 업그레이드해야 합니다. (4)Anthos 온프레미스(Google Distributed Cloud) 버전 1.12 이하는 지원되지 않습니다. 베어메탈용 Distributed Cloud 버전 지원 정책 및 VMware용 Distributed Cloud 지원되는 버전 목록을 참고하세요. (5)베어메탈 또는 VMware용 Google Distributed Cloud에는 Anthos Service Mesh 1.14 이상이 필요합니다. Hybrid v1.8로 업그레이드하고 하이브리드 클러스터에 더 이상 Anthos Service Mesh를 설치할 필요가 없는 Apigee 인그레스 게이트웨이로 전환하는 것이 좋습니다. (6) Apigee Hybrid 버전 1.8.4 이상에서 지원 이용 가능. (7) Apigee Hybrid 버전 1.8.4 이상에서는 지원되지 않습니다. (8) Apigee hybrid 버전 1.7.6 이상에서 지원을 사용할 수 있습니다. (9) Apigee Hybrid 버전 1.8.5 이상에서는 지원되지 않습니다. (10) Anthos Service Mesh는 Apigee hybrid 1.9 이상에 자동으로 설치됩니다. (11) Apigee hybrid 버전 1.9.2 이상에서 지원을 사용할 수 있습니다. (12) 이제 AWS용 GKE 버전 번호에 Kubernetes 버전이 반영됩니다. 버전 세부정보 및 권장되는 패치는 GKE Enterprise 버전 및 업그레이드 지원을 참조하세요. (13) Vault는 VMware용 Google Distributed Cloud에서 인증되지 않습니다. (14) Apigee hybrid 버전 1.10.5 이상에서 지원을 사용할 수 있습니다. (15) Apigee hybrid 버전 1.11.2 이상에서 지원을 사용할 수 있습니다. (16) Apigee hybrid 버전 1.12.1 이상에서 지원을 사용할 수 있습니다. |
연결된 클러스터 정보
Apigee Hybrid 버전 1.7.x 이하를 사용하는 경우 Elastic Kubernetes Service(EKS), Azure Kubernetes Service(AKS) 또는 지원되는 다른 서드 파티 Kubernetes 서비스 공급업체의 멀티 클라우드 컨텍스트에서 Apigee Hybrid를 실행하려면 GKE 연결 클러스터를 사용해야 합니다. 클러스터 연결을 사용하면 Google에서 Anthos Service Mesh 사용량을 측정할 수 있습니다.
Apigee Hybrid 버전 1.8.x의 경우 인그레스 게이트웨이에 Anthos Service Mesh를 사용한다면 GKE 연결 클러스터가 필요합니다. Apigee 인그레스 게이트웨이를 사용하는 경우 연결 클러스터는 선택사항입니다.
Hybrid 1.10.5 런타임 설치
- 하이브리드 기본 디렉터리(
apigeectl
실행 파일이 있는 디렉터리의 상위 디렉터리)에 있는지 확인합니다.cd $APIGEECTL_HOME/..
-
다음 명령어를 사용하여 운영체제용 출시 버전 패키지를 다운로드합니다. 다음 테이블에서 플랫폼을 선택해야 합니다.
Linux 64비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
Mac 64비트:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows 64 비트:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
- 현재
apigeectl/
디렉터리의 이름을 백업 디렉터리 이름으로 바꿉니다. 예를 들면 다음과 같습니다.mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9
-
다운로드한 gzip 파일 콘텐츠를 Hybrid 기본 디렉터리에 추출합니다. Hybrid 기본 디렉터리는 이름이 변경된
apigeectl-v1.9
디렉터리가 있는 디렉터리입니다.tar xvzf
filename .tar.gz -C ./tar xvzf
filename .tar.gz -C ./tar xvzf
filename .zip -C ./ -
tar 콘텐츠는 기본적으로 이름에 해당 버전과 플랫폼이 포함된 디렉터리로 확장됩니다. 예를 들면
./apigeectl_1.10.5-xxxxxxx_linux_64
입니다. 다음 명령어를 사용하여 디렉터리 이름을apigeectl
로 변경합니다.mv
apigeectl_1.10.5-xxxxxxx_linux_64 apigeectlmv
apigeectl_1.10.5-xxxxxxx_mac_64 apigeectlrename
apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl -
apigeectl
디렉터리로 변경합니다.cd ./apigeectl
이 디렉터리는
apigeectl
홈 디렉터리입니다. 여기에apigeectl
실행 가능한 명령어가 있습니다. - 이 안내에서는
apigeectl
유틸리티가 설치된 파일 시스템의 디렉터리에 환경 변수$APIGEECTL_HOME
을 사용합니다. 필요한 경우 디렉터리를apigeectl
디렉터리로 변경하고 다음 명령어를 사용하여 변수를 정의합니다.export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
version
명령어를 사용하여apigeectl
의 버전을 확인합니다../apigeectl version
Version: 1.10.5
hybrid-base-directory/hybrid-files
디렉터리를 만든 후 해당 디렉터리로 이동합니다.hybrid-files
디렉터리에는 재정의 파일, 인증서, 서비스 계정과 같은 구성 파일이 있습니다. 예를 들면 다음과 같습니다.mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- 다음 명령어를 사용하여
kubectl
이 올바른 컨텍스트로 설정되었는지 확인합니다. 현재 컨텍스트를 Apigee Hybrid를 업그레이드하는 클러스터로 설정해야 합니다.kubectl config get-contexts | grep \*
hybrid-files
디렉터리에서 다음을 수행합니다.-
다음 기호화된 링크를
$APIGEECTL_HOME
으로 업데이트합니다. 이러한 링크를 사용하면hybrid-files
디렉터리 내에서 새로 설치된apigeectl
명령어를 실행할 수 있습니다.ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins -
심볼릭 링크가 올바르게 생성되었는지 확인하려면 이 명령어를 실행하고 링크 경로가 올바른 위치를 가리키는지 확인합니다.
ls -l | grep ^l
-
다음 기호화된 링크를
- overrides.yaml 파일을 다음과 같이 변경하여
apigee-operator
차트를 사용 설정하거나 올바른 태그(1.10.5-hotfix.1
)를 사용하도록 합니다.ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- 테스트 실행 초기화를 수행하여 오류를 확인합니다.
${APIGEECTL_HOME}/apigeectl init -f
OVERRIDES_FILE --dry-run=client여기서 OVERRIDES_FILE은 재정의 파일 이름입니다(예:
./overrides/overrides.yaml
). - 오류가 없으면 Hybrid 1.10.5를 초기화합니다.
$APIGEECTL_HOME/apigeectl init -f
OVERRIDES_FILE - 초기화 상태를 확인합니다.
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE 성공하면 다음과 같이 출력됩니다:
All containers ready.
kubectl describe apigeeds -n apigee
출력에서
State: running
을 찾습니다. --dry-run
플래그를 사용하여apply
명령어의 테스트 실행으로 오류가 있는지 확인합니다.$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --dry-run=client- 오류가 없으면 재정의를 적용합니다. 설치에 따라 프로덕션 환경 또는 비프로덕션 환경의 안내를 선택하여 따릅니다.
프로덕션 환경의 경우 각 Hybrid 구성요소를 개별적으로 업그레이드하고 다음 구성요소로 진행하기 전에 업그레이드된 구성요소의 상태를 확인해야 합니다.
- 현재 위치가
hybrid-files
디렉터리인지 확인합니다. - 재정의를 적용하여 Cassandra를 업그레이드합니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --datastore - 완료를 확인합니다.
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE 포드가 준비된 경우에만 다음 단계로 진행합니다.
- 재정의를 적용하여 원격 분석 구성요소를 업그레이드하고 완료를 확인합니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --telemetry$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE - Redis 구성요소를 가져옵니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --redis - 재정의를 적용하여 조직 수준 구성요소(MART, Watcher, Apigee Connect)를 업그레이드하고 완료를 확인합니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --org$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE - 재정의를 적용하여 환경을 업그레이드합니다. 다음 두 가지 중에서 선택할 수 있습니다.
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --envENV_NAME $APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE 여기서 ENV_NAME은 업그레이드하는 환경의 이름입니다.
- 한 번에 모든 환경: 한 번에 모든 환경에 재정의를 적용하고 완료 여부를 확인합니다.
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --all-envs$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
- 재정의를 적용하여
virtualhosts
구성요소를 업그레이드하고 완료를 확인합니다.$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --settings virtualhosts$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
대부분의 비프로덕션, 데모 또는 실험용 환경에서는 모든 구성요소에 재정의를 한 번에 적용할 수 있습니다. 비프로덕션 환경이 크고 복잡하거나 프로덕션 환경을 비슷하게 모방하는 경우 프로덕션 환경 업그레이드 안내를 참조하세요.
- 현재 위치가
hybrid-files
디렉터리인지 확인합니다. $APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE - 상태를 파악합니다.
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
- 현재 위치가
업그레이드 롤백
이전 업그레이드를 롤백하려면 다음 단계를 따르세요.
- 하이브리드 런타임 네임스페이스의 완료된 작업을 삭제합니다. 여기서 NAMESPACE는 재정의 파일에 지정된 네임스페이스(네임스페이스가 지정된 경우)입니다. 그렇지 않은 경우 기본 네임스페이스는
apigee
입니다.kubectl delete job -n
NAMESPACE \ $(kubectl get job -nNAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') apigee-system
네임스페이스에 대해 완료된 작업을 삭제합니다.kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
apigeectl
의 이전 버전이 포함된 디렉터리를 가리키도록APIGEECTL_HOME
변수를 변경합니다. 예를 들면 다음과 같습니다.export APIGEECTL_HOME=
PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY - 롤백할 설치의 루트 디렉터리에서
apigeectl apply
를 실행하고 포드 상태를 확인한 후apigeectl init
를 실행합니다. 롤백하려는 버전에 원래 재정의 파일을 사용해야 합니다.- Hybrid 파일 디렉터리에서
apigeectl apply
를 실행합니다.$APIGEECTL_HOME
/apigeectl apply -fORIGINAL_OVERRIDES_FILE 여기서 ORIGINAL_OVERRIDES_FILE은 이전 버전 Hybrid 설치에 대한 재정의 파일의 상대 경로 및 파일 이름입니다(예:
./overrides/overrides1.9.yaml
). - 포드의 상태를 확인합니다.
kubectl -n
NAMESPACE get pods여기서 NAMESPACE는 Apigee Hybrid 네임스페이스입니다.
apigeeds
의 상태를 확인합니다.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
apigeeds
포드가 실행 중인 경우에만 다음 단계를 진행합니다.- 다음 명령어를 실행하여 업그레이드 후 메시지 프로세서에 대한 새 복제본 수 값을 기록해 둡니다. 이 값이 이전에 설정한 값과 일치하지 않으면 재정의 파일의 값을 이전 구성과 일치하도록 변경하세요.
apigeectl apply -f
ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2다음과 비슷한 결과가 출력됩니다.
autoScaler: minReplicas: 2 maxReplicas: 10
apigeectl init
을 실행합니다.$APIGEECTL_HOME
/apigeectl init -fORIGINAL_OVERRIDES_FILE
- Hybrid 파일 디렉터리에서