Skip to content
Snippets Groups Projects
bundle.yaml 5.44 KiB
##
# The server nodes to be used should be tagged as 'kubernetes'.
# At least one of them should also be tagged as 'public-ip', to denote a machine configured with
# a public IP.
# The server nodes with GPUs should be tagged also 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.

# ----------------------------------------------------------------------
parameters:

  # Constraints
  cluster: &cluster                "kubernetes"
  public-ip: &public_ip            "public-ip"

# ----------------------------------------------------------------------
machines:
  "0":
    series: xenial
    constraints: "tags=*cluster"
  "1":
    series: xenial
    constraints: "tags=*cluster"
  "2":
    series: xenial
    constraints: "tags=*cluster"
  "3":
    series: xenial
    constraints: "tags=*cluster"
  "4":
    series: xenial
    constraints: "tags=*cluster"
  "5":
    series: xenial
    constraints: "tags=*cluster"
  "6":
    series: xenial
    constraints: "tags=*cluster"

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

  defaultgw:
    charm: cs:~csd-garr/defaultgw
    options:
      # ip route | grep default
      gateway: 90.147.161.1
                          
  easyrsa:
    annotations:
      gui-x: '450'
      gui-y: '550'
    charm: cs:~containers/easyrsa
    # charm: cs:~containers/easyrsa-27
    num_units: 1
    bindings:
      "": space-os-mgmt
    to:
      - "lxd:kubernetes-master"

  etcd:
    annotations:
      gui-x: '800'
      gui-y: '550'
    charm: cs:~containers/etcd
    # charm: cs:~containers/etcd-63
    num_units: 3
    constraints: tags=*cluster