canal #496

Supports: xenial bionic

Add to new model

Description

Canal is a community-driven initiative that aims to allow users to easily
deploy Calico and flannel networking together as a unified networking
solution - combining Calico's industry-leading network policy enforcement
with the rich superset of Calico and flannel overlay and non-overlay network
connectivity options.


Canal Charm

Canal is a community-driven initiative that aims to allow users to easily
deploy Calico and flannel networking together as a unified networking
solution - combining Calico’s industry-leading network policy enforcement with
the rich superset of Calico and flannel overlay and non-overlay network
connectivity options.

This charm will deploy flannel and calico as background services, and configure
CNI to use them, on any principal charm that implements the kubernetes-cni
interface.

Usage

The canal charm is a subordinate. This charm will require a principal charm
that implements the kubernetes-cni interface in order to properly deploy.

juju deploy cs:~containers/canal juju deploy cs:~containers/etcd juju deploy cs:~containers/kubernetes-master juju deploy cs:~containers/kubernetes-worker juju add-relation canal etcd juju add-relation canal kubernetes-master juju add-relation canal kubernetes-worker

Configuration

iface The interface to configure the flannel SDN binding. If this value is empty string or undefined the code will attempt to find the default network
adapter similar to the following command:
bash route | grep default | head -n 1 | awk {'print $8'}

cidr The network range to configure the flannel SDN to declare when establishing networking setup with etcd. Ensure this network range is not active
on the vlan you're deploying to, as it will cause collisions and odd behavior
if care is not taken when selecting a good CIDR range to assign to flannel.

nagios_context A string that will be prepended to instance name to set the host name in nagios.If you're running multiple environments with the same
services in them this allows you to differentiate between them. Used by the
nrpe subordinate charm.

nagios_servicegroups The comma-separated list of servicegroups that the generated Nagios checks will belong to.

Known Limitations

This subordinate does not support being co-located with other deployments of
the canal subordinate (to gain 2 vlans on a single application). If you
require this support please file a bug.

This subordinate also leverages juju-resources, so it is currently only
available on juju 2.0+ controllers.

Further information


Configuration

apt-key-server
(string) APT Key Server
hkp://keyserver.ubuntu.com:80
calico-node-image
(string) The image id to use for calico/node.
quay.io/calico/node:v2.6.10
calico-policy-image
(string) The image id to use for calico/kube-controllers.
quay.io/calico/kube-controllers:v1.0.4
cidr
(string) Network CIDR to assign to Flannel
10.1.0.0/16
cuda_repo
(string) The cuda-repo package version to install.
10.0.130-1
docker-ce-package
(string) The pinned version of docker-ce package installed with nvidia-docker.
docker-ce
docker-opts
(string) Extra options to pass to the docker daemon. e.g. --insecure-registry
docker_runtime
(string) docker runtime to install valid values are "upstream" (docker PPA), "nvidia" (nvidia PPA), "apt" (ubuntu archive), or "auto" (nvidia PPA or ubuntu archive, based on your hardware)
auto
enable-cgroups
(boolean) Enable GRUB cgroup overrides cgroup_enable=memory swapaccount=1. WARNING changing this option will reboot the host - use with caution on production services
http_proxy
(string) URL to use for HTTP_PROXY to be used by Docker. Useful in egress-filtered environments where a proxy is the only option for accessing the registry to pull images.
https_proxy
(string) URL to use for HTTPS_PROXY to be used by Docker. Useful in egress-filtered environments where a proxy is the only option for accessing the registry to pull images.
iface
(string) The interface to bind flannel overlay networking. The default value is the interface bound to the cni endpoint.
install_from_upstream
(boolean) Toggle installation from ubuntu archive vs the docker PPA (DEPRECATED; please use docker_runtime instead)
nagios_context
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
juju
nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
no_proxy
(string) Comma-separated list of destinations (either domain names or IP addresses) which should be accessed directly, rather than through the proxy defined in http_proxy or https_proxy. Must be less than 2023 characters long.
nvidia-container-runtime-package
(string) The pinned version of nvidia-container-runtime package.
nvidia-container-runtime
nvidia-docker-package
(string) The pinned version of nvidia-docker2 package.
nvidia-docker2