문서 목차
ORKESTRIX설치
MySQL
애플리케이션 데이터베이스 MySQL 인스턴스를 생성하고, 웹 기반 관리 도구( phpMyAdmin )로 데이터를 조회·관리할 수 있게 합니다.
QUANTUM C&S
애플리케이션 데이터베이스 MySQL 인스턴스를 생성하고, 웹 기반 관리 도구(phpMyAdmin)로 데이터를 조회 · 관리할 수 있게 합니다.
설정값
inventory/qks/group_vars/all/all-k8s.yaml:
qks_mysql_enabled: true
qks_mysql_version: 8.4.11
qks_mysql_default_user_name: qks
qks_mysql_default_user_database: qks
qks_mysql_storage_size: 50Gi
qks_mysql_admin_version: 5.2.3
qks_mysql_admin_fqdn: "mysql-db.{{ kube_default_domain }}"
실행
./install.sh ubuntu plays/qks-mysql.yaml
설치 흐름
./install.sh ubuntu plays/qks-mysql.yaml
├─ 1. 관리 UI 접속 도메인을 각 노드 /etc/hosts에 등록
├─ 2. MySQL 매니페스트 템플릿 생성
├─ 3. MySQL 매니페스트 적용 (StatefulSet+Service+Secret, 공식 mysql 이미지, 내장 PVC로 데이터 보관)
├─ 4. phpMyAdmin 매니페스트 템플릿 생성
└─ 5. phpMyAdmin 매니페스트 적용 (Deployment+Service+Ingress, 공식 phpmyadmin/phpmyadmin 이미지)
Bitnami의 관련 이미지가 유료 구독 전용으로 전환되어, 헬름 차트 대신 직접 작성한 매니페스트(공식 이미지)로 배포합니다. 고가용성(다중 인스턴스) 구성이 필요한 경우는 별도 항목으로 안내됩니다.
설치 확인
kubectl get pods -n <qks_mysql_namespace>
MySQL, phpMyAdmin 파드가 모두 Running이어야 합니다.
실제 동작 확인
MySQL이 실제로 응답하고 데이터를 관리할 수 있는지 확인합니다:
kubectl exec -n <qks_mysql_namespace> qks-mysql-0 -- \
mysqladmin ping -h 127.0.0.1 -uroot -p"<qks_mysql_admin_pass>"
kubectl exec -n <qks_mysql_namespace> qks-mysql-0 -- \
mysql -u <qks_mysql_default_user_name> -p"<qks_mysql_default_user_pass>" <qks_mysql_default_user_database> -e "
CREATE TABLE IF NOT EXISTS gs_test (id INT PRIMARY KEY, msg VARCHAR(50));
INSERT INTO gs_test VALUES (1, 'hello');
SELECT * FROM gs_test;
DROP TABLE gs_test;
"
mysqld is alive와 함께 hello 값이 정상 조회되면 인스턴스 생성 · 데이터 관리 기능 모두 정상입니다.
phpMyAdmin도 확인합니다:
kubectl run curltest --rm -i --image=curlimages/curl --restart=Never -- \
curl -s -i http://qks-mysqladmin.<qks_mysql_namespace>.svc.cluster.local:80/
<title>phpMyAdmin</title>와 로그인 폼이 포함된 HTML이 반환되면 정상입니다.
클러스터 노드에서는 https://<qks_mysql_admin_fqdn>/으로 접속해 같은 로그인 화면을 확인합니다(설치 과정에서 각 노드의 /etc/hosts에 이 FQDN이 자동 등록됩니다). 클러스터 외부의 실제 사용자가 접속하려면, 이 FQDN이 클러스터 로드밸런서 주소를 가리키도록 별도 DNS 등록이 필요합니다.