Kubernetes 的 MySQL Operator 發行說明
MySQL Shell
MySQL Router
建立 MySQL InnoDB Cluster 的潛在數值在此可見
$> helm show values mysql-operator/mysql-innodbcluster
公開 Registry
最常見的 Helm 儲存庫是公開的 https://artifacthub.io/,這些範例皆使用此儲存庫。
此範例會在名為 credentials.yaml
的檔案中定義認證,設定 tls.useSelfSigned=true 以避免設定 SSL,使用 default 命名空間,並設定 mycluster 作為叢集的名稱
範例 credentials.yaml
credentials:
root:
user: root
password: sakila
host: "%"
$> helm install mycluster mysql-operator/mysql-innodbcluster \
--set tls.useSelfSigned=true --values credentials.yaml
這個簡單安裝的 Manifest 看起來類似這樣
$> helm get manifest mycluster
---
# Source: mysql-innodbcluster/templates/service_account_cluster.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: mycluster-sa
namespace: default
---
# Source: mysql-innodbcluster/templates/cluster_secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mycluster-cluster-secret
namespace: default
stringData:
rootUser: "root"
rootHost: "%"
rootPassword: "sakila"
---
# Source: mysql-innodbcluster/templates/deployment_cluster.yaml
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: mycluster
namespace: default
spec:
instances: 3
tlsUseSelfSigned: true
router:
instances: 1
secretName: mycluster-cluster-secret
imagePullPolicy : IfNotPresent
baseServerId: 1000
version: 9.0.0
serviceAccountName: mycluster-sa
或者使用命令列參數設定選項
$> helm install mycluster mysql-operator/mysql-innodbcluster \
--set credentials.root.user='root' \
--set credentials.root.password='sakila' \
--set credentials.root.host='%' \
--set serverInstances=3 \
--set routerInstances=1 \
--set tls.useSelfSigned=true
若要檢視現有叢集的使用者提供值
$> helm get values mycluster
USER-SUPPLIED VALUES:
credentials:
root:
host: '%'
password: sakila
user: root
routerInstances: 1
serverInstances: 3
tls:
useSelfSigned: true