์ด ํ์ด์ง์ Kubernetes ๊ด๋ จ ์๋ด์์๋ Kubernetes ์ด์์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ง์์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
AlloyDB Omni ์คํ
AlloyDB Omni๋ฅผ ์คํํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ ์ฐจ๋ ๋จ์ผ ์๋ฒ์ ์ปจํ ์ด๋์์ AlloyDB Omni๋ฅผ ์คํํ๋์ง ์๋๋ฉด Kubernetes ํด๋ฌ์คํฐ์์ ์คํํ๋์ง์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ด ์น์ ์์๋ ์ด๋ฌํ ๋ฐฐํฌ ์คํ์ผ์ ๋ฐ๋ผ ์๋ด๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
AlloyDB Omni ์์
๋จ์ผ ์๋ฒ
์ค์ง๋ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์์ํ๋ ค๋ฉด docker container start
๋ช
๋ น์ด ๋๋ podman container start
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Docker
docker container start CONTAINER_NAME
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Podman
podman container start CONTAINER_NAME
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Kubernetes
๋งค๋ํ์คํธ ์ ์์์ isStopped
๋ฅผ false
๋ก ์ค์ ํ์ฌ ์ค์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ์์ํฉ๋๋ค.
๋ช
๋ น์ค์์ kubectl
๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์
์ ์คํํ ์ ์์ต๋๋ค.
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME \
-p '{"spec":{"primarySpec":{"isStopped":false}}}' --type=merge -n DB_CLUSTER_NAMESPACE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DB_CLUSTER_NAME
: ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ด๋ฆ์ ๋๋ค(์:my-db-cluster
).DB_CLUSTER_NAMESPACE
(์ ํ์ฌํญ): ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๋ค์์คํ์ด์ค์ ๋๋ค(์:my-db-cluster-namespace
).
AlloyDB Omni ์ํ ํ์ธ
๋จ์ผ ์๋ฒ
์คํ ์ค์ธ ๋ชจ๋ ์ปจํ
์ด๋์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด docker container ls
๋ช
๋ น์ด ๋๋ podman container ls
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Docker
docker container ls
Podman
podman container ls
AlloyDB Omni ์ปจํ
์ด๋๊ฐ ์คํ ์ค์ด๋ฉด ์ด๋ฆ์ด ์ถ๋ ฅ ํ
์ด๋ธ์ NAMES
์ด์ ํ์๋ฉ๋๋ค. ํด๋น ํ์๋ ์ปจํ
์ด๋์ ์ํ๊ฐ ์์ฝ๋์ด ์์ต๋๋ค.
์ปจํ
์ด๋ ์ด๋ฆ์ด NAMES
์ด์ ํ์๋์ง ์์ผ๋ฉด AlloyDB Omni๊ฐ ์คํ๋๊ณ ์์ง ์์ ๊ฒ์
๋๋ค.
Kubernetes
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n DB_CLUSTER_NAMESPACE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DB_CLUSTER_NAME
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ด๋ฆ์ ๋๋ค.DB_CLUSTER_NAMESPACE
(์ ํ์ฌํญ): ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๋ค์์คํ์ด์ค์ ๋๋ค.
AlloyDB Omni ์ค์ง
๋จ์ผ ์๋ฒ
AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์งํ๋ ค๋ฉด docker container stop
๋ช
๋ น์ด ๋๋ podman container stop
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Docker
docker container stop CONTAINER_NAME
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Podman
podman container stop CONTAINER_NAME
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Kubernetes
๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ์ค์งํ๋ ค๋ฉด ๋งค๋ํ์คํธ ์ ์์์ isStopped
๋ฅผ true
๋ก ์ค์ ํฉ๋๋ค.
๋ช
๋ น์ค์์ kubectl
๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์
์ ์คํํ ์ ์์ต๋๋ค.
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"primarySpec":{"isStopped":true}}}' --type=merge -n DB_CLUSTER_NAMESPACE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DB_CLUSTER_NAME
: ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ด๋ฆ์ ๋๋ค(์:my-db-cluster
).DB_CLUSTER_NAMESPACE
(์ ํ์ฌํญ): ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๋ค์์คํ์ด์ค์ ๋๋ค(์:my-db-cluster-namespace
).
๋จ์ผ ์๋ฒ์์ ์คํ๋๋ AlloyDB Omni์ ์ฐ๊ฒฐ
AlloyDB Omni ์ปจํ
์ด๋์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๋ก ๋ํํ SQL ์
ธ ์ธ์
์ ์ด ์ ์๋ ์์ฒด psql
์ฌ๋ณธ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ํ๋ PostgreSQL ํธํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋ ์ธ๋ถ์์ AlloyDB Omni์ ์ฐ๊ฒฐํ ์๋ ์์ต๋๋ค.
Kubernetes ํด๋ฌ์คํฐ์์ ์คํ๋๋ AlloyDB Omni ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ์์ธํ ๋ด์ฉ์ Kubernetes์์ ์คํ๋๋ AlloyDB Omni์ ์ฐ๊ฒฐ์ ์ฐธ๊ณ ํ์ธ์.
์ปจํ
์ด๋ํ๋ psql
์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ
์์ฒด ์ปจํ
์ด๋ํ๋ psql
์ฌ๋ณธ์ ์ฌ์ฉํ์ฌ AlloyDB Omni ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Docker
docker exec -it CONTAINER_NAME psql -U postgres
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Podman
podman exec -it CONTAINER_NAME psql -U postgres
CONTAINER_NAME
์ AlloyDB Omni ์ปจํ
์ด๋๋ฅผ ์ค์นํ ๋ ํ ๋นํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์ด ๋ช
๋ น์ด๋ postgres
์ฌ์ฉ์ ์ญํ ๋ก ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ postgres=#
๋ช
๋ น ํ๋กฌํํธ๋ฅผ ํ์ํฉ๋๋ค. ์ด์ psql
๋ช
๋ น์ด์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
psql
๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด \q
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
์์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ
PostgreSQL๊ณผ ํธํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์์ด AlloyDB Omni์๋ ํธํ๋ฉ๋๋ค.
AlloyDB Omni ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด AlloyDB Omni๋ฅผ ์์ํ ๋ docker run
๋๋ podman run
๋ช
๋ น์ด์ --network=host
๋๋ -p 5432:5432
๋ฅผ ์ถ๊ฐํ์ฌ AlloyDB Omni Docker ์ปจํ
์ด๋์์ ํธ์คํธ ๋จธ์ ์ผ๋ก ๋คํธ์ํน์ ๋
ธ์ถํฉ๋๋ค.
์ปค์คํ
ํฌํธ ๋ฒํธ๋ฅผ ์ ํํ๋ ค๋ฉด AlloyDB Omni๋ฅผ ์์ํ ๋ -p [HOST_PORT]:5432
๋ฅผ ์ฌ์ฉํ์ธ์. ๊ทธ๋ฐ ๋ค์ PostgreSQL ํธํ ํด๋ผ์ด์ธํธ ๋๋ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํฌํธ 5432
๋๋ ์ง์ ํ ๋ง์ถค ํฌํธ ๋ฒํธ์ ์ฐ๊ฒฐํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ฐ๊ฒฐํ ํ ํ์ค PostgreSQL ํต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ DML ๋ฐ SQL ์ฟผ๋ฆฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์, ์ฟผ๋ฆฌ, ์์ ํ ์ ์์ต๋๋ค.
AlloyDB Omni๋ ์์ฒด ํ๊ฒฝ ๋ด์์ ์คํ๋๋ฏ๋ก AlloyDB Omni์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ผ๋ฐ PostgreSQL ์๋ฒ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์์ ๋ฐ๋ผ ์ด ์๋น์ค์ ๋ํ ๋คํธ์ํฌ ์ก์ธ์ค๋ฅผ ํ์ฉํ๊ฑฐ๋ ์ ํํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
Kubernetes์์ ์คํ๋๋ AlloyDB Omni์ ์ฐ๊ฒฐ
AlloyDB Omni Kubernetes ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ผํ Kubernetes ํด๋ฌ์คํฐ ๋ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐํ ์ ์์ผ๋ฉฐ, ์ ํ์ ์ผ๋ก ์ธ์ฆ์ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ ์ค์น๋ psql
์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์คํํ๋ ํฌ๋์ ์ด๋ฏธ ์ค์น๋ psql
ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ํ
์คํธ ์ฐ๊ฒฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.
export DBPOD=`kubectl get pod --selector=alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -n DB_CLUSTER_NAMESPACE -o jsonpath='{.items[0].metadata.name}'`
kubectl exec -ti $DBPOD -n DB_CLUSTER_NAMESPACE -c database -- psql -h localhost -U postgres
DB_CLUSTER_NAME
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ ์ธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ ์ด๋ฆ๊ณผ ๋์ผํฉ๋๋ค.
๊ธฐ๋ณธ ๋ค์์คํ์ด์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ DB_CLUSTER_NAMESPACE
์ค์ ์ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ base64๋ก ์ธ์ฝ๋ฉ๋ ๋ฒ์ ์ Kubernetes ๋ณด์ ๋น๋ฐ๋ก ์ ๊ณตํ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด Q2hhbmdlTWUxMjM=
๋ณด์ ๋น๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค์๋ค๋ฉด ์ฌ๊ธฐ์์ ์ฌ์ฉํ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ ChangeMe123
์
๋๋ค.
AlloyDB Omni ์ฐ์ฐ์๋ postgres
์ฌ์ฉ์ ์ญํ ๋ก ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ postgres=#
๋ช
๋ น ํ๋กฌํํธ๋ฅผ ํ์ํฉ๋๋ค. ์ด์ psql
๋ช
๋ น์ด์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
psql
๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด \q
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
๋์ผํ ํด๋ฌ์คํฐ์ ๋ณ๋ ํฌ๋์์ ์ฐ๊ฒฐ
AlloyDB Omni ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ์คํํ๋ ํฌ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ Kubernetes ํด๋ฌ์คํฐ ๋ด์์ ์ฐ๊ฒฐ์ ํ์ฉํฉ๋๋ค. TLS๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ๋ํ ๋ชจ๋ ์ฐ๊ฒฐ์ ๋ณดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์์ฒด ์๋ฒ TLS ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ ๋ ์ธ์ฆ์ ์ํฌ๋ฆฟ์ ์ง์ ํ์ธ์. ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด AlloyDB Omni Kubernetes ์ฐ์ฐ์๊ฐ ์์ฒด ์๋ช ์ธ์ฆ ๊ธฐ๊ด์์ ์๋ช ํ ์ธ์ฆ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก TLS ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ์ ๋ง๋ญ๋๋ค. ์ด๋ค ๊ฒฝ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ผ์ด์ธํธ ํฌ๋๊ฐ ๋ชจ๋ ์ฐ๊ฒฐ์์ ์ธ์ฆ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์๊ตฌํ๋๋ก ํ์ฌ TLS ๋ณด์์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
TLS๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์์ ์ ์คํํ์ธ์.
ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ ๋ง๋๋ ํฌ๋๋ฅผ ์ ์ํ๋ ๋งค๋ํ์คํธ์์ TLS ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ์ ์ง์ ํฉ๋๋ค. ๋ค์ ์ค ํ๋์ผ ์ ์์ต๋๋ค.
Kubernetes ํด๋ฌ์คํฐ์์ ์ด๋ฏธ ๋ง๋ TLS ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ์ ๋๋ค. Kubernetes์์ TLS ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ TLS ๋ณด์ ๋น๋ฐ์ ์ฐธ๊ณ ํ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ๋งค๋ํ์คํธ์ TLS ๋ณด์ ๋น๋ฐ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ AlloyDB Omni Kubernetes ์ฐ์ฐ์๊ฐ ์์ฑํ๋ ๊ธฐ๋ณธ ์ธ์ฆ์ ๋ณด์ ๋น๋ฐ(์ด๋ฆ:
DB_CLUSTER_NAME-ca-cert
)
ํด๋ผ์ด์ธํธ ํฌ๋๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐ๋ ๋๋ง๋ค ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ์ ์ ๋ค์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค.
PGSSLMODE
์"verify-ca"
๋ก ์ค์ ํฉ๋๋ค.PGSSLROOTCERT
๋ฅผ ํด๋ผ์ด์ธํธ ํฌ๋์ ํ์ผ ์์คํ ์ ์๋ ๊ด๋ จca.crt
ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ก ์ค์ ํฉ๋๋ค.
๋ค์ ์์ ๋งค๋ํ์คํธ๋ psql
๋ช
๋ น์ค ํด๋ผ์ด์ธํธ๋ฅผ ํฌํจํ๋ ๊ณต์ PostgreSQL ์ด๋ฏธ์ง๋ฅผ ์ค์นํ๋ ํฌ๋๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด ์์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ์ ์ํ๋ ๋งค๋ํ์คํธ์ TLS ๋น๋ฐ ๊ตฌ์ฑ์ด ์ง์ ๋์ง ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ฐ๋ผ์ AlloyDB Omni Kubernetes ์ฐ์ฐ์๋ dbs-al-cert-DB_CLUSTER_NAME
๋ผ๋ ๊ธฐ๋ณธ TLS ๋ณด์ ๋น๋ฐ์ ์ฌ์ฉํฉ๋๋ค.
apiVersion: v1
kind: Pod
metadata:
name: postgres
namespace: DB_CLUSTER_NAMESPACE
spec:
containers:
- image: "docker.io/library/postgres:latest"
command:
- "sleep"
- "604800"
imagePullPolicy: IfNotPresent
name: db-client
volumeMounts:
- name: ca-cert
mountPath: "/DB_CLUSTER_NAME-ca-cert"
readOnly: true
volumes:
- name: ca-cert
secret:
secretName: dbs-al-cert-DB_CLUSTER_NAME
restartPolicy: Always
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DB_CLUSTER_NAME
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์ด๋ฆ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ ์ธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ ์ด๋ฆ๊ณผ ๋์ผํฉ๋๋ค.DB_CLUSTER_NAMESPACE
(์ ํ์ฌํญ): ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๋ค์์คํ์ด์ค์ ๋๋ค.
์ด์ ๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ ํฌ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ์์ ํ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ๋ด๋ถ IP ์ฃผ์๋ฅผ ํ์ธํฉ๋๋ค.
kubectl get dbclusters.alloydbomni.dbadmin.goog -n DB_CLUSTER_NAMESPACE
๋ค์๊ณผ ์ ์ฌํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
NAME PRIMARYENDPOINT PRIMARYPHASE DBCLUSTERPHASE DB_CLUSTER_NAME IP_ADDRESS Ready DBClusterReady
IP_ADDRESS
๋ฅผ ๊ธฐ๋กํ๊ณ ๋ค์ ๋จ๊ณ์์ ์ฌ์ฉํฉ๋๋ค.psql
๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ํฌ๋์์ ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐํ๊ณ TLS ์ธ์ฆ์ ํ์ธ์ ์ฌ์ฉ ์ค์ ํ๊ณ ์๊ตฌํ๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.kubectl exec -it postgres -n DB_CLUSTER_NAMESPACE -- bash
PGSSLMODE="verify-ca" PGSSLROOTCERT=/DB_CLUSTER_NAME-ca-cert/ca.crt psql -h IP_ADDRESS -p 5432 -U postgres -d postgres
IP_ADDRESS
๋ฅผ ์ด์ ๋จ๊ณ์์ ํ์ธํ ๋ด๋ถ IP ์ฃผ์๋ก ๋ฐ๊ฟ๋๋ค.