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.

99 lines
2.8 KiB

  1. # Docker support
  2. The docker runtime is supported by kubespray and while the `dockershim` is deprecated to be removed in kubernetes 1.24+ there are alternative ways to use docker such as through the [cri-dockerd](https://github.com/Mirantis/cri-dockerd) project supported by Mirantis.
  3. Using the docker container manager:
  4. ```yaml
  5. container_manager: docker
  6. ```
  7. *Note:* `cri-dockerd` has replaced `dockershim` across supported kubernetes version in kubespray 2.20.
  8. Enabling the `overlay2` graph driver:
  9. ```yaml
  10. docker_storage_options: -s overlay2
  11. ```
  12. Enabling `docker_container_storage_setup`, it will configure devicemapper driver on Centos7 or RedHat7.
  13. Deployers must be define a disk path for `docker_container_storage_setup_devs`, otherwise docker-storage-setup will be executed incorrectly.
  14. ```yaml
  15. docker_container_storage_setup: true
  16. docker_container_storage_setup_devs: /dev/vdb
  17. ```
  18. Changing the Docker cgroup driver (native.cgroupdriver); valid options are `systemd` or `cgroupfs`, default is `systemd`:
  19. ```yaml
  20. docker_cgroup_driver: systemd
  21. ```
  22. If you have more than 3 nameservers kubespray will only use the first 3 else it will fail. Set the `docker_dns_servers_strict` to `false` to prevent deployment failure.
  23. ```yaml
  24. docker_dns_servers_strict: false
  25. ```
  26. Set the path used to store Docker data:
  27. ```yaml
  28. docker_daemon_graph: "/var/lib/docker"
  29. ```
  30. Changing the docker daemon iptables support:
  31. ```yaml
  32. docker_iptables_enabled: "false"
  33. ```
  34. Docker log options:
  35. ```yaml
  36. # Rotate container stderr/stdout logs at 50m and keep last 5
  37. docker_log_opts: "--log-opt max-size=50m --log-opt max-file=5"
  38. ```
  39. Change the docker `bin_dir`, this should not be changed unless you use a custom docker package:
  40. ```yaml
  41. docker_bin_dir: "/usr/bin"
  42. ```
  43. To keep docker packages after installation; speeds up repeated ansible provisioning runs when '1'.
  44. kubespray deletes the docker package on each run, so caching the package makes sense:
  45. ```yaml
  46. docker_rpm_keepcache: 1
  47. ```
  48. Allowing insecure-registry access to self hosted registries. Can be ipaddress and domain_name.
  49. ```yaml
  50. ## example define 172.19.16.11 or mirror.registry.io
  51. docker_insecure_registries:
  52. - mirror.registry.io
  53. - 172.19.16.11
  54. ```
  55. Adding other registry, i.e. China registry mirror:
  56. ```yaml
  57. docker_registry_mirrors:
  58. - https://registry.docker-cn.com
  59. - https://mirror.aliyuncs.com
  60. ```
  61. Overriding default system MountFlags value. This option takes a mount propagation flag: `shared`, `slave` or `private`, which control whether mounts in the file system namespace set up for docker will receive or propagate mounts and unmounts. Leave empty for system default:
  62. ```yaml
  63. docker_mount_flags:
  64. ```
  65. Adding extra options to pass to the docker daemon:
  66. ```yaml
  67. ## This string should be exactly as you wish it to appear.
  68. docker_options: ""
  69. ```