Weave

Weave 2.0.1 is supported by kubespray

Weave uses consensus mode (default mode) and seed mode.

Consensus mode is best to use on static size cluster and seed mode is best to use on dynamic size cluster

Weave encryption is supported for all communication

  • To use Weave encryption, specify a strong password (if no password, no encryption)
  1. # In file ./inventory/sample/group_vars/k8s-cluster.yml
  2. weave_password: EnterPasswordHere

This password is used to set an environment variable inside weave container.

Weave is deployed by kubespray using a daemonSet

  • Check the status of Weave containers
  1. # From client
  2. kubectl -n kube-system get pods | grep weave
  3. # output
  4. weave-net-50wd2 2/2 Running 0 2m
  5. weave-net-js9rb 2/2 Running 0 2m

There must be as many pods as nodes (here kubernetes have 2 nodes so there are 2 weave pods).

  • Check status of weave (connection,encryption …) for each node
  1. # On nodes
  2. curl http://127.0.0.1:6784/status
  3. # output on node1
  4. Version: 2.0.1 (up to date; next check at 2017/08/01 13:51:34)
  5. Service: router
  6. Protocol: weave 1..2
  7. Name: fa:16:3e:b3:d6:b2(node1)
  8. Encryption: enabled
  9. PeerDiscovery: enabled
  10. Targets: 2
  11. Connections: 2 (1 established, 1 failed)
  12. Peers: 2 (with 2 established connections)
  13. TrustedSubnets: none
  14. Service: ipam
  15. Status: ready
  16. Range: 10.233.64.0/18
  17. DefaultSubnet: 10.233.64.0/18
  • Check parameters of weave for each node
  1. # On nodes
  2. ps -aux | grep weaver
  3. # output on node1 (here its use seed mode)
  4. root 8559 0.2 3.0 365280 62700 ? Sl 08:25 0:00 /home/weave/weaver --name=fa:16:3e:b3:d6:b2 --port=6783 --datapath=datapath --host-root=/host --http-addr=127.0.0.1:6784 --status-addr=0.0.0.0:6782 --docker-api= --no-dns --db-prefix=/weavedb/weave-net --ipalloc-range=10.233.64.0/18 --nickname=node1 --ipalloc-init seed=fa:16:3e:b3:d6:b2,fa:16:3e:f0:50:53 --conn-limit=30 --expect-npc 192.168.208.28 192.168.208.19

Consensus mode (default mode)

This mode is best to use on static size cluster

Seed mode

This mode is best to use on dynamic size cluster

The seed mode also allows multi-clouds and hybrid on-premise/cloud clusters deployment.

  • Switch from consensus mode to seed/Observation mode

See weave ipam documentation and use weave_extra_args to enable.