MySQL OperatorがGAになったようなので、インストールしてみる。
導入環境・バージョン情報
- DigitalOcean DOKS
- Kubernetesバージョン:DOKS1.22.8
- ノード数:3
- ノードタイプ:s-2vcpu-4gb
- MySQL Operator 8.0.29-2.0.4
MySQL Operatorのデプロイ
Helm Repositoryの追加。
helm repo add mysql-operator https://mysql.github.io/mysql-operator/
helm repo updateMySQL Operator for k8sをデプロイ。
helm install mso -n mso --create-namespace mysql-operator/mysql-operatorデプロイされていることを確認。
helm ls -n mso ✘ 130
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mso mso 1 2022-04-27 17:12:53.242898 +0900 JST deployed mysql-operator-2.0.4 8.0.29-2.0.4MySQL InnoDB Cluster作成
上書き用のchart-valueを作成。
credentials:
root:
user: root
password: HogeHoge
host: "%"
tls:
useSelfSigned: true
#serverVersion: 8.0.29
serverInstances: 2
routerInstances: 1
baseServerId: 1000
InnoDBクラスタを作成。
helm install myc -n mso mysql-operator/mysql-innodbcluster -f mysql-innodbcluster-values.ymlステータス確認。
helm ls -n mso ✘ 130
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mso mso 1 2022-04-27 17:12:53.242898 +0900 JST deployed mysql-operator-2.0.4 8.0.29-2.0.4
myc mso 4 2022-05-04 11:19:44.1406 +0900 JST deployed mysql-innodbcluster-2.0.4 8.0.29kubectl -n mso get innodbclusters
NAME STATUS ONLINE INSTANCES ROUTERS AGE
myc ONLINE 2 2 1 7d20hkubectl -n mso get all,pvc
NAME READY STATUS RESTARTS AGE
pod/myc-0 2/2 Running 0 4h28m
pod/myc-1 2/2 Running 0 4h34m
pod/myc-router-5565798c8b-k7lrd 1/1 Running 0 3d4h
pod/mysql-operator-58666f655c-ptzwm 1/1 Running 0 3d4h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/myc ClusterIP 10.245.68.12 <none> 3306/TCP,33060/TCP,6446/TCP,6448/TCP,6447/TCP,6449/TCP 7d20h
service/myc-instances ClusterIP None <none> 3306/TCP,33060/TCP,33061/TCP 7d20h
service/mysql-operator ClusterIP 10.245.117.109 <none> 9443/TCP 7d21h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/myc-router 1/1 1 1 7d20h
deployment.apps/mysql-operator 1/1 1 1 7d21h
NAME DESIRED CURRENT READY AGE
replicaset.apps/myc-router-5565798c8b 1 1 1 7d20h
replicaset.apps/mysql-operator-58666f655c 1 1 1 7d21h
NAME READY AGE
statefulset.apps/myc 2/2 7d20h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/datadir-myc-0 Bound pvc-47014adb-bd56-448b-ad43-57819a74d249 2Gi RWO do-block-storage 7d20h
persistentvolumeclaim/datadir-myc-1 Bound pvc-3253b19d-22e6-40c6-a324-cbfff8d79c26 2Gi RWO do-block-storage 7d20hクライアントからの接続確認
ローカルPCからkubectl port-forward機能を使って接続する。
kubectl -n mso port-forward svc/myc 6446:6446MySQLクライアントで接続。
mysql -h127.0.0.1 -P6446 -uroot -p ✘ 1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 41150
Server version: 8.0.29 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.29 |
+-----------+
1 row in set (0.09 sec)
mysql>