You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.6 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. # Weave
  2. Weave 2.0.1 is supported by kubespray
  3. Weave uses [**consensus**](https://www.weave.works/docs/net/latest/ipam/##consensus) mode (default mode) and [**seed**](https://www.weave.works/docs/net/latest/ipam/#seed) mode.
  4. `Consensus` mode is best to use on static size cluster and `seed` mode is best to use on dynamic size cluster
  5. Weave encryption is supported for all communication
  6. * To use Weave encryption, specify a strong password (if no password, no encryption)
  7. ```ShellSession
  8. # In file ./inventory/sample/group_vars/k8s_cluster.yml
  9. weave_password: EnterPasswordHere
  10. ```
  11. This password is used to set an environment variable inside weave container.
  12. Weave is deployed by kubespray using a daemonSet
  13. * Check the status of Weave containers
  14. ```ShellSession
  15. # From client
  16. kubectl -n kube-system get pods | grep weave
  17. # output
  18. weave-net-50wd2 2/2 Running 0 2m
  19. weave-net-js9rb 2/2 Running 0 2m
  20. ```
  21. There must be as many pods as nodes (here kubernetes have 2 nodes so there are 2 weave pods).
  22. * Check status of weave (connection,encryption ...) for each node
  23. ```ShellSession
  24. # On nodes
  25. curl http://127.0.0.1:6784/status
  26. # output on node1
  27. Version: 2.0.1 (up to date; next check at 2017/08/01 13:51:34)
  28. Service: router
  29. Protocol: weave 1..2
  30. Name: fa:16:3e:b3:d6:b2(node1)
  31. Encryption: enabled
  32. PeerDiscovery: enabled
  33. Targets: 2
  34. Connections: 2 (1 established, 1 failed)
  35. Peers: 2 (with 2 established connections)
  36. TrustedSubnets: none
  37. Service: ipam
  38. Status: ready
  39. Range: 10.233.64.0/18
  40. DefaultSubnet: 10.233.64.0/18
  41. ```
  42. * Check parameters of weave for each node
  43. ```ShellSession
  44. # On nodes
  45. ps -aux | grep weaver
  46. # output on node1 (here its use seed mode)
  47. 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
  48. ```
  49. ## Consensus mode (default mode)
  50. This mode is best to use on static size cluster
  51. ### Seed mode
  52. This mode is best to use on dynamic size cluster
  53. The seed mode also allows multi-clouds and hybrid on-premise/cloud clusters deployment.
  54. * Switch from consensus mode to seed/Observation mode
  55. See [weave ipam documentation](https://www.weave.works/docs/net/latest/tasks/ipam/ipam/) and use `weave_extra_args` to enable.