Initial setup (ensure microk8s is a clean slate with microk8s.reset
or a fresh install with snap install microk8s --classic
:
microk8s.enable dns storage
juju bootstrap microk8s mk8s
juju add-model lma
juju create-storage-pool operator-storage kubernetes storage-class=microk8s-hostpath
Deploy Grafana on its own:
git clone [email protected]:canonical/grafana-k8s.git
cd grafana-k8s
charmcraft pack
juju deploy ./grafana-k8s_ubuntu-20.04-amd64.charm --resource grafana-image=ubuntu/grafana:latest
View the dashboard in a browser:
juju status
to check the IP of the of the running Grafana application- Navigate to
http://IP_ADDRESS:3000
- Log in with the default credentials username=admin, password=admin.
Add Prometheus as a datasource. See the contributing guide for Prometheus to build and deploy, then:
juju add-relation grafana-k8s prometheus-k8s
watch -c juju status --color # wait for things to settle down
Once the deployed charm and relation settles, you should be able to see Prometheus data propagating to the Grafana dashboard.
This charm is written to support a high-availability Grafana cluster, but a database relation is required (MySQL or Postgresql).
If HA is not required, there is no need to add a database relation.
NOTE: HA should not be considered for production use.
...
Create and activate a virtualenv, and install the development requirements,
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements-dev.txt
The tests are run with tox
; the following tox
targets are available: