This document assumes a familiarity with kubectl, and that you have it installed. Alternatively, see Section 2.1, “Install using Helm Charts”.
MySQL Operator for Kubernetes can be installed using raw manifest files with kubectl; first install the Custom Resource Definition (CRD) used by MySQL Operator for Kubernetes:
$> kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml
// Output is similar to:
customresourcedefinition.apiextensions.k8s.io/innodbclusters.mysql.oracle.com created
customresourcedefinition.apiextensions.k8s.io/mysqlbackups.mysql.oracle.com created
customresourcedefinition.apiextensions.k8s.io/clusterkopfpeerings.zalando.org created
customresourcedefinition.apiextensions.k8s.io/kopfpeerings.zalando.org created
Next deploy MySQL Operator for Kubernetes, which also includes RBAC definitions as noted in the output:
$> kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-operator.yaml
// Output is similar to:
clusterrole.rbac.authorization.k8s.io/mysql-operator created
clusterrole.rbac.authorization.k8s.io/mysql-sidecar created
clusterrolebinding.rbac.authorization.k8s.io/mysql-operator-rolebinding created
clusterkopfpeering.zalando.org/mysql-operator created
namespace/mysql-operator created
serviceaccount/mysql-operator-sa created
deployment.apps/mysql-operator created
Verify that the operator is running by checking the deployment
that's managing the operator inside the mysql-operator
namespace, a configurable namespace defined by
deploy-operator.yaml
:
$> kubectl get deployment mysql-operator --namespace mysql-operator
After MySQL Operator for Kubernetes is ready, the output should look similar to this:
NAME READY UP-TO-DATE AVAILABLE AGE
mysql-operator 1/1 1 1 37s
To use MySQL Operator for Kubernetes to create MySQL InnoDB Clusters, see Chapter 3, MySQL InnoDB Cluster.