在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):mysql/mysql-operator开源软件地址(OpenSource Url):https://github.com/mysql/mysql-operator开源编程语言(OpenSource Language):Python 95.8%开源软件介绍(OpenSource Introduction):MySQL Operator for KubernetesIntroductionThe MySQL Operator for Kubernetes is an operator for managing MySQL InnoDB Cluster setups inside a Kubernetes Cluster. It manages the full lifecycle with set up and maintenance that includes automating upgrades and backup. MySQL Operator for Kubernetes is brought to you by the MySQL team at Oracle. LicenseCopyright (c) 2020, 2022, Oracle and/or its affiliates. License information can be found in the LICENSE file.
This distribution may include materials developed by third parties. For license
and attribution notices for these materials, please refer to the MySQL Operator for Kubernetes InstallationUsing Manifest Files with kubectlFirst deploy the Custom Resource Definition (CRDs): $> kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml Then deploy MySQL Operator for Kubernetes: $> kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-operator.yaml Verify the operator is running by checking the deployment inside the $> kubectl get deployment -n mysql-operator mysql-operator
NAME READY UP-TO-DATE AVAILABLE AGE
mysql-operator 1/1 1 1 1h Using HelmAlternatively, you may use Helm; which is a package manager for Kubernetes. Install the Helm repository: $> helm repo add mysql-operator https://mysql.github.io/mysql-operator/
$> helm repo update Then deploy the operator: $> helm install mysql-operator helm/mysql-operator --namespace mysql-operator --create-namespace This deploys the latest MySQL Operator for Kubernetes from DockerHub using all defaults; although the deployment can be customized through a variety of options to override built-in defaults. See the documentation for details. MySQL InnoDB Cluster InstallationUsing kubectlFor creating a MySQL InnoDB Cluster, first create a secret with credentials for a MySQL root user used to perform administrative tasks in the cluster. For example: $> kubectl create secret generic mypwds \
--from-literal=rootUser=root \
--from-literal=rootHost=% \
--from-literal=rootPassword="sakila" Define your MySQL InnoDB Cluster, which references the secret. For example: apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: mycluster
spec:
secretName: mypwds
tlsUseSelfSigned: true
instances: 3
router:
instances: 1 Assuming it's saved as $> kubectl apply -f mycluster.yaml This sample creates an InnoDB Cluster with three MySQL Server instances and one MySQL Router instance. The process can be observed using: $> kubectl get innodbcluster --watch
NAME STATUS ONLINE INSTANCES ROUTERS AGE
mycluster PENDING 0 3 1 2m6s
...
mycluster ONLINE 3 3 1 10s Using HelmCreate MySQL InnoDB Cluster installations using defaults or with customization.
Here's an example using all defaults for a cluster named $> helm install mycluster mysql-operator/mysql-innodbcluster Or customize, this example sets options from the command line: $> helm install mycluster helm/mysql-innodbcluster \
--namespace mynamespace \
--create-namespace \
--set credentials.root.user='root' \
--set credentials.root.password='supersecret' \
--set credentials.root.host='%' \
--set serverInstances=3 \
--set routerInstances=1 Connecting to MySQL InnoDB ClusterA MySQL InnoDB Cluster $> kubectl get service mycluster
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
mycluster ClusterIP 10.110.228.51 <none> 3306/TCP,33060/TCP,6446/TCP,6448/TCP,6447/TCP,6449/TCP 26h The ports represent read-write and read-only ports for the MySQL Protocol and the X Protocol.
Use Using MySQL ShellThis example creates a new container named $> kubectl run --rm -it myshell --image=mysql/mysql-operator -- mysqlsh
If you don't see a command prompt, try pressing enter.
MySQL JS> \connect root@mycluster
Creating a session to 'root@mycluster'
Please provide the password for 'root@mycluster': ******
MySQL mycluster JS> Using Using Port ForwardingKubernetes port forwarding creates a redirection from your local machine to use a MySQL client, such as $> kubectl port-forward service/mycluster mysql
Forwarding from 127.0.0.1:3306 -> 6446
Forwarding from [::1]:3306 -> 6446 And in a second terminal: $> mysql -h127.0.0.1 -P3306 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
... When prompted, enter the password used when creating the Secret. More InformationRefer to the official documentation at: For additional downloads and the source code, visit: Contributing to MySQL Operator for Kubernetes, see:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论