Skip to content
Snippets Groups Projects
bundle.yaml 6.74 KiB
##
# The worker nodes to be used should be tagged as 'kubernetes'.
# One server should be tagged as 'kubernetes-public-ip', to denote a machine
# configured with a public IP.
# The worker nodes with GPUs should be tagged as 'gpu'.
##

series: xenial
description: An eight-machine Kubernetes cluster, appropriate for production. Includes a three-machine etcd and ceph-mon cluster, a Kubernetes master, three Kubernetes worker nodes and a Kubernetes worker with GPUs. The Ceph (Luminous) cluster uses three nodes for Ceph Monitors and a Ceph OSD in LXD containers on each worker machine. Two Ceph MDSs provide redundant shared Ceph File System.

# ----------------------------------------------------------------------
machines:
  "0":
    series: xenial
    constraints: tags=kubernetes #root-disk=8G
  "1":
    series: xenial
    constraints: tags=kubernetes #root-disk=8G
  "2":
    series: xenial
    constraints: tags=kubernetes #root-disk=8G

# ----------------------------------------------------------------------
services:

  defaultgw:
    charm: cs:~csd-garr/defaultgw
    options:
      # ip route | grep default
      gateway: 90.147.161.27/25

  easyrsa:
    charm: cs:~containers/easyrsa-50
    bindings:
      "": space-os-mgmt
    num_units: 1
    to:
      # an lxd on the unit of kubernetes-master 
      - "lxd:kubernetes-master"
    annotations:
      gui-x: '450'
      gui-y: '550'

  etcd:
    charm: cs:~containers/etcd-96
    bindings:
      "": space-os-mgmt
    num_units: 3
    # constraints: tags=kubernetes
    options:
      channel: 3.2/stable
    to:
      - "lxd:0"
      - "lxd:1"
      - "lxd:2"
    annotations:
      gui-x: '800'
      gui-y: '550'

  flannel:
    charm: cs:~containers/flannel-66
    # no bindings
    options:
      cidr: 10.111.0.0/16
    annotations:
      gui-x: '450'
      gui-y: '750'

  kubeapi-load-balancer:
    charm: cs:~containers/kubeapi-load-balancer-69