canal #668

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:

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

calico-node-image
(string) The image id to use for calico/node.
rocks.canonical.com:443/cdk/calico/node:v3.6.1
calico-policy-image
(string) The image id to use for calico/kube-controllers.
rocks.canonical.com:443/cdk/calico/kube-controllers:v3.6.1
cidr
(string) Network CIDR to assign to Flannel
10.1.0.0/16
iface
(string) The interface to bind flannel overlay networking. The default value is the interface bound to the cni endpoint.
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