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.
Using trunk
in the URL references
the latest MySQL Operator for Kubernetes release because Github is updated at
release time. Alternatively, replace
trunk
in the URL with a specific
tagged
released version.
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 is 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.