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.

118 lines
5.0 KiB

  1. version = 2
  2. root = "{{ containerd_storage_dir }}"
  3. state = "{{ containerd_state_dir }}"
  4. oom_score = {{ containerd_oom_score }}
  5. {% if containerd_extra_args is defined %}
  6. {{ containerd_extra_args }}
  7. {% endif %}
  8. [grpc]
  9. max_recv_message_size = {{ containerd_grpc_max_recv_message_size }}
  10. max_send_message_size = {{ containerd_grpc_max_send_message_size }}
  11. [debug]
  12. address = "{{ containerd_debug_address }}"
  13. level = "{{ containerd_debug_level }}"
  14. format = "{{ containerd_debug_format }}"
  15. uid = {{ containerd_debug_uid }}
  16. gid = {{ containerd_debug_gid }}
  17. [metrics]
  18. address = "{{ containerd_metrics_address }}"
  19. grpc_histogram = {{ containerd_metrics_grpc_histogram | lower }}
  20. [plugins]
  21. [plugins."io.containerd.grpc.v1.cri"]
  22. sandbox_image = "{{ pod_infra_image_repo }}:{{ pod_infra_image_tag }}"
  23. max_container_log_line_size = {{ containerd_max_container_log_line_size }}
  24. enable_unprivileged_ports = {{ containerd_enable_unprivileged_ports | lower }}
  25. enable_unprivileged_icmp = {{ containerd_enable_unprivileged_icmp | lower }}
  26. enable_selinux = {{ containerd_enable_selinux | lower }}
  27. disable_apparmor = {{ containerd_disable_apparmor | lower }}
  28. tolerate_missing_hugetlb_controller = {{ containerd_tolerate_missing_hugetlb_controller | lower }}
  29. disable_hugetlb_controller = {{ containerd_disable_hugetlb_controller | lower }}
  30. image_pull_progress_timeout = "{{ containerd_image_pull_progress_timeout }}"
  31. {% if enable_cdi %}
  32. enable_cdi = true
  33. cdi_spec_dirs = ["/etc/cdi", "/var/run/cdi"]
  34. {% endif %}
  35. [plugins."io.containerd.grpc.v1.cri".containerd]
  36. default_runtime_name = "{{ containerd_default_runtime }}"
  37. snapshotter = "{{ containerd_snapshotter }}"
  38. discard_unpacked_layers = {{ containerd_discard_unpacked_layers | lower }}
  39. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
  40. {% for runtime in [containerd_runc_runtime] + containerd_additional_runtimes %}
  41. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.{{ runtime.name }}]
  42. runtime_type = "{{ runtime.type }}"
  43. runtime_engine = "{{ runtime.engine }}"
  44. runtime_root = "{{ runtime.root }}"
  45. {% if runtime.base_runtime_spec is defined %}
  46. base_runtime_spec = "{{ containerd_cfg_dir }}/{{ runtime.base_runtime_spec }}"
  47. {% endif %}
  48. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.{{ runtime.name }}.options]
  49. {% for key, value in runtime.options.items() %}
  50. {% if value | string != "true" and value | string != "false" %}
  51. {{ key }} = "{{ value }}"
  52. {% else %}
  53. {{ key }} = {{ value }}
  54. {% endif %}
  55. {% endfor %}
  56. {% endfor %}
  57. {% if kata_containers_enabled %}
  58. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.kata-qemu]
  59. runtime_type = "io.containerd.kata-qemu.v2"
  60. {% endif %}
  61. {% if gvisor_enabled %}
  62. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  63. runtime_type = "io.containerd.runsc.v1"
  64. {% endif %}
  65. [plugins."io.containerd.grpc.v1.cri".registry]
  66. {% if containerd_use_config_path is defined and containerd_use_config_path|bool %}
  67. config_path = "{{ containerd_cfg_dir }}/certs.d"
  68. {% else %}
  69. [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
  70. {% set insecure_registries_addr = [] %}
  71. {% for registry in containerd_registries_mirrors %}
  72. [plugins."io.containerd.grpc.v1.cri".registry.mirrors."{{ registry.prefix }}"]
  73. {% set endpoint = [] %}
  74. {% for mirror in registry.mirrors %}
  75. {% if endpoint.append(mirror.host) %}{% endif %}
  76. {% if mirror.skip_verify is defined and mirror.skip_verify|bool %}{% if insecure_registries_addr.append(mirror.host | urlsplit('netloc')) %}{% endif %}{% endif %}
  77. {% endfor %}
  78. endpoint = ["{{ ( endpoint | unique ) | join('","') }}"]
  79. {% endfor %}
  80. {% for addr in insecure_registries_addr | unique %}
  81. [plugins."io.containerd.grpc.v1.cri".registry.configs."{{ addr }}".tls]
  82. insecure_skip_verify = true
  83. {% endfor %}
  84. {% endif %}
  85. {% for registry in containerd_registry_auth if registry['registry'] is defined %}
  86. {% if (registry['username'] is defined and registry['password'] is defined) or registry['auth'] is defined %}
  87. [plugins."io.containerd.grpc.v1.cri".registry.configs."{{ registry['registry'] }}".auth]
  88. {% if registry['username'] is defined and registry['password'] is defined %}
  89. password = "{{ registry['password'] }}"
  90. username = "{{ registry['username'] }}"
  91. {% else %}
  92. auth = "{{ registry['auth'] }}"
  93. {% endif %}
  94. {% endif %}
  95. {% endfor %}
  96. {% if nri_enabled and containerd_version is version('1.7.0', '>=') %}
  97. [plugins."io.containerd.nri.v1.nri"]
  98. disable = false
  99. {% endif %}
  100. {% if containerd_tracing_enabled %}
  101. [plugins."io.containerd.tracing.processor.v1.otlp"]
  102. endpoint = "{{ containerd_tracing_endpoint }}"
  103. protocol = "{{ containerd_tracing_protocol }}"
  104. {% if containerd_tracing_protocol == "grpc" %}
  105. insecure = false
  106. {% endif %}
  107. [plugins."io.containerd.internal.v1.tracing"]
  108. sampling_ratio = {{ containerd_tracing_sampling_ratio }}
  109. service_name = "{{ containerd_tracing_service_name }}"
  110. {% endif %}