이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭 어플라이언스 기기를 업데이트하고 패치하는 단계를 설명합니다.
업그레이드 준비
업그레이드하기 전에 이 섹션에 나열된 요구사항을 충족하는지 확인하세요.
시작하기 전에
업데이트 및 패치 업그레이드에 사용하는 노트북이 물리적 사양 및 기타 요구사항을 충족하는지 노트북 기본 요건을 검토하세요.
먼저 gdcloud 명령줄 인터페이스 (CLI) 도구와 관련하여 다음 작업을 완료해야 합니다.
- Download the
gdcloudCLI 도구를 다운로드합니다. - 설치
gdcloudCLI 도구. - 업그레이드 필요에 따라
gdcloudCLI 도구를 업그레이드합니다. docker-credential-gdcloud가 있는지 확인합니다.- HPE Chassis Manager가 펌웨어 버전
2.10.12이상을 실행 중인지 확인합니다. 이전 펌웨어 버전에서 업데이트하는 경우 HPE Chassis Manager 펌웨어 업그레이드를 참조하세요.
아티팩트를 업그레이드 머신으로 전송
Cloud Storage 버킷에 액세스할 수 있어야 합니다.
다음 단계에 따라 업데이트 및 패치 업그레이드에 사용하는 노트북으로 아티팩트를 전송합니다.
-
VERSION=<x.x.x-gdch.yyy> RELEASE_SUFFIX="_te" DOWNLOADER=gdch-downloader-prod${RELEASE_SUFFIX}-$VERSION.sh gcloud storage cp "gs://$GCS_BUCKET/$VERSION/$DOWNLOADER" . gcloud storage cp "gs://$GCS_BUCKET/$VERSION/${DOWNLOADER}.sig" . PUBLIC_KEY=$(cat <<-PUBEND -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn46iVSyFXsvuKLZ4dVOr2AqlXDnR 5cKztkpraexHDxn/ozq03EvrdkRmZkSACFfcaEFyitpraidgAx8sPjvzXQ== -----END PUBLIC KEY----- PUBEND ) echo "${PUBLIC_KEY}" > "key.pub" DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh gcloud storage cp "gs://${GCS_BUCKET:-private-cloud-release}/$VERSION/$DOWNLOADER*" . openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-unzip이 명령어는 업데이트 패키지 및 다운로더 스크립트를 현재 디렉터리(예:
/home/download)로 가져옵니다. tree -L 3 /home/download를 실행합니다.출력 예시:
/home/download ├── gdch │ └── x.x.x-gdch.x │ ├── bootstrapper │ │ ├── bootstrapper.iso │ │ └── bootstrapper.iso.sig │ ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz │ ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz.sig │ ├── prod_te_gdch.tar.gz │ └── prod_te_gdch.tar.gz.sig ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.1.sig ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.sig └── key.pubUSB 드라이브를 사용하여 업데이트를 에어 갭 환경에 복사합니다.
1단계에서 USB 드라이브에 다운로드한 다운로더 스크립트와
gdch디렉터리를 모두 에어 갭 환경의 업그레이드 머신에 복사합니다.업그레이드 머신에서 패키지를 다운로드하는 데 사용한 동일한 정보를 사용하여 콘텐츠를 확인하고 파일을 추출합니다. 예를 들어 다음 코드는 패키지를
/root디렉터리에 복사합니다.패키지의 압축을 풉니다.
VERSION=x.x.x-gdch.x PRODUCT=prod_te DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-download패키지는
/root/gdch/full-release-x.x.x-gdch.x경로에서 압축이 풀립니다.버전이 VERSION에 설정한 버전과 일치하는지 확인합니다.
/root/gdch/full-release-x.x.x-gdch.x/gdcloud version샘플 출력:
gdcloud version: 1.14.4-gdch.0
인증
구성된 ID 공급업체로 인증하고 사용자 ID 및 클러스터의 kubeconfig 파일을 요청하려면 인증을 참조하세요.
로그인하고 kubeconfig 파일을 생성합니다.
kubeconfig 파일을 환경 변수로 설정합니다.
export KUBECONFIG=ROOT_ADMIN_KUBECONFIG export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG다음 역할을 요청합니다.
어플라이언스 관리자 업그레이드:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com시스템 아티팩트 관리 관리자:
kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system시스템 아티팩트 관리 보안 비밀 관리자:
kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-secrets-admin-initial-user --role=system-artifact-management-secrets-admin --user=keycloak-oidc-initial-user@example.com -n anthos-credsDNS 서픽스 뷰어:
kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system시스템 Artifact Registry 모니터:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com디버거 업그레이드:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com시스템 Artifact Registry 디버거:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-debugger-initial-user --clusterrole=sar-debugger --user=keycloak-oidc-initial-user@example.com
Docker를 구성합니다.
gdcloud auth configure-docker --config-cert=true
업그레이드 시작
다음 단계에 따라 어플라이언스 업그레이드를 시작합니다.
gdcloud appliance upgrade
자세한 내용은 gdcloud appliance upgrade를 참조하세요.
이 명령어는 다음 단계를 실행합니다.
- 업그레이드 머신에서 프리플라이트 검사를 실행합니다.
- OTS 스토리지의 프리플라이트 검사를 실행합니다.
- 아티팩트를 Artifact Registry에 푸시합니다.
- 다음을 포함하여 어플라이언스 소프트웨어 및 펌웨어를 업그레이드합니다.
- GDC 루트 관리자 클러스터.
- GDC 서비스.
- 실제 노드 및 가상 노드의 운영체제 (OS).
- 전환합니다.
- 스토리지
이 명령어는 업데이트를 순서대로 실행하고 각 단계가 완료될 때까지 기다립니다. 단계를 완료한 후 업그레이드가 성공하면 다음과 유사한 메시지가 표시됩니다.
The GDC appliance upgrade completed successfully