์ด ์ ์ฐจ์์๋ Apigee Hybrid ๋ฒ์ 1.8.x์์ Apigee Hybrid ๋ฒ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ ์ด์ ์ถ์ ๋ฒ์ ์ธ Hybrid 1.9.x์์ ๋ฒ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ์์ ์ ๋ค๋ฃน๋๋ค.
๋ถ ๋ฒ์ ์ ๊ทธ๋ ์ด๋(์: ๋ฒ์ 1.8์์ 1.9๋ก)์ ํจ์น ์ถ์ ๋ฒ์ ์ ๊ทธ๋ ์ด๋(์: 1.9.0์์ 1.9.4๋ก)์ ๋์ผํ ์ ์ฐจ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Apigee Hybrid ๋ฒ์ 1.7 ์ดํ์์ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ๋จผ์ Hybrid ๋ฒ์ 1.8๋ก ์ ๊ทธ๋ ์ด๋ํ ํ์ ๋ฒ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. Apigee Hybrid๋ฅผ ๋ฒ์ 1.8๋ก ์ ๊ทธ๋ ์ด๋์ ์๋ด๋ฅผ ์ฐธ์กฐํ์ธ์.
Apigee Hybrid๋ ๋ฒ์ 1.9.0๋ถํฐ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ง ์ธ๊ทธ๋ ์ค ๋ ์ด์ด๋ก ์ง์ํฉ๋๋ค.
๋ฒ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ ๊ฐ์
Apigee Hybrid ์ ๊ทธ๋ ์ด๋ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ ์น์ ์ผ๋ก ์ ๋ฆฌ๋ฉ๋๋ค.
๊ธฐ๋ณธ ์๊ฑด
- ์ด ์ ๊ทธ๋ ์ด๋ ์๋ด์์๋ Apigee Hybrid ๋ฒ์ 1.8.x๊ฐ ์ค์น๋์ด ์๊ณ ๋ฒ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด์ ๋ฒ์ ์์ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ Apigee Hybrid๋ฅผ ๋ฒ์ 1.8๋ก ์ ๊ทธ๋ ์ด๋ ์๋ด๋ฅผ ์ฐธ์กฐํ์ธ์.
- Apigee Hybrid ๋ฒ์ 1.8์์๋ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ Anthos Service Mesh์ ๋์ฒด ์ธ๊ทธ๋ ์ค ๋ ์ด์ด๋ก ๋์
ํ์ต๋๋ค. Apigee Hybrid๋ ๋ฒ์ 1.9.0๋ถํฐ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ ๋ ์ด์ ์ธ๊ทธ๋ ์ค์ Anthos Service Mesh ์ฌ์ฉ์ ์ง์ํ์ง ์์ต๋๋ค. ์
๊ทธ๋ ์ด๋ํ๋ ์ค์น์์ Anthos Service Mesh๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋จผ์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ ํ์ ๋ฒ์ 1.9.4๋ก ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ Anthos Service Mesh ๊ธฐ๋ฅ ์ค ์ผ๋ถ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ด๋ฆฌ์ ์ ๊ทธ๋ ์ด๋๋ Apigee Hybrid์์ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๋ฐ๋ผ์ Apigee Hybrid ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ์ค์น, ์ ๊ทธ๋ ์ด๋, ๊ด๋ฆฌํ๋ ๋ฐ Anthos Service Mesh์ ๋ํ ์ ๋ฌธ ์ง์์ด ํ์ํ์ง ์์ต๋๋ค.
์์ธํ ์๋ด๋ ํ์ด๋ธ๋ฆฌ๋ v1.8 ๋ฌธ์์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฐธ์กฐํ์ธ์.
๋ฒ์ 1.9๋ก ์ ๊ทธ๋ ์ด๋ ์ค๋น
ํ์ด๋ธ๋ฆฌ๋ ์ค์น ๋ฐฑ์ (๊ถ์ฅ)
- ์ด ์๋ด์์๋
apigeectl
์ ์ค์นํ ํ์ผ ์์คํ ์์ ๋๋ ํฐ๋ฆฌ์ ํ๊ฒฝ ๋ณ์ APIGEECTL_HOME์ ์ฌ์ฉํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ฅผapigeectl
๋๋ ํฐ๋ฆฌ๋ก ๋ณ๊ฒฝํ๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค.Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
MacOS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- ๋ฒ์ 1.8
$APIGEECTL_HOME/
๋๋ ํฐ๋ฆฌ์ ๋ฐฑ์ ์ฌ๋ณธ์ ๋ง๋ญ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.tar -czvf $APIGEECTL_HOME/../apigeectl-v1.8-backup.tar.gz $APIGEECTL_HOME
- Cassandra ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ์ ์๋ด์ ๋ฐ๋ผ Cassandra ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์ ํฉ๋๋ค.
Apigee ๋ฐํ์์ ์๋น์ค ๊ณ์ ์ Cloud Trace ์์ด์ ํธ ์ญํ ์ ์ถ๊ฐ (์ ํ์ฌํญ)
์ ํ์ฌํญ: Cloud Trace๋ฅผ ์ฌ์ฉํ ๊ณํ์ด๊ณ Hybrid v1.8 ์ค์น์ Cloud Trace Agent
์ญํ ์ ์์ง ์ถ๊ฐํ์ง ์์ ๊ฒฝ์ฐ Apigee ๋ฐํ์ ์๋น์ค์ ์๋น์ค ๊ณ์ ์ Cloud Trace ์์ด์ ํธ Google Cloud IAM ์ญํ (roles/cloudtrace.agent
)์ด ์๋์ง ํ์ธํ์ธ์.
ํ๋ก๋์
ํ๊ฒฝ์์ ๋ฐํ์ ์๋น์ค ๊ณ์ ์ apigee-runtime
์
๋๋ค. ๋นํ๋ก๋์
ํ๊ฒฝ์ ๊ฒฝ์ฐ ๋ฐํ์ ์๋น์ค ๊ณ์ ์ apigee-non-prod
์
๋๋ค.
Cloud ์ฝ์ > IAM ๋ฐ ๊ด๋ฆฌ์ > ์๋น์ค ๊ณ์ UI์์ ๋๋ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
ํ๋ก๋์
gcloud iam service-accounts list --filter "apigee-runtime"
์ด๋ฉ์ผ ์ฃผ์๊ฐ
apigee-runtime@$ORG_NAME.iam.gserviceaccount.com
ํจํด๊ณผ ์ผ์นํ๋ฉด ๋ค์ ๋จ๊ณ์์ ์ด ํจํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋นํ๋ก๋์
gcloud iam service-accounts list --filter "apigee-non-prod"
apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com
ํจํด๊ณผ ์ผ์นํ๋ฉด ๋ค์ ๋จ๊ณ์์ ์ด ํจํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์๋น์ค ๊ณ์ ์ Cloud Trace ์์ด์ ํธ ์ญํ ์ ํ ๋นํฉ๋๋ค.
ํ๋ก๋์
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
๋นํ๋ก๋์
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
์
gcloud projects add-iam-policy-binding hybrid-example-project \ --member="serviceAccount:apigee-runtime@hybrid-example-project.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
์ฌ๊ธฐ์ $PROJECT_ID๋ Apigee Hybrid๊ฐ ์ค์น๋ Google Cloud ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค.
์ค์น์์ Anthos Service Mesh๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด ์ค์น
Apigee Hybrid๋ ๋ฒ์ 1.9๋ถํฐ ์ธ๊ทธ๋ ์ค์ Anthos Service Mesh ์ฌ์ฉ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. Hybrid ์ค์น์์ Anthos Service Mesh๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Hybrid ๋ฒ์ 1.9๋ฅผ ์ค์นํ๊ธฐ ์ ์ ํ์ฌ ์ค์น๋ฅผ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ก ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํฉ๋๋ค.
-
ingressGateways
์์ฑ์ ์ฌ์ ์ ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.๊ตฌ๋ฌธ
ingressGateways: - name: INGRESS_NAME replicaCountMin: REPLICAS_MIN replicaCountMax: REPLICAS_MAX resources: requests: cpu: CPU_COUNT_REQ memory: MEMORY_REQ limits: cpu: CPU_COUNT_LIMIT memory: MEMORY_LIMIT svcAnnotations: # optional. SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional
์
ingressGateways: - name: prod1 replicaCountMin: 2 replicaCountMax: 100 resources: requests: cpu: 1 memory: 1Gi limits: cpu: 2 memory: 2Gi svcAnnotations: # optional. See Known issue 243599452. networking.gke.io/load-balancer-type: "Internal" svcLoadBalancerIP: 198.252.0.123
- INGRESS_NAME์ ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด ๋ฐฐํฌ์ ์ด๋ฆ์
๋๋ค. ๋ค์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ์ด๋ฆ์ด๋ฉด ๋ฉ๋๋ค.
- ์ต๋ ๊ธธ์ด๋ 17์(์๋ฌธ ๊ธฐ์ค)์ ๋๋ค.
- ์๋ฌธ์ ์์ซ์ ๋ฌธ์, '-' ๋๋ '.'๋ง ํฌํจํด์ผ ํฉ๋๋ค.
- ์์ซ์ ๋ฌธ์๋ก ์์ํด์ผ ํฉ๋๋ค.
- ์์ซ์ ๋ฌธ์๋ก ๋๋์ผ ํฉ๋๋ค.
ingressGateways[].name
์ ์ฐธ์กฐํ์ธ์. - REPLICAS_MIN ๋ฐ REPLICAS_MAX: ์ค์น์์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ ์ต์ ๋ฐ ์ต๋ ๋ณต์ ๋ณธ ์์
๋๋ค. ์์ธํ ๋ด์ฉ๊ณผ ๊ธฐ๋ณธ ์ค์ ์ ๊ตฌ์ฑ ์์ฑ ์ฐธ์กฐ์
ingressGateways[].replicaCountMin
๋ฐingressGateways[].replicaCountMax
๋ฅผ ์ฐธ์กฐํ์ธ์. - CPU_COUNT_REQ ๋ฐ MEMORY_REQ: ์ค์น์์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ ๊ฐ ๋ณต์ ๋ณธ์ ๋ํ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ฒญ์
๋๋ค.
์์ธํ ๋ด์ฉ๊ณผ ๊ธฐ๋ณธ ์ค์ ์ ๊ตฌ์ฑ ์์ฑ ์ฐธ์กฐ์
ingressGateways[].resources.requests.cpu
๋ฐingressGateways[].resources.requests.memory
๋ฅผ ์ฐธ์กฐํ์ธ์. - CPU_COUNT_LIMIT ๋ฐ MEMORY_LIMIT: ์ค์น์์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ ๊ฐ ๋ณต์ ๋ณธ์ ๋ํ ์ต๋ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ๋์
๋๋ค
์์ธํ ๋ด์ฉ๊ณผ ๊ธฐ๋ณธ ์ค์ ์ ๊ตฌ์ฑ ์์ฑ ์ฐธ์กฐ์
ingressGateways[].resources.limits.cpu
๋ฐingressGateways[].resources.limits.memory
๋ฅผ ์ฐธ์กฐํ์ธ์. - SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(์ ํ์ฌํญ):
๊ธฐ๋ณธ ์ธ๊ทธ๋ ์ค ์๋น์ค์ ์ฃผ์์ ์ ๊ณตํ๋ ํค-๊ฐ ์์ ๋๋ค. ์ฃผ์์ ๋ถํ ๋ถ์ฐ๊ธฐ ์ ํ์ ๋ด๋ถ ๋๋ ์ธ๋ถ๋ก ์ค์ ํ๋ ๋ฑ, ํด๋ผ์ฐ๋ ํ๋ซํผ์์ ํ์ด๋ธ๋ฆฌ๋ ์ค์น๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ingressGateways: svcAnnotations: networking.gke.io/load-balancer-type: "Internal"
์ฃผ์์ ํ๋ซํผ๋ง๋ค ๋ค๋ฆ ๋๋ค. ํ์ ๋ฐ ์ถ์ฒ ์ฃผ์์ ํ๋ซํผ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ตฌ์ฑ ์์ฑ ์ฐธ์กฐ์ingressGateways[].svcAnnotations
๋ฅผ ์ฐธ์กฐํ์ธ์. - SVC_LOAD_BALANCER_IP (์ ํ์ฌํญ) ๋ถํ ๋ถ์ฐ๊ธฐ์ ๊ณ ์ IP ์ฃผ์๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค. ๋ถํ ๋ถ์ฐ๊ธฐ IP ์ฃผ์ ์ง์ ์ ์ง์ํ๋ ํ๋ซํผ์์ ์ด IP ์ฃผ์๋ก ๋ถํ ๋ถ์ฐ๊ธฐ๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ถํ ๋ถ์ฐ๊ธฐ IP ์ฃผ์๋ฅผ ์ง์ ํ ์ ์๋ ํ๋ซํผ์์ ์ด ์์ฑ์ ๋ฌด์๋ฉ๋๋ค.
๋ถํ ๋ถ์ฐ๊ธฐ์ ํ ๋น๋ ๊ณ ์ IP ์ฃผ์๊ฐ ์์ผ๋ฉด ์ด ์์ฑ์ ์ฌ์ ์ ํ์ผ์์ ์ ์ธํ์ธ์.
๊ตฌ์ฑ ์์ฑ ์ฐธ์กฐ์ingressGateways[].svcLoadBalancerIP
๋ฅผ ์ฐธ์กฐํ์ธ์.
- INGRESS_NAME์ ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด ๋ฐฐํฌ์ ์ด๋ฆ์
๋๋ค. ๋ค์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ์ด๋ฆ์ด๋ฉด ๋ฉ๋๋ค.
- ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ์ฌ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ์ค์นํฉ๋๋ค.
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ๋ ธ์ถํฉ๋๋ค. Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด ๋ ธ์ถ์ ์ ์ฐจ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- ํ๋ก์๋ฅผ ํธ์ถํ์ฌ ์ ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ํ ์คํธํฉ๋๋ค. ํ์ฌ ๋ฐฐํฌ๋ ๋ชจ๋ ์ค์ ํ๋ก์๋ฅผ ํ ์คํธํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
- ํธ๋ํฝ์ ์ ํํ๋ ค๋ฉด ์ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ IP ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋๋ก DNS ๋ ์ฝ๋๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
DNS ์ ๊ณต์
์ฒด์ ๋ฐ๋ผ ํธ๋ํฝ์ ์ ์๋ํฌ์ธํธ๋ก ์ ์ง์ ์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
ํ: ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด์ ์ธ๋ถ IP ์ฃผ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. kubectl get svc -n apigee -l app=apigee-ingressgateway
๋ค์๊ณผ ๋น์ทํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apigee-ingressgateway-prod-hybrid-37a39bd LoadBalancer 192.0.2.123 233.252.0.123 15021:32049/TCP,80:31624/TCP,443:30723/TCP 16h
- ๋์๋ณด๋๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๋ชจ๋ ๋ฐํ์ ํธ๋ํฝ์ด ์๋ํ๋์ง ํ์ธํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์๋๋ก ์๋ํ๋ ๊ฒฝ์ฐ์๋ง ๋ค์ ๋จ๊ณ๋ก ์งํํฉ๋๋ค. ์ด์ ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด(Anthos Service Mesh)๋ฅผ ํต๊ณผํ๋ ํธ๋ํฝ์ด ์๋์ง ํ์ธํฉ๋๋ค. DNS ์บ์ฑ์ผ๋ก ์ธํด DNS ์ ๋ฐ์ดํธ ์ ํ ์๋๊ฐ ๋๋ฆด ์ ์์ต๋๋ค.
- Apigee๊ฐ Anthos Service Mesh์ ๊ตฌ์ฑ์ ์ ๊ณตํ์ง ์๋๋ก ํ๋ ค๋ฉด Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด ๊ด๋ฆฌ ๊ฐ์ด๋์์ ASM์ ๊ตฌ์ฑ ์ ๊ณต ์ค์ง์ ์๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- API ํ๋ก์ ํธ๋ํฝ์ ๋ค์ ํ ์คํธํ๊ณ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
- Anthos Service Mesh ๋ฌธ์์ ์๋ด์ ๋ฐ๋ผ ํด๋ฌ์คํฐ์์ Anthos Service Mesh๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
Hybrid 1.9.4 ๋ฐํ์ ์ค์น
- ํ์ด๋ธ๋ฆฌ๋ ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ(
apigeectl
์คํ ํ์ผ์ด ์๋ ๋๋ ํฐ๋ฆฌ์ ์์ ๋๋ ํฐ๋ฆฌ)์ ์๋์ง ํ์ธํฉ๋๋ค.cd $APIGEECTL_HOME/..
-
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด์์ฒด์ ์ฉ ์ถ์ ๋ฒ์ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค. ๋ค์ ํ ์ด๋ธ์์ ํ๋ซํผ์ ์ ํํด์ผ ํฉ๋๋ค.
Linux
Linux 64๋นํธ:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_linux_64.tar.gz
MacOS
Mac 64๋นํธ:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_mac_64.tar.gz
Windows
Windows 64 ๋นํธ:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_windows_64.zip
- ํ์ฌ
apigeectl/
๋๋ ํฐ๋ฆฌ์ ์ด๋ฆ์ ๋ฐฑ์ ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/
MacOS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.8
-
๋ค์ด๋ก๋ํ gzip ํ์ผ ์ฝํ ์ธ ๋ฅผ Hybrid ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ์ ์ถ์ถํฉ๋๋ค. Hybrid ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ๋ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋
apigeectl-v1.8
๋๋ ํฐ๋ฆฌ๊ฐ ์๋ ๋๋ ํฐ๋ฆฌ์ ๋๋ค.Linux
tar xvzf filename.tar.gz -C ./
MacOS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
tar ์ฝํ ์ธ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฆ์ ํด๋น ๋ฒ์ ๊ณผ ํ๋ซํผ์ด ํฌํจ๋ ๋๋ ํฐ๋ฆฌ๋ก ํ์ฅ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด
./apigeectl_1.9.4-xxxxxxx_linux_64
์ ๋๋ค. ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์apigeectl
๋ก ๋ณ๊ฒฝํฉ๋๋ค.Linux
mv apigeectl_1.9.4-xxxxxxx_linux_64 apigeectl
MacOS
mv apigeectl_1.9.4-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.9.4-xxxxxxx_windows_64 apigeectl
-
apigeectl
๋๋ ํฐ๋ฆฌ๋ก ๋ณ๊ฒฝํฉ๋๋ค.cd ./apigeectl
์ด ๋๋ ํฐ๋ฆฌ๋
apigeectl
ํ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ์ฌ๊ธฐ์apigeectl
์คํ ๊ฐ๋ฅํ ๋ช ๋ น์ด๊ฐ ์์ต๋๋ค. - ์ด ์๋ด์์๋
apigeectl
์ ํธ๋ฆฌํฐ๊ฐ ์ค์น๋ ํ์ผ ์์คํ ์ ๋๋ ํฐ๋ฆฌ์ ํ๊ฒฝ ๋ณ์$APIGEECTL_HOME
์ ์ฌ์ฉํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ฅผapigeectl
๋๋ ํฐ๋ฆฌ๋ก ๋ณ๊ฒฝํ๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค.Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
MacOS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
version
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌapigeectl
์ ๋ฒ์ ์ ํ์ธํฉ๋๋ค../apigeectl version
Version: 1.9.4
hybrid-base-directory/hybrid-files
๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.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
-
๋ค์ ๊ธฐํธํ๋ ๋งํฌ๋ฅผ
- ํ
์คํธ ์คํ ์ด๊ธฐํ๋ฅผ ์ํํ์ฌ ์ค๋ฅ๋ฅผ ํ์ธํฉ๋๋ค.
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
์ฌ๊ธฐ์ OVERRIDES_FILE์ ์ฌ์ ์ ํ์ผ ์ด๋ฆ์ ๋๋ค(์:
./overrides/overrides.yaml
). - ์ค๋ฅ๊ฐ ์์ผ๋ฉด Hybrid 1.9.4๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
$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 --env ENV_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
- ํ์ฌ ์์น๊ฐ
1.9.4-hotfix.1
์ค์น
ํซํฝ์ค ์ถ์ ๋ฒ์ 1.9.4-hotfix.1
์ ์ค์นํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ๊ธฐ ์ ์ Apigee Hybrid ๋ฒ์ 1.9.4 ์ด์์ ์ค์นํด์ผ ํฉ๋๋ค. 1.9.4 ์ด์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์งํํ๊ธฐ ์ ์ 1.9.4๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
overrides.yaml
ํ์ผ์ ์ฝ๋๋ค.istiod
์คํ ์์์ ์ด๋ฏธ์ง ํ๊ทธ ๋ฒ์ (์๋ ๊ฒฝ์ฐ)์ ๋ฒ์ 1.17.7
๋ก ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.istiod: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod" tag: "1.17.7-asm.0-distroless"
- Apigee Hybrid ์ค์น ๋ฐฉ๋ฒ์ ๋ฐ๋ผ
ingressGateway
๋๋ingressGateways
์คํ ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ ์ ํ์ผ์ ํ์๋๋ ์คํ ์๋ฅผ ์ฐพ์ ์ด๋ฏธ์ง ํ๊ทธ ๋ฒ์ (์๋ ๊ฒฝ์ฐ)์1.17.7
๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฅผ ๋ค์ดingressGateway
์คํ ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.ingressGateway: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless"
๋๋
ingressGateways
์คํ ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.ingressGateways: - name: gateway1 image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless" ... - name: gateway2 image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless" ...
- ํ์ผ์ ์ ์ฅํฉ๋๋ค.
- ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ
istiod
๊ตฌ์ฑ์์๋ฅผ ์ด๊ธฐํํฉ๋๋ค.$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ Apigee ์ธ๊ทธ๋ ์ค ๊ตฌ์ฑ์์์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํฉ๋๋ค. ์กฐ์ง์ด ๋ ์ด์์ธ ๊ฒฝ์ฐ ๊ฐ ์กฐ์ง์ ๋ํด ์ด ๋ช
๋ น์ด๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
$APIGEECTL_HOME/apigeectl apply --org -f OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- ํฌ๋ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
kubectl get pods -n YOUR_APIGEE_NAMESPACE
Kubernetes ๋ฒ์ ์ ๊ทธ๋ ์ด๋
Kubernetes ํ๋ซํผ์ Hybrid 1.9์์ ์ง์๋๋ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค. ๋์์ด ํ์ํ๋ฉด ํ๋ซํผ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋ ๋กค๋ฐฑ
์ด์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋กค๋ฐฑํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- ํ์ด๋ธ๋ฆฌ๋ ๋ฐํ์ ๋ค์์คํ์ด์ค์ ์๋ฃ๋ ์์
์ ์ญ์ ํฉ๋๋ค. ์ฌ๊ธฐ์ NAMESPACE๋ ์ฌ์ ์ ํ์ผ์ ์ง์ ๋ ๋ค์์คํ์ด์ค(๋ค์์คํ์ด์ค๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ)์
๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ค์์คํ์ด์ค๋
apigee
์ ๋๋ค.kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -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 -f ORIGINAL_OVERRIDES_FILE์ฌ๊ธฐ์ ORIGINAL_OVERRIDES_FILE์ ์ด์ ๋ฒ์ Hybrid ์ค์น์ ๋ํ ์ฌ์ ์ ํ์ผ์ ์๋ ๊ฒฝ๋ก ๋ฐ ํ์ผ ์ด๋ฆ์ ๋๋ค(์:
./overrides/overrides1.8.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 -f ORIGINAL_OVERRIDES_FILE
- Hybrid ํ์ผ ๋๋ ํฐ๋ฆฌ์์