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.

42 lines
2.2 KiB

  1. Downloading binaries and containers
  2. ===================================
  3. Kargo supports several download/upload modes. The default is:
  4. * Each node downloads binaries and container images on its own, which is
  5. ``download_run_once: False``.
  6. * For K8s apps, pull policy is ``k8s_image_pull_policy: IfNotPresent``.
  7. * For system managed containers, like kubelet or etcd, pull policy is
  8. ``download_always_pull: False``, which is pull if only the wanted repo and
  9. tag/sha256 digest differs from that the host has.
  10. There is also a "pull once, push many" mode as well:
  11. * Override the ``download_run_once: True`` to download container images only once
  12. then push to cluster nodes in batches. The default delegate node
  13. for pushing images is the first `kube-master`.
  14. * If your ansible runner node (aka the admin node) have password-less sudo and
  15. docker enabled, you may want to define the ``download_localhost: True``, which
  16. makes that node a delegate for pushing images while running the deployment with
  17. ansible. This maybe the case if cluster nodes cannot access each over via ssh
  18. or you want to use local docker images as a cache for multiple clusters.
  19. Container images and binary files are described by the vars like ``foo_version``,
  20. ``foo_download_url``, ``foo_checksum`` for binaries and ``foo_image_repo``,
  21. ``foo_image_tag`` or optional ``foo_digest_checksum`` for containers.
  22. Container images may be defined by its repo and tag, for example:
  23. `andyshinn/dnsmasq:2.72`. Or by repo and tag and sha256 digest:
  24. `andyshinn/dnsmasq@sha256:7c883354f6ea9876d176fe1d30132515478b2859d6fc0cbf9223ffdc09168193`.
  25. Note, the sha256 digest and the image tag must be both specified and correspond
  26. to each other. The given example above is represented by the following vars:
  27. ```
  28. dnsmasq_digest_checksum: 7c883354f6ea9876d176fe1d30132515478b2859d6fc0cbf9223ffdc09168193
  29. dnsmasq_image_repo: andyshinn/dnsmasq
  30. dnsmasq_image_tag: '2.72'
  31. ```
  32. The full list of available vars may be found in the download's ansible role defaults.
  33. Those also allow to specify custom urls and local repositories for binaries and container
  34. images as well. See also the DNS stack docs for the related intranet configuration,
  35. so the hosts can resolve those urls and repos.