반응형
01. Operator 패턴이란
operator: 쿠버네티스에서 사용자 정의 리소스를 사용해서 쿠버네티스 요소들을 관리하는 역할
- 기존 쿠버네티스가 관리하지 못했던 것들을 관리할 수 있게 하기 위해 사용한다.
- 이벤트 발생시 실제 쿠버네티스 오브젝트를 조절하는 역할
- 관리성과 자동화 향상
- 현재 사용 가능한 Operator들의 모음은 Operatorhub.io 사이트에서 확인 가능하다.
- Capability level이란 Operator 기술의 성숙도(Basic Install -> Seamless Upgrades -> Full Lifecycle -> Deep Insights -> Auto Pilot)
02. Mysql Operator란
mysql operator의 공식 도큐먼트: https://dev.mysql.com/doc/mysql-operator/en/
- operatorhub.io에 등록되어 있지 않기 때문에 성숙도를 확인할 수는 없음(but, Orale Mysql이 직접 운영하는 Operator)
- Mysql 서버와 Mysql 라우터로 이루어진 Mysql InnoDB 클러스터를 관리
- Mysql 서버와 라우터들의 관리를 자동화하고 간편하게 만들어주는 역할
1) Mysql Router
Mysql Router: Mysql 서버들 중 작업을 실행할 서버를 고르는 상태비저장(Statless) 애플리케이션
- Deployment로 관리된다.
- DB 인스턴스를 캐시하여 라우팅할 인스턴스를 관리
- 클러스터의 스케일에 따라 Deployment의 레플리카 개수를 조절하는 것으로 수평적 확장(Horizontal scaling) 가능
2) Mysql Server instances
Mysql Server instances : 실제 DB역할을 하게 되는 서버 인스턴스의 그룹
- Replicaset로 관리된다.
- Single-Primary mode와 Multi-Primary mode라는 2가지 Replication 모드 중 하나의 클러스터 복제방식 사용한다.
- Multi-Primary mode는 Mysql 8.0 버전에 등장한 Group Replication복제 방식을 사용해 단방향 복제가 아닌 양방향 복제를 수행 가능하다.
3) Mysql Operator
Mysql Operator: Mysql 서버와 Mysql 라우터들을 관리하는 Operator
- Deployment로 관리된다.
- Operator가 InnoDBCluster, Mysqlbackup 등의 사용자 정의 리소스를 통해 각각 서버 클러스터와 서버 백업을 추상화해 관리한다.
'Kubernetes' 카테고리의 다른 글
'쿠버네티스에 레디스 캐시 클러스터 구축기' 카카오 테크 내용 정리 (0) | 2023.08.12 |
---|---|
MySQL on Kubernetes 카카오 강연 내용 정리 (0) | 2023.08.12 |
Kubernetes : Statefulset/Headless 개념 (0) | 2023.08.12 |
Kubernetes: 스토리지/네트워크 (0) | 2023.08.10 |