IT/Container&k8s

[k8s] Cloud Native PostgreSQL Operator

Hayley Shim 2023. 10. 29. 00:28

안녕하세요. 최근 Database Operator In Kubernetes study(=DOIK)를 진행하며 해당 내용을 보다 깊이 이해하고 공유하기 위해 작성한 글입니다.

전편 [k8s] Operator & MySQL Operator , Kafka & Strimzi Operator, Percona Distribution for MongoDB Operator에 이어 PostgreSQL Operator에 대해 알아보겠습니다.

PostgreSQL

PostgreSQL은 Global Development Group 에서 개발하는 오픈소스 RDBMS 입니다.[참고] 표준 SQL 기능을 대부분 지원하며, 다음과 같이 많은 기능도 함께 지원합니다.

  • 복합 쿼리
  • 참조키
  • 트리거
  • 업데이트 가능한 뷰
  • 트랜잭션
  • 다중 버전 병행 제어

The PostgreSQL Global Development Group 에서 작성한 PostgreSQL 9.4.0 문서에 자세한 내용이 나와있습니다. 이밖에도 EDB에서 제공하는 SQL query examples가 있습니다. [참고]

example) CREATE TABLE query in PostgreSQL

postgres=# create table dummy_table(name varchar(20),address text,age int); CREATE TABLE

CloudNative PG

쿠버네티스 환경에서 PostgreSQL 워크로드를 관리하는 Operator입니다. CloudNativePG 는 비동기 혹은 동기 스트리밍 복제 구성의 클러스터를 지원합니다. 아래 4가지 기능을 제공합니다.

  • One primary, with optional multiple hot standby replicas for High Availability
  • Available services for applications:
  • -rw: applications connect to the only primary instance of the cluster
  • -ro: applications connect to the only hot standby replicas for read-only-workloads
  • -r: applications connect to any of the instances for read-only workloads

아래와 같은 architecture를 지원합니다.

Read-write workloads

Read-only workloads

Multi-cluster deployments

설치

자세한 설치 방법은 CloudNativePG docs를 참고해주세요.

Deployment using the latest release

helm repo add cnpg https://cloudnative-pg.github.io/charts
helm upgrade --install cnpg \
  --namespace cnpg-system \
  --create-namespace \
  cnpg/cloudnative-pg

기본사용

샘플 YAML 파일을 통해 CloudNativePG 실습을 해볼 수 있습니다.[참고]

 

blog migration project

written in 2022.6.19

https://medium.com/techblog-hayleyshim/k8s-cloud-native-postgresql-operator-38258a8ad0cb

 
 

'IT > Container&k8s' 카테고리의 다른 글

[k8s] performance  (0) 2023.10.29
[k8s] EFK  (0) 2023.10.29
[k8s] Percona Distribution for MongoDB Operator  (2) 2023.10.29
[k8s] Kafka & Strimzi Operator  (0) 2023.10.29
[k8s] Operator & MySQL Operator  (0) 2023.10.29