Canonical Observability Stack Lite
- By Simon Aronsson | bundle
Channel | Version | Revision | Published | Runs on |
---|---|---|---|---|
latest/stable | 11 | 11 | 21 Oct 2022 | |
latest/candidate | 10 | 10 | 21 Oct 2022 | |
latest/beta | 9 | 9 | 21 Oct 2022 | |
latest/edge | 8 | 8 | 21 Oct 2022 | |
1.0/stable | 16 | 16 | 21 Oct 2022 | |
1.0/candidate | 14 | 14 | 21 Oct 2022 | |
1.0/beta | 13 | 13 | 21 Oct 2022 | |
1.0/edge | 12 | 12 | 21 Oct 2022 |
juju deploy cos-lite
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
Charms
COS Lite bundle
Canonical Observability Stack Lite, or COS Lite, is a light-weight, highly-integrated, Juju-based observability suite running on Kubernetes.
This Juju bundle deploys the stack, consisting of the following interrelated charms:
- Prometheus (source)
- Loki (source)
- Alertmanager (source)
- Grafana (source)
This bundle is under development. Join us on Discourse and MatterMost!
The Vision
COS Lite is going to be the go-to solution for monitoring Canonical appliances when the end user does not already have an established observability stack. COS Lite is designed for:
- Best-in-class monitoring of software charmed with Juju
- Limited resource consumption
- High integration and out-of-the-box value
- Running on MicroK8s
After the GA of COS Lite, we will be working on a High-Availability Bundle (COS HA), that will use the same components as COS Lite (plus additional ones) and provide the same overall user-experience, and focus on scalability, resilience and broad compatibility with Kubernetes distributions out there.
Usage
Before deploying the bundle you may want to create a dedicated model for it:
juju add-model cos
juju switch cos
You can deploy the bundle from charmhub with:
juju deploy cos-lite --channel=edge --trust
or, to deploy the bundle from a local file:
# generate and activate a virtual environment with dependencies
tox -e integration --notest
source .tox/integration/bin/activate
# render bundle with default values
./render_bundle.py bundle.yaml
juju deploy ./bundle.yaml --trust
Currently, the bundle is available only on the edge
channel, using edge
charms.
When the charms graduate to beta
, candidate
and stable
, we will issue the bundle in the same channels.
The --trust
option is needed by the charms in the cos-lite
bundle to be able to patch their K8s services to use the right ports (see this Juju limitation).
We also make available some overlays as convenience. A Juju overlay is a set of model-specific modifications, which reduce the amount of commands needed to set up a bundle like COS Lite. Specifically, we offer the following overlays:
- the
offers
overlay exposes as offers the relation endpoints of the COS Lite charms that are likely to be consumed over cross-model relations. - the
storage-small
overlays provides a setup of the various storages for the COS Lite charms for a small setup. Using an overlay for storage is fundamental for a productive setup, as you cannot change the amount of storage assigned to the various charms after the deployment of COS Lite.
In order to use the overlays above, you need to:
- Download the overlays (or clone the repository)
- Pass the
--overlay <path-to-overlay-file-1> --overlay <path-to-overlay-file-2> ...
arguments to thejuju deploy
command
For example, to deploy the COS Lite bundle with the offers overlay, you would do the following:
curl -L https://raw.githubusercontent.com/canonical/cos-lite-bundle/main/overlays/offers-overlay.yaml -O
juju deploy cos-lite --channel=edge --trust --overlay ./offers-overlay.yaml
To use COS Lite with machine charms, see cos-proxy (source).
Publishing
tox -e render-edge # creates bundle.yaml
charmcraft pack
charmcraft upload cos-lite.zip
charmcraft release cos-lite --channel=edge --revision=4