Kubernetes 的 MySQL Operator 發行說明
MySQL Shell
MySQL Router
若要使用 kubectl 建立 InnoDB Cluster,首先建立一個 secret,其中包含新的 MySQL root 使用者的憑證,此範例中 secret 的名稱為 'mypwds'
$> kubectl create secret generic mypwds \
--from-literal=rootUser=root \
--from-literal=rootHost=% \
--from-literal=rootPassword="sakila"
使用這個新建立的使用者來設定新的 MySQL InnoDB Cluster。此範例的 InnoDBCluster 定義會建立三個 MySQL 伺服器執行個體和一個 MySQL Router 執行個體
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: mycluster
spec:
secretName: mypwds
tlsUseSelfSigned: true
instances: 3
router:
instances: 1
假設名為 mycluster.yaml
的檔案包含此定義,請安裝這個簡單的叢集
$> kubectl apply -f mycluster.yaml
您可以選擇觀察預設命名空間中 innodbcluster
類型的程序
$> kubectl get innodbcluster --watch
輸出看起來類似這樣
NAME STATUS ONLINE INSTANCES ROUTERS AGE
mycluster PENDING 0 3 1 10s
直到達到 ONLINE 狀態
NAME STATUS ONLINE INSTANCES ROUTERS AGE
mycluster ONLINE 3 3 1 2m6s
為了示範,此範例會使用 MySQL Shell 連線以顯示主機名稱
$> kubectl run --rm -it myshell --image=container-registry.oracle.com/mysql/community-operator -- mysqlsh root@mycluster --sql
If you don't see a command prompt, try pressing enter.
******
MySQL mycluster SQL> SELECT @@hostname
+-------------+
| @@hostname |
+-------------+
| mycluster-0 |
+-------------+
這表示已成功連線,並且已路由至 MySQL InnoDB Cluster 中的 mycluster-0 Pod。如需有關連線的其他資訊,請參閱第 5 章,連線至 MySQL InnoDB Cluster。