Installing MySQL Operator

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 update

MySQL 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.4

MySQL 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.29
kubectl -n mso get innodbclusters
NAME   STATUS   ONLINE   INSTANCES   ROUTERS   AGE
myc    ONLINE   2        2           1         7d20h
kubectl -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:6446

MySQLクライアントで接続。

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>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です