동기화 담당자 액세스 사용 설정
동기화 담당자 액세스를 사용 설정하려면 다음 안내를 따르세요.
- Google Cloud 서비스 계정을 만들고 이 계정에 Apigee 조직 관리자 역할을 추가합니다. 이 서비스 계정은 이후 단계에서 수행할 API 호출을 인증하는 데 사용됩니다. GCP Console을 사용하면 서비스 계정을 쉽게 만들 수 있습니다.
자세한 내용은 GCP 문서의 서비스 계정 만들기 및 관리를 참조하세요.
예를 들어 다음
gcloud
명령어는 서비스 계정을 만들고 Apigee 조직 관리자 역할을 할당합니다.- 계정을 만듭니다.
gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"
여기서 apigee-org-admin은 만들려는 서비스 계정의 이름입니다. 이 가이드에서는 '
apigee-org-admin
'을 사용하는 것이 좋습니다. - 서비스 계정에 Apigee 조직 관리자 역할을 할당합니다.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.admin"
각 항목의 의미는 다음과 같습니다.
- $PROJECT_ID는 2단계: Google Cloud 프로젝트 만들기에서 만든 Google Cloud 프로젝트의 이름입니다.
- apigee-org-admin은 방금 만든 서비스 계정의 이름입니다.
- roles/apigee.admin은 roles/apigee.admin 역할입니다.
- 계정을 만듭니다.
- 서비스 계정 키를 시스템에 다운로드합니다. 다음 명령어를 사용하여 키를
service-accounts/
디렉터리에 다운로드합니다. 자세한 내용은 GCP 문서의 서비스 계정 키 만들기의 안내를 참조하세요.- 현재 위치가
/hybrid-base-directory/hybrid-files/
디렉터리인지 확인합니다. - 키를 다운로드합니다.
gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com
출력은 다음과 같이 표시됩니다.
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- 현재 위치가
- 다음 명령어를 사용하여 Apigee 조직 관리자 서비스 계정 키의 경로를 확인합니다.
ls service-accounts/*admin*
다음과 같은 결과가 표시됩니다.
service-accounts/hybrid-example-apigee-org-admin.json
- 키 파일 이름으로 ORG_ADMIN_ACCOUNT 환경 변수를 만듭니다.
예를 들면 다음과 같습니다.
export ORG_ADMIN_ACCOUNT="hybrid-example-apigee-org-admin.json"
- 다음 명령어를 실행하여 토큰을 가져옵니다.
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- 다음 명령어를 사용하여
apigee-synchronizer
서비스 계정의 이메일 주소를 가져옵니다.gcloud iam service-accounts list --filter "apigee-synchronizer"
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
패턴과 일치하면 다음 단계에서 이 패턴을 사용할 수 있습니다. - 다음 명령어로 setSyncAuthorization API를 호출하여 동기화 담당자에 필요한 권한을 사용 설정합니다.
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
각 항목의 의미는 다음과 같습니다.
$ORG_NAME
: 하이브리드 조직의 이름입니다.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: apigee-syncnronizer 서비스 계정의 이메일 주소입니다.
- 서비스 계정이 설정되었는지 확인하려면 다음 명령어로 API를 호출하여 서비스 계정 목록을 가져옵니다.
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d ''
결과는 다음과 유사합니다.
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
클러스터에 구성 적용
다음 단계를 따라 클러스터에 Apigee Hybrid를 설치합니다.
- 현재 위치가
hybrid-base-directory/hybrid-files
디렉터리인지 확인합니다. - 다음 명령어를 사용하여
kubectl
이 올바른 컨텍스트로 설정되었는지 확인합니다. 현재 컨텍스트를 Apigee Hybrid를 배포하는 클러스터로 설정해야 합니다.kubectl config get-contexts
- GKE의 AWS, EKS, GKE On-Prem 플랫폼의 경우
KUBECONFIG
변수가 다음 명령어를 사용하여 설정되었는지 확인합니다.echo $KUBECONFIG
- 테스트 실행를 초기화합니다.
--dry-run
플래그를 사용하여init
명령어를 실행합니다. 테스트 실행을 수행하면 클러스터를 변경하기 전에 오류를 확인할 수 있습니다.Hybrid 버전 1.4.4에서
--dry-run
플래그의 문법은 실행 중인kubectl
버전에 따라 다릅니다. 다음 명령어를 사용하여kubectl
버전을 확인합니다.kubectl version
kubectl
버전 1.17 이하:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
kubectl
버전 1.18 이상:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- 오류가 없으면 다음과 같이
init
명령어를 실행합니다.$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
init
명령어는 Apigee 배포 서비스 Apigee 배포 컨트롤러와 Apigee 허용 웹훅을 설치합니다. - 배포 상태를 확인하려면 다음 명령어를 사용하면 됩니다.
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
kubectl get pods -n apigee-system
kubectl get pods -n istio-system
포드가 준비되면 다음 단계로 이동합니다.
- 테스트 실행을 설치합니다.
--dry-run
플래그를 사용하여apply
명령어를 실행합니다.kubectl
버전 1.17 이하:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
kubectl
버전 1.18 이상:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
- 오류가 없으면 다음 명령어를 사용하여 클러스터에 Apigee별 런타임 구성요소를 적용할 수 있습니다.
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- 배포 상태를 확인하려면 다음 명령어를 실행합니다.
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
포드가 모두 준비될 때까지 이 단계를 반복합니다. 포드가 시작되는 데 몇 분 정도 걸릴 수 있습니다.