Skip to content

Instantly share code, notes, and snippets.

@CalvinHartwell
Last active October 2, 2018 02:50
Show Gist options
  • Select an option

  • Save CalvinHartwell/e54f6df6507974e0be525dfd8bf1ac1d to your computer and use it in GitHub Desktop.

Select an option

Save CalvinHartwell/e54f6df6507974e0be525dfd8bf1ac1d to your computer and use it in GitHub Desktop.
cdk-ceph-monitoring-aws
series: xenial
description: A nine-machine Kubernetes cluster, appropriate for production. Includes a three-machine etcd cluster and three Kubernetes worker nodes.
services:
ceph-mon:
annotations:
gui-x: '600'
gui-y: '300'
charm: cs:ceph-mon
num_units: 3
to:
- kubernetes-worker
ceph-osd:
annotations:
gui-x: '300'
gui-y: '300'
charm: cs:ceph-osd
num_units: 3
to:
- kubernetes-worker
easyrsa:
annotations:
gui-x: '450'
gui-y: '550'
charm: cs:~containers/easyrsa
num_units: 1
to:
- 'lxd:kubernetes-master/0'
etcd:
annotations:
gui-x: '800'
gui-y: '550'
charm: cs:~containers/etcd
constraints: cores=4 mem=16G
num_units: 3
options:
channel: 3.2/stable
canal:
annotations:
gui-x: '450'
gui-y: '750'
charm: cs:~containers/canal
# options:
# cidr: '172.19.0.0/16'
kubeapi-load-balancer:
annotations:
gui-x: '450'
gui-y: '250'
charm: cs:~containers/kubeapi-load-balancer
expose: true
num_units: 1
kubernetes-master:
annotations:
gui-x: '800'
gui-y: '850'
charm: cs:~containers/kubernetes-master
constraints: cores=4 mem=16G
num_units: 2
to:
options:
# authorization-mode: "RBAC,Node"
# allow-privileged: "true"
channel: 1.11/stable
# service-cidr: '172.18.0.0/16'
kubernetes-worker:
annotations:
gui-x: '100'
gui-y: '850'
charm: cs:~containers/kubernetes-worker
constraints: cores=4 mem=16G
expose: true
num_units: 3
options:
# allow-privileged: "true"
channel: 1.11/stable
### Monitoring ###
grafana:
charm: cs:xenial/grafana
num_units: 1
expose: true
prometheus:
charm: cs:xenial/prometheus2
num_units: 1
alertmanager:
charm: cs:prometheus-alertmanager
num_units: 1
telegraf:
charm: cs:xenial/telegraf
apache2:
charm: cs:xenial/apache2
num_units: 1
expose: true
options:
enable_modules: "headers proxy_html proxy_http"
elasticsearch:
charm: cs:xenial/elasticsearch
num_units: 1
filebeat:
charm: cs:xenial/filebeat
options:
logpath: '/var/log/*.log'
kube_logs: True
graylog:
charm: cs:xenial/graylog
num_units: 1
mongodb:
charm: cs:xenial/mongodb
num_units: 1
options:
extra_daemon_options: "--bind_ip_all"
### AWS Integrator Charm ###
aws-integrator:
charm: cs:~containers/aws-integrator
options:
access-key: <replace-me>
secret-key: <replace-me>
num_units: 1
### Ceph exporter charm
prometheus-ceph-exporter:
charm: cs:xenial/prometheus-ceph-exporter
num_units: 1
to:
relations:
- - kubernetes-master:kube-api-endpoint
- kubeapi-load-balancer:apiserver
- - kubernetes-master:loadbalancer
- kubeapi-load-balancer:loadbalancer
- - kubernetes-master:kube-control
- kubernetes-worker:kube-control
- - kubernetes-master:certificates
- easyrsa:client
- - etcd:certificates
- easyrsa:client
- - kubernetes-master:etcd
- etcd:db
- - kubernetes-worker:certificates
- easyrsa:client
- - kubernetes-worker:kube-api-endpoint
- kubeapi-load-balancer:website
- - kubeapi-load-balancer:certificates
- easyrsa:client
- - canal:etcd
- etcd:db
- - canal:cni
- kubernetes-master:cni
- - canal:cni
- kubernetes-worker:cni
- - prometheus:grafana-source
- grafana:grafana-source
- - telegraf:prometheus-client
- prometheus:target
- - kubernetes-master:juju-info
- telegraf:juju-info
- - kubernetes-worker:juju-info
- telegraf:juju-info
- - telegraf
- prometheus-ceph-exporter
- - telegraf
- alertmanager
- - apache2:reverseproxy
- graylog:website
- - graylog:elasticsearch
- elasticsearch:client
- - graylog:mongodb
- mongodb:database
- - filebeat:beats-host
- kubernetes-master:juju-info
- - filebeat:beats-host
- kubernetes-worker:juju-info
- - filebeat:logstash
- graylog:beats
- - kubernetes-master:ceph-storage
- ceph-mon:admin
- - ceph-mon:osd
- ceph-osd:mon
- - telegraf
- ceph-mon
- - telegraf
- ceph-osd
- - prometheus-ceph-exporter:ceph
- ceph-mon:client
- - prometheus-ceph-exporter:ceph-exporter
- prometheus:target
- - prometheus:alertmanager-service
- alertmanager:alertmanager-service
- ['aws-integrator', 'kubernetes-master']
- ['aws-integrator', 'kubernetes-worker']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment