Skip to content

Instantly share code, notes, and snippets.

@CalvinHartwell
Last active November 15, 2018 22:50
Show Gist options
  • Save CalvinHartwell/15b5698d64db43ae333bb86d0472cb0f to your computer and use it in GitHub Desktop.
Save CalvinHartwell/15b5698d64db43ae333bb86d0472cb0f to your computer and use it in GitHub Desktop.
cdk112-bionic-openstack.yaml
description: A highly-available, production-grade Kubernetes cluster.
series: bionic
services:
easyrsa:
annotations:
gui-x: '450'
gui-y: '550'
charm: cs:~containers/easyrsa-114
constraints: root-disk=8G
num_units: 1
to:
- lxd:kubernetes-worker/0
etcd:
annotations:
gui-x: '800'
gui-y: '550'
charm: cs:~containers/etcd-201
constraints: root-disk=8G
num_units: 3
options:
channel: 3.2/stable
flannel:
annotations:
gui-x: '450'
gui-y: '750'
charm: cs:~containers/flannel-141
kubeapi-load-balancer:
annotations:
gui-x: '450'
gui-y: '250'
charm: cs:~containers/kubeapi-load-balancer-154
constraints: root-disk=8G
expose: true
num_units: 1
kubernetes-master:
annotations:
gui-x: '800'
gui-y: '850'
charm: cs:~containers/kubernetes-master-210
constraints: cores=2 mem=4G root-disk=16G
num_units: 2
options:
channel: 1.12/stable
kubernetes-worker:
annotations:
gui-x: '100'
gui-y: '850'
charm: cs:~containers/kubernetes-worker-231
constraints: cores=4 mem=4G root-disk=16G
expose: true
num_units: 3
options:
channel: 1.12/stable
openstack-integrator:
charm: cs:~containers/openstack-integrator
num_units: 1
options:
#endpoint-tls-ca: include-base64:///home/ubuntu/openstack-ca.crt
# replace all of this below.
password: openstack
project-domain-name: admin_domain
user-domain-name: admin_domain
username: admin
project-name: admin
region: RegionOne
auth-url: http://172.16.7.18:5000/v3
subnet-id: 21ab2f91-9453-4047-a27d-b364a1d0593d
floating-network-id: 06adf264-0048-4ef5-b2f2-1bbeaf48868d
manage-security-groups: true
apache2:
charm: cs:bionic/apache2-26
num_units: 1
expose: true
options:
enable_modules: "headers proxy_html proxy_http"
elasticsearch:
charm: cs:bionic/elasticsearch-31
constraints: mem=4G root-disk=16G
num_units: 1
filebeat:
charm: cs:bionic/filebeat-19
options:
logpath: '/var/log/*.log'
kube_logs: True
graylog:
charm: cs:xenial/graylog-19
constraints: mem=4G
num_units: 1
mongodb:
charm: cs:bionic/mongodb-49
num_units: 1
options:
extra_daemon_options: "--bind_ip_all"
grafana:
charm: cs:bionic/grafana-20
constraints: mem=3G
num_units: 1
expose: true
prometheus:
charm: cs:bionic/prometheus2-8
constraints: mem=3G root-disk=16G
num_units: 1
telegraf:
charm: cs:bionic/telegraf-19
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
- - flannel:etcd
- etcd:db
- - flannel:cni
- kubernetes-master:cni
- - flannel:cni
- kubernetes-worker:cni
- ["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"]
- ["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"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment