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.

292 lines
12 KiB

  1. ---
  2. cilium_min_version_required: "1.10"
  3. # Log-level
  4. cilium_debug: false
  5. cilium_mtu: ""
  6. cilium_enable_ipv4: true
  7. cilium_enable_ipv6: false
  8. # Cilium agent health port
  9. cilium_agent_health_port: "{%- if cilium_version | regex_replace('v') is version('1.11.6', '>=') -%}9879 {%- else -%} 9876 {%- endif -%}"
  10. # Identity allocation mode selects how identities are shared between cilium
  11. # nodes by setting how they are stored. The options are "crd" or "kvstore".
  12. # - "crd" stores identities in kubernetes as CRDs (custom resource definition).
  13. # These can be queried with:
  14. # `kubectl get ciliumid`
  15. # - "kvstore" stores identities in an etcd kvstore.
  16. # - In order to support External Workloads, "crd" is required
  17. # - Ref: https://docs.cilium.io/en/stable/gettingstarted/external-workloads/#setting-up-support-for-external-workloads-beta
  18. # - KVStore operations are only required when cilium-operator is running with any of the below options:
  19. # - --synchronize-k8s-services
  20. # - --synchronize-k8s-nodes
  21. # - --identity-allocation-mode=kvstore
  22. # - Ref: https://docs.cilium.io/en/stable/internals/cilium_operator/#kvstore-operations
  23. cilium_identity_allocation_mode: kvstore
  24. # Etcd SSL dirs
  25. cilium_cert_dir: /etc/cilium/certs
  26. kube_etcd_cacert_file: ca.pem
  27. kube_etcd_cert_file: node-{{ inventory_hostname }}.pem
  28. kube_etcd_key_file: node-{{ inventory_hostname }}-key.pem
  29. # Limits for apps
  30. cilium_memory_limit: 500M
  31. cilium_cpu_limit: 500m
  32. cilium_memory_requests: 64M
  33. cilium_cpu_requests: 100m
  34. # Overlay Network Mode
  35. cilium_tunnel_mode: vxlan
  36. # Optional features
  37. cilium_enable_prometheus: false
  38. # Enable if you want to make use of hostPort mappings
  39. cilium_enable_portmap: false
  40. # Monitor aggregation level (none/low/medium/maximum)
  41. cilium_monitor_aggregation: medium
  42. # Kube Proxy Replacement mode (strict/partial)
  43. cilium_kube_proxy_replacement: partial
  44. # If upgrading from Cilium < 1.5, you may want to override some of these options
  45. # to prevent service disruptions. See also:
  46. # http://docs.cilium.io/en/stable/install/upgrade/#changes-that-may-require-action
  47. cilium_preallocate_bpf_maps: false
  48. # `cilium_tofqdns_enable_poller` is deprecated in 1.8, removed in 1.9
  49. cilium_tofqdns_enable_poller: false
  50. # `cilium_enable_legacy_services` is deprecated in 1.6, removed in 1.9
  51. cilium_enable_legacy_services: false
  52. # Deploy cilium even if kube_network_plugin is not cilium.
  53. # This enables to deploy cilium alongside another CNI to replace kube-proxy.
  54. cilium_deploy_additionally: false
  55. # Auto direct nodes routes can be used to advertise pods routes in your cluster
  56. # without any tunelling (with `cilium_tunnel_mode` sets to `disabled`).
  57. # This works only if you have a L2 connectivity between all your nodes.
  58. # You wil also have to specify the variable `cilium_native_routing_cidr` to
  59. # make this work. Please refer to the cilium documentation for more
  60. # information about this kind of setups.
  61. cilium_auto_direct_node_routes: false
  62. # Allows to explicitly specify the IPv4 CIDR for native routing.
  63. # When specified, Cilium assumes networking for this CIDR is preconfigured and
  64. # hands traffic destined for that range to the Linux network stack without
  65. # applying any SNAT.
  66. # Generally speaking, specifying a native routing CIDR implies that Cilium can
  67. # depend on the underlying networking stack to route packets to their
  68. # destination. To offer a concrete example, if Cilium is configured to use
  69. # direct routing and the Kubernetes CIDR is included in the native routing CIDR,
  70. # the user must configure the routes to reach pods, either manually or by
  71. # setting the auto-direct-node-routes flag.
  72. cilium_native_routing_cidr: ""
  73. # Allows to explicitly specify the IPv6 CIDR for native routing.
  74. cilium_native_routing_cidr_ipv6: ""
  75. # Enable transparent network encryption.
  76. cilium_encryption_enabled: false
  77. # Encryption method. Can be either ipsec or wireguard.
  78. # Only effective when `cilium_encryption_enabled` is set to true.
  79. cilium_encryption_type: "ipsec"
  80. # Enable encryption for pure node to node traffic.
  81. # This option is only effective when `cilium_encryption_type` is set to `ipsec`.
  82. cilium_ipsec_node_encryption: false
  83. # If your kernel or distribution does not support WireGuard, Cilium agent can be configured to fall back on the user-space implementation.
  84. # When this flag is enabled and Cilium detects that the kernel has no native support for WireGuard,
  85. # it will fallback on the wireguard-go user-space implementation of WireGuard.
  86. # This option is only effective when `cilium_encryption_type` is set to `wireguard`.
  87. cilium_wireguard_userspace_fallback: false
  88. # Enable Bandwidth Manager
  89. # Cilium’s bandwidth manager supports the kubernetes.io/egress-bandwidth Pod annotation.
  90. # Bandwidth enforcement currently does not work in combination with L7 Cilium Network Policies.
  91. # In case they select the Pod at egress, then the bandwidth enforcement will be disabled for those Pods.
  92. # Bandwidth Manager requires a v5.1.x or more recent Linux kernel.
  93. cilium_enable_bandwidth_manager: false
  94. # IP Masquerade Agent
  95. # https://docs.cilium.io/en/stable/concepts/networking/masquerading/
  96. # By default, all packets from a pod destined to an IP address outside of the cilium_native_routing_cidr range are masqueraded
  97. cilium_ip_masq_agent_enable: false
  98. ### A packet sent from a pod to a destination which belongs to any CIDR from the nonMasqueradeCIDRs is not going to be masqueraded
  99. cilium_non_masquerade_cidrs:
  100. - 10.0.0.0/8
  101. - 172.16.0.0/12
  102. - 192.168.0.0/16
  103. - 100.64.0.0/10
  104. - 192.0.0.0/24
  105. - 192.0.2.0/24
  106. - 192.88.99.0/24
  107. - 198.18.0.0/15
  108. - 198.51.100.0/24
  109. - 203.0.113.0/24
  110. - 240.0.0.0/4
  111. ### Indicates whether to masquerade traffic to the link local prefix.
  112. ### If the masqLinkLocal is not set or set to false, then 169.254.0.0/16 is appended to the non-masquerade CIDRs list.
  113. cilium_masq_link_local: false
  114. ### A time interval at which the agent attempts to reload config from disk
  115. cilium_ip_masq_resync_interval: 60s
  116. # Hubble
  117. ### Enable Hubble without install
  118. cilium_enable_hubble: false
  119. ### Enable Hubble Metrics
  120. cilium_enable_hubble_metrics: false
  121. ### if cilium_enable_hubble_metrics: true
  122. cilium_hubble_metrics: {}
  123. # - dns
  124. # - drop
  125. # - tcp
  126. # - flow
  127. # - icmp
  128. # - http
  129. ### Enable Hubble install
  130. cilium_hubble_install: false
  131. ### Enable auto generate certs if cilium_hubble_install: true
  132. cilium_hubble_tls_generate: false
  133. # The default IP address management mode is "Cluster Scope".
  134. # https://docs.cilium.io/en/stable/concepts/networking/ipam/
  135. cilium_ipam_mode: cluster-pool
  136. # Cluster Pod CIDRs use the kube_pods_subnet value by default.
  137. # If your node network is in the same range you will lose connectivity to other nodes.
  138. # Defaults to kube_pods_subnet if not set.
  139. # cilium_pool_cidr: 10.233.64.0/18
  140. # When cilium_enable_ipv6 is used, you need to set the IPV6 value. Defaults to kube_pods_subnet_ipv6 if not set.
  141. # cilium_pool_cidr_ipv6: fd85:ee78:d8a6:8607::1:0000/112
  142. # When cilium IPAM uses the "Cluster Scope" mode, it will pre-allocate a segment of IP to each node,
  143. # schedule the Pod to this node, and then allocate IP from here. cilium_pool_mask_size Specifies
  144. # the size allocated from cluster Pod CIDR to node.ipam.podCIDRs
  145. # Defaults to kube_network_node_prefix if not set.
  146. # cilium_pool_mask_size: "24"
  147. # cilium_pool_mask_size Specifies the size allocated to node.ipam.podCIDRs from cluster Pod IPV6 CIDR
  148. # Defaults to kube_network_node_prefix_ipv6 if not set.
  149. # cilium_pool_mask_size_ipv6: "120"
  150. # Extra arguments for the Cilium agent
  151. cilium_agent_custom_args: []
  152. # For adding and mounting extra volumes to the cilium agent
  153. cilium_agent_extra_volumes: []
  154. cilium_agent_extra_volume_mounts: []
  155. cilium_agent_extra_env_vars: []
  156. cilium_operator_replicas: 2
  157. # The address at which the cillium operator bind health check api
  158. cilium_operator_api_serve_addr: "127.0.0.1:9234"
  159. ## A dictionary of extra config variables to add to cilium-config, formatted like:
  160. ## cilium_config_extra_vars:
  161. ## var1: "value1"
  162. ## var2: "value2"
  163. cilium_config_extra_vars: {}
  164. # For adding and mounting extra volumes to the cilium operator
  165. cilium_operator_extra_volumes: []
  166. cilium_operator_extra_volume_mounts: []
  167. # Extra arguments for the Cilium Operator
  168. cilium_operator_custom_args: []
  169. # Name of the cluster. Only relevant when building a mesh of clusters.
  170. cilium_cluster_name: default
  171. # Make Cilium take ownership over the `/etc/cni/net.d` directory on the node, renaming all non-Cilium CNI configurations to `*.cilium_bak`.
  172. # This ensures no Pods can be scheduled using other CNI plugins during Cilium agent downtime.
  173. # Available for Cilium v1.10 and up.
  174. cilium_cni_exclusive: true
  175. # Configure the log file for CNI logging with retention policy of 7 days.
  176. # Disable CNI file logging by setting this field to empty explicitly.
  177. # Available for Cilium v1.12 and up.
  178. cilium_cni_log_file: "/var/run/cilium/cilium-cni.log"
  179. # -- Configure cgroup related configuration
  180. # -- Enable auto mount of cgroup2 filesystem.
  181. # When `cilium_cgroup_auto_mount` is enabled, cgroup2 filesystem is mounted at
  182. # `cilium_cgroup_host_root` path on the underlying host and inside the cilium agent pod.
  183. # If users disable `cilium_cgroup_auto_mount`, it's expected that users have mounted
  184. # cgroup2 filesystem at the specified `cilium_cgroup_auto_mount` volume, and then the
  185. # volume will be mounted inside the cilium agent pod at the same path.
  186. # Available for Cilium v1.11 and up
  187. cilium_cgroup_auto_mount: true
  188. # -- Configure cgroup root where cgroup2 filesystem is mounted on the host
  189. cilium_cgroup_host_root: "/run/cilium/cgroupv2"
  190. # Specifies the ratio (0.0-1.0) of total system memory to use for dynamic
  191. # sizing of the TCP CT, non-TCP CT, NAT and policy BPF maps.
  192. cilium_bpf_map_dynamic_size_ratio: "0.0025"
  193. # -- Enables masquerading of IPv4 traffic leaving the node from endpoints.
  194. # Available for Cilium v1.10 and up
  195. cilium_enable_ipv4_masquerade: true
  196. # -- Enables masquerading of IPv6 traffic leaving the node from endpoints.
  197. # Available for Cilium v1.10 and up
  198. cilium_enable_ipv6_masquerade: true
  199. # -- Enable native IP masquerade support in eBPF
  200. cilium_enable_bpf_masquerade: false
  201. # -- Configure whether direct routing mode should route traffic via
  202. # host stack (true) or directly and more efficiently out of BPF (false) if
  203. # the kernel supports it. The latter has the implication that it will also
  204. # bypass netfilter in the host namespace.
  205. cilium_enable_host_legacy_routing: true
  206. # -- Enable use of the remote node identity.
  207. # ref: https://docs.cilium.io/en/v1.7/install/upgrade/#configmap-remote-node-identity
  208. cilium_enable_remote_node_identity: true
  209. # -- Enable the use of well-known identities.
  210. cilium_enable_well_known_identities: false
  211. # The monitor aggregation flags determine which TCP flags which, upon the
  212. # first observation, cause monitor notifications to be generated.
  213. #
  214. # Only effective when monitor aggregation is set to "medium" or higher.
  215. cilium_monitor_aggregation_flags: "all"
  216. cilium_enable_bpf_clock_probe: true
  217. # -- Whether to enable CNP status updates.
  218. cilium_disable_cnp_status_updates: true
  219. # Configure how long to wait for the Cilium DaemonSet to be ready again
  220. cilium_rolling_restart_wait_retries_count: 30
  221. cilium_rolling_restart_wait_retries_delay_seconds: 10
  222. # Cilium changed the default metrics exporter ports in 1.12
  223. cilium_agent_scrape_port: "{{ cilium_version | regex_replace('v') is version('1.12', '>=') | ternary('9962', '9090') }}"
  224. cilium_operator_scrape_port: "{{ cilium_version | regex_replace('v') is version('1.12', '>=') | ternary('9963', '6942') }}"
  225. cilium_hubble_scrape_port: "{{ cilium_version | regex_replace('v') is version('1.12', '>=') | ternary('9965', '9091') }}"
  226. # Cilium certgen args for generate certificate for hubble mTLS
  227. cilium_certgen_args:
  228. cilium-namespace: kube-system
  229. ca-reuse-secret: true
  230. ca-secret-name: hubble-ca-secret
  231. ca-generate: true
  232. ca-validity-duration: 94608000s
  233. hubble-server-cert-generate: true
  234. hubble-server-cert-common-name: '*.{{ cilium_cluster_name }}.hubble-grpc.cilium.io'
  235. hubble-server-cert-validity-duration: 94608000s
  236. hubble-server-cert-secret-name: hubble-server-certs
  237. hubble-relay-client-cert-generate: true
  238. hubble-relay-client-cert-common-name: '*.{{ cilium_cluster_name }}.hubble-grpc.cilium.io'
  239. hubble-relay-client-cert-validity-duration: 94608000s
  240. hubble-relay-client-cert-secret-name: hubble-relay-client-certs
  241. hubble-relay-server-cert-generate: false