전체 글 1383

[Kubernetes] 쿠버네티스에서 파드 생성시 프라이빗 레지스트리 이미지 사용하기

[Kubernetes] 쿠버네티스에서 파드 생성시 프라이빗 레지스트리 이미지 사용하기 l Kubernetes Kubernetes 환경에서 pod를 생성할 때 Private Registry에서 이미지를 다운받아 실행하는 방법에 대해서 알아본다. 현재 구성되어 있는 실습 환경은 MAC OS + PODMAN + MINIKUBE이다. 일반적으로 많이 사용하는 docker 환경은 아니지만 사용법이 거의 유사하기 때문에 따라하는데 크게 문제가 없으리라 생각한다. Minikube 설치 및 Podman 설치는 공식 문서에 쉽게 설명되어 있기 때문에 여기에서는 다루지 않는다. l Podman Installation Instructions : https://podman.io/docs/installation l miniku..

MySQL/MariaDB 환경에서 다중 마스터 복제를 지원하는 Galera Cluster 알아보기

MySQL/MariaDB 환경에서 다중 마스터 복제를 지원하는 Galera Cluster 알아보기 l Version : MySQL, MariaDB, Galera Cluster Galera Cluster (이하 “갈레라 클러스터”)는 다중 마스터 동기 복제를 제공하는 솔루션으로 DB 간의 직접적인 데이터 공유가 없는 형태의 오픈소스 고가용성 솔루션이다. 현재 갈레라 클러스터는 MySQL Percona Xtradb 클러스터와 MariaDB 두 가지 버전을 지원한다. 특히 MariaDB에서는 Galera Cluster를 공식적으로 지원한다. 이번 포스트에서는 갈레라 클러스터의 개념과 장단점에 대해서 알아본다. 갈레라 클러스터는 동기 방식의 복제구조를 사용하는 멀티마스터 RDB 클러스터로 제공된다. 갈레라 클러..

MySQL, MariaDB 2023.08.07

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까?

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까? l Version : MySQL, ProxySQL ProxySQL에서 서버를 추가하거나, 사용자를 등록하는 등 설정을 변경하고 적용하려면 관리자 모드 접속을 통해서 필요한 내용을 수정하고, 수정한 내용을 서비스 중단 없이 runtime에 적용할 수 있다. 그리고 서비스 재시작시 기존의 설정을 유지하기 위해서는 현재 설정 값을 데이터베이스 또는 디스크로 저장하여 재사용 할 있다. 아래 그림을 참고하여 설명하면, 일반적으로 관리자 모드에 접속하여 수정하는 부분은 MEMORY영역이다. 그렇기 때문에 관리자에서 수정하였을 경우에는 아직 메모리에서만 적용된 것으로 서비스에 적용되지 않은 상태이다. (아마도 실수가 발생하였을 때 서비스 보호를..

MySQL, MariaDB 2023.08.04

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성 l Version : MySQL, ProxySQL MySQL HA + ProxySQL 환경에서 장애조치가 어떻게 동작하는지 알아본다. 실습 환경은 아래 포스트를 참고하여 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 : https://sungwookkang.com/1533 실습에 사용되는 서버 구성이다. Server Name IP OS Service Version proxy-sql 172.30.1.49 Ubun..

MySQL, MariaDB 2023.08.03

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 l Version : MySQL, Orchestrator MySQL HA 환경에서 Orchestrator(이하 ‘오케스트레이터’)를 활용하여 클러스터 리팩토링 및 장애조치 방법에 대해서 알아본다. 이번 실습을 진행하기 위해서는 MySQL HA 및 Orchestrator 구성이 완료되어 있어야 한다. 아래 링크를 참고하여 HA구성 및 Orchestrator를 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL 고가용성 운영을 위한 Orchestrator 설치 : https..

MySQL, MariaDB 2023.07.27

MySQL 고가용성 운영을 위한 Orchestrator 설치

MySQL 고가용성 운영을 위한 Orchestrator 설치 l Version : MySQL, Orchestrator 데이터베이스를 운영할 때 단일 장애 포인트(SPOF, Single Point Of Failure)를 예방하기 위해서 고가용성(HA, High-Available)은 매우 중요한 부분이다. 그렇기 때문에 클러스터링, 복제 등 고가용성으로 구성된 다수의 데이터베이스를 효율적으로 관리하기 위해 다양한 솔루션들이 존재한다. 이번 포스트는 MySQL 및 MariaDB의 고가용성을 효율적으로 운영하기 위한 솔루션인 Orchestrator(이하 ‘오케스트레이터’)에 대해서 알아본다. 오케스트레이터는 MySQL 고가용성 및 복제 관리 도구로, 서비스로 실행되며 명령줄 액세스, HTTP API 및 웹 인터..

MySQL, MariaDB 2023.07.25

ProxySQL Internals 및 시스템 구성 둘러보기

ProxySQL Internals 및 시스템 구성 둘러보기 l Version : ProxySQL 이번 포스트에서는 ProxySQL의 인터널 구조와 설정 파일의 구조에 대해서 살펴본다. 상세한 인터널 구조를 모두 설명하지는 않으며 전체적인 구조 및 특징만 소개하도록 한다. 세부적인 내용은 다른 포스트에서 하나씩 다뤄볼 예정이다. ProxySQL이 시작되면 즉시 새 프로세스를 생성한다. 상위 프로세스는 엔젤 프로세스(와치독과 비슷한 의미로 해석됨)로 작동하고 ProxySQL이 크래시 되었을 때 수 밀리초 내에 서비스를 다시 시작한다. MySQL에 비유하면 mysqld_safe와 매우 유사하다. ProxySQL에는 기본적으로 두 개의 포트가 필요하다. 트래픽을 수신하는 6033 포트와 ProxySQL을 관리하..

MySQL, MariaDB 2023.07.24

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기 l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 ProxySQL을 구성할 때 MySQL 서버 환경이 복제 구성이 되어 있으면 Write, Read를 효과적으로 분산하여, ProxySQL장점을 조금 더 효율적으로 활용할 수 있다. MySQL설치, 복제구성, ProxySQL 설치는 아래 링크를 참고한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) :..

MySQL, MariaDB 2023.07.23

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에)

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 이번 포스트는 ProxySQL을 구성하는 방법에 대해서 다뤄본다. 이번 실습에서 구성되는 ProxySQL의 아키텍처는 아래 그림과 같다. 모든 클라이언트 연결은 ProxySQL로 연결이 되고, ProxySQL에서는 쿼리 타입에 따라 Write와 Read를 분산하여 요청한다. MySQL 구성은 Master에서 Slave1, Sl..

MySQL, MariaDB 2023.07.22

ProxySQL 이란 무엇인가

ProxySQL 이란 무엇인가 l Version : ProxySQL ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. 글을 쓰는 현재(2023년 7월)는 GPL 라이선스로 공개되어 있어 누구나 사용할 수 있다. ProxySQL에 대한 자세한 정보는 아래 링크를 참고한다. l 공식 사이트 주소 - https://www.proxysql.com/ l ProxySQL 설치 및 사용 가이드 - https://github.com/sysown/proxysql/wiki l ProxySQL 도커 이미지 - https://hub.docker.com/r/proxysql/proxysql [Proxy서버는 무엇일까] 프록시 서버는 ..

MySQL, MariaDB 2023.07.20