๊ฐ์
๋ฒ์ 1.13.1๋ถํฐ ์๋ก ์์ฑ๋ Apigee Hybrid ์กฐ์ง์ ๋ฐํ์ ๊ตฌ์ฑ์์์์ ๋ฐ์ดํฐ๋ฅผ ์ปจํธ๋กค ํ๋ ์ธ์ ์ง์ ์ธ ์ ์๋ ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ์๋ ์ด ์์ ์ด Google Cloud ์๋น์ค์ ์ธ ์๋ช ๋ URL์ ์์ฑํ๋ UDCA ๊ตฌ์ฑ์์๋ฅผ ํตํด ์ํ๋์์ต๋๋ค. ์ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ฉด Google Cloud ์๋น์ค์ ์ ๋ก๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ UDCA ๋ฐ ๊ธฐํ ๊ด๋ จ ๊ตฌ์ฑ์์๊ฐ ํ์ํ์ง ์์ต๋๋ค. Apigee Hybrid์์ ๋ฐ์ดํฐ ์์ฃผ ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
๊ตฌ์ฑ
๋ค์ ์๋ด์ ๋ฐ๋ผ ๊ฐ๋ณ ๊ตฌ์ฑ์์์ ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋๋ก Hybrid๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ค์ ์น์ธ ํ๋ฆ
์ ํ์ดํ๋ผ์ธ๊ณผ ์ํธ์์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ปจํธ๋กค ํ๋ ์ธ์ ๋ด๋ณด๋ผ ์ ์๋ ๋ฐํ์ ์๋น์ค ๊ณ์ ์ ๊ถํ์ ์ค์ ํฉ๋๋ค. ์ ํ์ดํ๋ผ์ธ์์ ๋๋ฒ๊ทธ ์ธ์ ๊ณผ ์ ๋๋ฆฌํฑ์ค๊ฐ ์๋ํ๊ฒ ํ๋ ค๋ฉด ์ด ๋จ๊ณ๊ฐ ์ํํด์ผ ํฉ๋๋ค.
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d '{ "analytics_publisher_identities": ["serviceAccount:apigee-runtime@ORG_NAME.iam.gserviceaccount.com"]}'
๋ค์๊ณผ ๊ฐ์ ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "organizations/newpipeline-hybrid-org/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "UPDATE", "targetResourceName": "organizations/newpipeline-hybrid-org/controlPlaneAccess", "state": "IN_PROGRESS" } }
์ ๋ฐ์ดํธ ์๋ต์ ์ด๋ฆ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29"
๋ค์๊ณผ ๊ฐ์ ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "organizations/newpipeline-hybrid-org/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "UPDATE", "targetResourceName": "organizations/newpipeline-hybrid-org/controlPlaneAccess", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.ControlPlaneAccess", "name": "organizations/newpipeline-hybrid-org/controlPlaneAccess" } }
์กฐ์ง์ ControlPlaneAccess ๊ตฌ์ฑ์ ํ์ธํฉ๋๋ค.
curl "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/controlPlaneAccess" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
๋ค์๊ณผ ๊ฐ์ ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "synchronizerIdentities": [ "serviceAccount:apigee-synchronizer@newpipeline-hybrid-org.iam.gserviceaccount.com" ], "analyticsPublisherIdentities": [ "serviceAccount:apigee-runtime@newpipeline-hybrid-org.iam.gserviceaccount.com" ] }
๋๋ฒ๊ทธ ๋ฐ ์ ๋๋ฆฌํฑ์ค ๋ฐ์ดํฐ ์์ฃผ๋ฅผ ์ํด ์ ํ์ดํ๋ผ์ธ๊ณผ ์ด์ ํ์ดํ๋ผ์ธ ๊ฐ์ ์ ํ
์๋น์ค ๊ณ์ ์ ์ ์ ํ ์น์ธ์ด ์ ๊ณต๋๋ฉด ์ฌ์ฉ์๋ Apigee ์ธ์คํด์ค๋ฅผ ์ ํํ์ฌ ์ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. overrides.yaml
์์ ๋ค์ ํ๋๊ทธ๋ฅผ ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
... rest of the overrides.yaml ... gcp: projectID: PROJECT_ID region: ANALYTICS_REGION> # Specifies the analytics region for the hybrid org. This attribute is # the regional endpoint used to push analytics and debug data to the # control plane. For example: us-central1 newDataPipeline: debugSession: true # this flag enables debug session to use the new data pipeline analytics: true # this flag enables analytics to use the new data pipeline k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. For example, us-west1 org: ORG_NAME ... rest of the overrides.yaml ...
helm upgrade
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํฉ๋๋ค. ํ ๋ฒ์ ํ๊ฒฝ ํ๋๋ฅผ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. --set env=
ENV_NAME์ผ๋ก ํ๊ฒฝ์ ์ง์ ํฉ๋๋ค.
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
- ENV_RELEASE_NAME์ ์ด์ ์
apigee-env
์ฐจํธ๋ฅผ ์ค์นํ ์ด๋ฆ์ ๋๋ค. - ENV_NAME์ ์ ๊ทธ๋ ์ด๋ํ๋ ํ๊ฒฝ์ ์ด๋ฆ์ ๋๋ค.