Charmed MySQL
- By Canonical Data Platform
- Cloud
Channel | Revision | Published | Runs on |
---|---|---|---|
8.0/stable | 196 | 29 Sep 2023 | |
8.0/candidate | 196 | 27 Sep 2023 | |
8.0/beta | 196 | 25 Sep 2023 | |
8.0/edge | 196 | 08 Sep 2023 |
juju deploy mysql --channel 8.0/stable
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
Enable monitoring
Hint: Use Juju 3. Otherwise replace
juju run ...
withjuju run-action --wait ...
andjuju integrate
withjuju relate
for Juju 2.9.
Enable monitoring requires that you:
Switch to COS K8s environment and offer COS interfaces to be cross-model integrated (related) with Charmed MySQL VM model:
# Switch to Kubernetes controller, for the cos model.
juju switch <k8s_controller>:<cos_model_name>
juju offer grafana:grafana-dashboard
juju offer loki:logging
juju offer prometheus:receive-remote-write
Switch to Charmed MySQL VM model, find offers and integrate (relate) with them:
# We are on the Kubernetes controller, for the cos model. Switch to mysql model
juju switch <machine_controller_name>:<mysql_model_name>
juju find-offers <k8s_controller>: # Do not miss ':' here!
A similar output should appear, if k8s
is the k8s controller name and cos
the model where cos-lite
has been deployed:
Store URL Access Interfaces
k8s admin/cos.grafana admin grafana:grafana-dashboard
k8s admin/cos.loki admin loki:logging
k8s admin/cos.prometheus admin prometheus:receive-remote-write
...
Consume offers to be reachable in the current model:
juju consume k8s:admin/cos.grafana
juju consume k8s:admin/cos.loki
juju consume k8s:admin/cos.prometheus
Now, deploy ‘grafana-agent’ (subordinate charm) and integrate (relate) it with Charmed MySQL, later integrate (relate) grafana-agent
with consumed COS offers:
juju deploy grafana-agent
juju integrate grafana-agent mysql:cos-agent
juju integrate grafana-agent grafana
juju integrate grafana-agent loki
juju integrate grafana-agent prometheus
After this is complete, Grafana will show the new dashboards: MySQL Exporter
and allows access for Charmed MySQL logs on Loki.
The example of juju status
on Charmed MySQL VM model:
ubuntu@localhost:~$ juju status
Model Controller Cloud/Region Version SLA Timestamp
vmmodel local localhost/localhost 3.1.6 unsupported 00:12:18+02:00
SAAS Status Store URL
grafana active k8s admin/cos.grafana
loki active k8s admin/cos.loki
prometheus active k8s admin/cos.prometheus
App Version Status Scale Charm Channel Rev Exposed Message
grafana-agent active 1 grafana-agent edge 5 no
mysql 8.0.32 active 1 mysql 8.0/edge 144 no Primary
Unit Workload Agent Machine Public address Ports Message
mysql/3* active idle 4 10.85.186.140 3306/tcp,33060/tcp Primary
grafana-agent/0* active idle 10.85.186.140
Machine State Address Inst id Series AZ Message
4 started 10.85.186.140 juju-fcde9e-4 jammy Running
The example of juju status
on COS K8s model:
ubuntu@localhost:~$ juju status
Model Controller Cloud/Region Version SLA Timestamp
cos k8s microk8s/localhost 3.1.6 unsupported 00:15:31+02:00
App Version Status Scale Charm Channel Rev Address Exposed Message
alertmanager 0.23.0 active 1 alertmanager-k8s stable 47 10.152.183.206 no
catalogue active 1 catalogue-k8s stable 13 10.152.183.183 no
grafana 9.2.1 active 1 grafana-k8s stable 64 10.152.183.140 no
loki 2.4.1 active 1 loki-k8s stable 60 10.152.183.241 no
prometheus 2.33.5 active 1 prometheus-k8s stable 103 10.152.183.240 no
traefik 2.9.6 active 1 traefik-k8s stable 110 10.76.203.178 no
Unit Workload Agent Address Ports Message
alertmanager/0* active idle 10.1.84.125
catalogue/0* active idle 10.1.84.127
grafana/0* active idle 10.1.84.83
loki/0* active idle 10.1.84.79
prometheus/0* active idle 10.1.84.96
traefik/0* active idle 10.1.84.119
Offer Application Charm Rev Connected Endpoint Interface Role
grafana grafana grafana-k8s 64 1/1 grafana-dashboard grafana_dashboard requirer
loki loki loki-k8s 60 1/1 logging loki_push_api provider
prometheus prometheus prometheus-k8s 103 1/1 receive-remote-write prometheus_remote_write provider
To connect Grafana WEB interface, follow the COS section “Browse dashboards”:
juju run grafana/leader get-admin-password --model <k8s_controller>:<cos_model_name>
Help us improve this documentation
Most of this documentation can be collaboratively discussed and changed on the respective topic in the doc category of the Charmhub forum. See the documentation guidelines if you’d like to contribute.