Apigee Hybrid ๋ฐํ์ ๊ตฌ์ฑ์์ ์ค์น
์ด ๋จ๊ณ์์๋ Helm์ ์ฌ์ฉํ์ฌ ๋ค์ Apigee Hybrid ๊ตฌ์ฑ์์๋ฅผ ์ค์นํฉ๋๋ค.
- Apigee ์ด์์
- Apigee ๋ฐ์ดํฐ ์คํ ์ด
- Apigee ์๊ฒฉ ๋ถ์
- Apigee Redis
- Apigee ์ธ๊ทธ๋ ์ค ๊ด๋ฆฌ์
- Apigee ์กฐ์ง
- Apigee ํ๊ฒฝ
๊ฐ ํ๊ฒฝ์ ๋ํ ์ฐจํธ๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ์ค์นํฉ๋๋ค. ๊ตฌ์ฑ์์๋ฅผ ์ค์นํ๋ ์์๊ฐ ์ค์ํฉ๋๋ค.
์ค์น ์ ์ฐธ๊ณ ์ฌํญ
- Helm v3.14.2 ์ด์์ ์์ง ์ค์นํ์ง ์์์ผ๋ฉด Helm ์ค์น์ ์๋ด๋ฅผ ๋ฐ๋ฆ ๋๋ค.
-
Apigee Hybrid๋ ์ฐจํธ๋ฅผ ์ค์นํ๊ฑฐ๋ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ Helm ๊ฐ๋๋ ์ผ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ํ์ธํฉ๋๋ค. ์ด ์น์ ์ ๊ฐ ๋ช ๋ น์ด ์ถ๋ ฅ์์ ๊ฐ๋๋ ์ผ ๊ด๋ จ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# Source: apigee-operator/templates/apigee-operators-guardrails.yaml apiVersion: v1 kind: Pod metadata: name: apigee-hybrid-helm-guardrail-operator namespace: APIGEE_NAMESPACE annotations: helm.sh/hook: pre-install,pre-upgrade helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded labels: app: apigee-hybrid-helm-guardrail
helm upgrade
๋ช ๋ น์ด๊ฐ ์คํจํ๋ฉด ๊ฐ๋๋ ์ผ ์ถ๋ ฅ์ ์ฌ์ฉํด์ ์์ธ์ ์ง๋จํ ์ ์์ต๋๋ค. ๊ฐ๋๋ ์ผ๋ก ๋ฌธ์ ์ง๋จ์ ์ฐธ์กฐํ์ธ์. - Helm ์
๊ทธ๋ ์ด๋/์ค์น ๋ช
๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ ์ ๋ช
๋ น์ด ๋์
--dry-run=server
๋ฅผ ์ถ๊ฐํ์ฌ Helm ํ ์คํธ ์คํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ธ์. ์ง์๋๋ ๋ช ๋ น์ด, ์ต์ , ์ฌ์ฉ์ ๋์ดํ๋ ค๋ฉดhelm install --h
๋ฅผ ํ์ธํ์ธ์.
์ค์น ๋จ๊ณ
- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋
APIGEE_HELM_CHARTS_HOME
๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค. ํด๋น ๋๋ ํฐ๋ฆฌ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. - Apigee Operator/Controller๋ฅผ ์ค์นํฉ๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
Apigee ์ด์์ ์ค์น๋ฅผ ํ์ธํฉ๋๋ค.
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2023-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.0 1.15.0
๊ฐ์ฉ์ฑ์ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
-
Apigee ๋ฐ์ดํฐ ์คํ ์ด๋ฅผ ์ค์นํฉ๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
๋ค์ ๋จ๊ณ๋ก ์งํํ๊ธฐ ์ ์ ์ํ๋ฅผ ํ์ธํ์ฌ
apigeedatastore
๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 2d
-
Apigee ์๊ฒฉ ๋ถ์์ ์ค์นํฉ๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
์ํ๋ฅผ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
-
Apigee Redis๋ฅผ ์ค์นํฉ๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
์ํ๋ฅผ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 2d
-
Apigee ์ธ๊ทธ๋ ์ค ๊ด๋ฆฌ์๋ฅผ ์ค์นํฉ๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
๊ฐ์ฉ์ฑ์ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
-
Apigee ์กฐ์ง์ ์ค์นํฉ๋๋ค. ์ ธ์์ $ORG_NAME ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๋ค์ ๋ช ๋ น์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
ํด๋น ์กฐ์ง์ ์ํ๋ฅผ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
-
ํ๊ฒฝ์ ์ค์นํฉ๋๋ค.
ํ ๋ฒ์ ํ๊ฒฝ ํ๋๋ง ์ค์นํด์ผ ํฉ๋๋ค.
--set env=
ENV_NAME์ผ๋ก ํ๊ฒฝ์ ์ง์ ํฉ๋๋ค. ์ ธ์์ $ENV_NAME ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๋ค์ ๋ช ๋ น์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME์
apigee-env
์ฐจํธ ์ค์น ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ์ค์น ๋ด ๋ค๋ฅธ Helm ์ถ์ ์ด๋ฆ๊ณผ ๋ค๋ฅด๊ฒ ๊ณ ์ ํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋กENV_NAME
๊ณผ ๋์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๊ฒฝ ์ด๋ฆ์ด ํ๊ฒฝ ๊ทธ๋ฃน ์ด๋ฆ๊ณผ ๊ฐ์ผ๋ฉด ํ๊ฒฝ๊ณผ ํ๊ฒฝ ๊ทธ๋ฃน์ ์๋ก ๋ค๋ฅธ ์ถ์ ์ด๋ฆ(์:dev-env-release
๋ฐdev-envgroup-release
)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Helm์ ์ถ์์ ๊ดํ ์์ธํ ๋ด์ฉ์ Helm ๋ฌธ์์ ์ฃผ์ ๊ฐ๋ 3๊ฐ์ง๋ฅผ ์ฐธ์กฐํ์ธ์.์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
ํด๋น ํ๊ฒฝ์ ์ํ๋ฅผ ํ์ธํ์ฌ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
-
ํ๊ฒฝ ๊ทธ๋ฃน(
virtualhosts
)์ ์ค์นํฉ๋๋ค.- ํ ๋ฒ์ ํ๊ฒฝ ๊ทธ๋ฃน(virtualhost) ํ๋๋ง ์ค์นํด์ผ ํฉ๋๋ค.
--set envgroup=
ENV_GROUP์ผ๋ก ํ๊ฒฝ ๊ทธ๋ฃน์ ์ง์ ํฉ๋๋ค. ์ ธ์์ $ENV_GROUP ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๋ค์ ๋ช ๋ น์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.overrides.yaml
ํ์ผ์ ์ธ๊ธ๋ ํ๊ฒฝ ๊ทธ๋ฃน๋ง๋ค ๋ค์ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.ํ ์คํธ ์คํ์ ์ํํฉ๋๋ค.
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME์
apigee-virtualhosts
์ฐจํธ ์ค์น ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ์ค์น ๋ด ๋ค๋ฅธ Helm ์ถ์ ์ด๋ฆ๊ณผ ๋ค๋ฅด๊ฒ ๊ณ ์ ํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋กENV_GROUP
๊ณผ ๋์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๊ฒฝ ๊ทธ๋ฃน ์ด๋ฆ์ด ์ค์น์ ํ๊ฒฝ ์ด๋ฆ๊ณผ ๊ฐ์ผ๋ฉด ํ๊ฒฝ ๊ทธ๋ฃน๊ณผ ํ๊ฒฝ์ ์๋ก ๋ค๋ฅธ ์ถ์ ์ด๋ฆ(์:dev-envgroup-release
๋ฐdev-env-release
)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Helm์ ์ถ์ ๋ฒ์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ Helm ๋ฌธ์์ ์ธ ๊ฐ์ง ์ฃผ์ ๊ฐ๋ ์ ์ฐธ์กฐํ์ธ์.์ฐจํธ๋ฅผ ์ค์นํฉ๋๋ค.
helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- ApigeeRoute(AR) ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
virtualhosts
๋ฅผ ์ค์นํ๋ฉด Apigee ๊ฐ์์๊ฐ ์ปจํธ๋กค ํ๋ ์ธ์์ ํ๊ฒฝ ๊ทธ๋ฃน ๊ด๋ จ ์ธ๋ถ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ ํ ๋ด๋ถ์ ์ผ๋ก ApigeeRoute(AR)๋ฅผ ๋ง๋๋ ApigeeRouteConfig(ARC)๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํด๋น AR์ ์ํ๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- ํ ๋ฒ์ ํ๊ฒฝ ๊ทธ๋ฃน(virtualhost) ํ๋๋ง ์ค์นํด์ผ ํฉ๋๋ค.
๋ค์ ๋จ๊ณ
์ํฌ๋ก๋ ์์ด๋ดํฐํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น
GKE์ Apigee Hybrid๋ฅผ ์ค์นํ๊ณ ์๋น์ค ๊ณ์ ์ ์ธ์ฆํ๋๋ก ์ํฌ๋ก๋ ์์ด๋ดํฐํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ์์ ํด๋ฌ์คํฐ์ Kubernetes ์๋น์ค ๊ณ์ ๊ณผ Google ์๋น์ค ๊ณ์ ๊ฐ์ ์ฐ๊ฒฐ์ ๊ตฌ์ฑํฉ๋๋ค.
1 2 3 4 5 6 7 8 9 10 (๋ค์) 11๋จ๊ณ: ์ํฌ๋ก๋ ์์ด๋ดํฐํฐ ์ค์ ๊ธฐํ ๋ชจ๋ ์ค์น
๋ค์ ๋จ๊ณ์์๋ Apigee ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๊ณ ํ๋ก์๋ฅผ ๋ฐฐํฌํ์ฌ ์ค์น๋ฅผ ํ ์คํธํฉ๋๋ค.
(๋ค์) 1๋จ๊ณ: Apigee ์ธ๊ทธ๋ ์ค ๋ ธ์ถ 2