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.

244 lines
9.1 KiB

6 years ago
  1. ---
  2. # advertised host IP for kubelet. This affects network plugin config. Take caution
  3. kubelet_address: "{{ ip | default(fallback_ips[inventory_hostname]) }}{{ (',' + ip6) if enable_dual_stack_networks and ip6 is defined else '' }}"
  4. # bind address for kubelet. Set to 0.0.0.0 to listen on all interfaces
  5. kubelet_bind_address: "{{ ip | default('0.0.0.0') }}"
  6. # resolv.conf to base dns config
  7. kube_resolv_conf: "/etc/resolv.conf"
  8. # Set to empty to avoid cgroup creation
  9. kubelet_enforce_node_allocatable: "\"\""
  10. # Set runtime and kubelet cgroups when using systemd as cgroup driver (default)
  11. kube_service_cgroups: "{% if kube_reserved %}{{ kube_reserved_cgroups_for_service_slice }}{% else %}system.slice{% endif %}"
  12. kubelet_runtime_cgroups: "/{{ kube_service_cgroups }}/{{ container_manager }}.service"
  13. kubelet_kubelet_cgroups: "/{{ kube_service_cgroups }}/kubelet.service"
  14. # Set runtime and kubelet cgroups when using cgroupfs as cgroup driver
  15. kubelet_runtime_cgroups_cgroupfs: "/system.slice/{{ container_manager }}.service"
  16. kubelet_kubelet_cgroups_cgroupfs: "/system.slice/kubelet.service"
  17. ### fail with swap on (default true)
  18. kubelet_fail_swap_on: true
  19. # Set systemd service hardening features
  20. kubelet_systemd_hardening: false
  21. # List of secure IPs for kubelet
  22. kubelet_secure_addresses: >-
  23. {%- for host in groups['kube_control_plane'] -%}
  24. {{ hostvars[host]['ip'] | default(fallback_ips[host]) }}{{ ' ' if not loop.last else '' }}
  25. {%- endfor -%}
  26. # Reserve this space for kube resources
  27. # Set to true to reserve resources for kube daemons
  28. kube_reserved: false
  29. kube_reserved_cgroups_for_service_slice: kube.slice
  30. kube_reserved_cgroups: "/{{ kube_reserved_cgroups_for_service_slice }}"
  31. kube_memory_reserved: 256Mi
  32. kube_cpu_reserved: 100m
  33. # kube_ephemeral_storage_reserved: 2Gi
  34. # kube_pid_reserved: "1000"
  35. # Reservation for master hosts
  36. kube_master_memory_reserved: 512Mi
  37. kube_master_cpu_reserved: 200m
  38. # kube_master_ephemeral_storage_reserved: 2Gi
  39. # kube_master_pid_reserved: "1000"
  40. # Set to true to reserve resources for system daemons
  41. system_reserved: false
  42. system_reserved_cgroups_for_service_slice: system.slice
  43. system_reserved_cgroups: "/{{ system_reserved_cgroups_for_service_slice }}"
  44. system_memory_reserved: 512Mi
  45. system_cpu_reserved: 500m
  46. # system_ephemeral_storage_reserved: 2Gi
  47. # system_pid_reserved: "1000"
  48. # Reservation for master hosts
  49. system_master_memory_reserved: 256Mi
  50. system_master_cpu_reserved: 250m
  51. # system_master_ephemeral_storage_reserved: 2Gi
  52. # system_master_pid_reserved: "1000"
  53. ## Eviction Thresholds to avoid system OOMs
  54. # https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#eviction-thresholds
  55. eviction_hard: {}
  56. eviction_hard_control_plane: {}
  57. kubelet_status_update_frequency: 10s
  58. # kube-vip
  59. kube_vip_version: v0.5.12
  60. kube_vip_arp_enabled: false
  61. kube_vip_interface:
  62. kube_vip_services_interface:
  63. kube_vip_cidr: 32
  64. kube_vip_controlplane_enabled: false
  65. kube_vip_ddns_enabled: false
  66. kube_vip_services_enabled: false
  67. kube_vip_leader_election_enabled: "{{ kube_vip_arp_enabled }}"
  68. kube_vip_bgp_enabled: false
  69. kube_vip_bgp_routerid:
  70. kube_vip_local_as: 65000
  71. kube_vip_bgp_peeraddress:
  72. kube_vip_bgp_peerpass:
  73. kube_vip_bgp_peeras: 65000
  74. kube_vip_bgppeers:
  75. kube_vip_address:
  76. kube_vip_enableServicesElection: false
  77. kube_vip_lb_enable: false
  78. # Requests for load balancer app
  79. loadbalancer_apiserver_memory_requests: 32M
  80. loadbalancer_apiserver_cpu_requests: 25m
  81. loadbalancer_apiserver_keepalive_timeout: 5m
  82. # Uncomment if you need to enable deprecated runtimes
  83. # kube_api_runtime_config:
  84. # - apps/v1beta1=true
  85. # - apps/v1beta2=true
  86. # - extensions/v1beta1/daemonsets=true
  87. # - extensions/v1beta1/deployments=true
  88. # - extensions/v1beta1/replicasets=true
  89. # - extensions/v1beta1/networkpolicies=true
  90. # - extensions/v1beta1/podsecuritypolicies=true
  91. # A port range to reserve for services with NodePort visibility.
  92. # Inclusive at both ends of the range.
  93. kube_apiserver_node_port_range: "30000-32767"
  94. # Configure the amount of pods able to run on single node
  95. # default is equal to application default
  96. kubelet_max_pods: 110
  97. # Sets the maximum number of processes running per Pod
  98. # Default value -1 = unlimited
  99. kubelet_pod_pids_limit: -1
  100. ## Support parameters to be passed to kubelet via kubelet-config.yaml
  101. kubelet_config_extra_args: {}
  102. ## Parameters to be passed to kubelet via kubelet-config.yaml when cgroupfs is used as cgroup driver
  103. kubelet_config_extra_args_cgroupfs:
  104. systemCgroups: /system.slice
  105. cgroupRoot: /
  106. ## Support parameters to be passed to kubelet via kubelet-config.yaml only on nodes, not masters
  107. kubelet_node_config_extra_args: {}
  108. # Maximum number of container log files that can be present for a container.
  109. kubelet_logfiles_max_nr: 5
  110. # Maximum size of the container log file before it is rotated
  111. kubelet_logfiles_max_size: 10Mi
  112. ## Support custom flags to be passed to kubelet
  113. kubelet_custom_flags: []
  114. ## Support custom flags to be passed to kubelet only on nodes, not masters
  115. kubelet_node_custom_flags: []
  116. # If non-empty, will use this string as identification instead of the actual hostname
  117. kube_override_hostname: >-
  118. {%- if cloud_provider is defined and cloud_provider in [ 'aws' ] -%}
  119. {%- else -%}
  120. {{ inventory_hostname }}
  121. {%- endif -%}
  122. # The read-only port for the Kubelet to serve on with no authentication/authorization.
  123. kube_read_only_port: 0
  124. # Port for healthz for Kubelet
  125. kubelet_healthz_port: 10248
  126. # Bind address for healthz for Kubelet
  127. kubelet_healthz_bind_address: 127.0.0.1
  128. # sysctl_file_path to add sysctl conf to
  129. sysctl_file_path: "/etc/sysctl.d/99-sysctl.conf"
  130. # For the openstack integration kubelet will need credentials to access
  131. # openstack apis like nova and cinder. Per default this values will be
  132. # read from the environment.
  133. openstack_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
  134. openstack_username: "{{ lookup('env','OS_USERNAME') }}"
  135. openstack_password: "{{ lookup('env','OS_PASSWORD') }}"
  136. openstack_region: "{{ lookup('env','OS_REGION_NAME') }}"
  137. openstack_tenant_id: "{{ lookup('env','OS_TENANT_ID')| default(lookup('env','OS_PROJECT_ID')|default(lookup('env','OS_PROJECT_NAME'),true),true) }}"
  138. openstack_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
  139. openstack_domain_name: "{{ lookup('env','OS_USER_DOMAIN_NAME') }}"
  140. openstack_domain_id: "{{ lookup('env','OS_USER_DOMAIN_ID') }}"
  141. # For the vsphere integration, kubelet will need credentials to access
  142. # vsphere apis
  143. # Documentation regarding these values can be found
  144. # https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/vsphere/vsphere.go#L105
  145. vsphere_vcenter_ip: "{{ lookup('env', 'VSPHERE_VCENTER') }}"
  146. vsphere_vcenter_port: "{{ lookup('env', 'VSPHERE_VCENTER_PORT') }}"
  147. vsphere_user: "{{ lookup('env', 'VSPHERE_USER') }}"
  148. vsphere_password: "{{ lookup('env', 'VSPHERE_PASSWORD') }}"
  149. vsphere_datacenter: "{{ lookup('env', 'VSPHERE_DATACENTER') }}"
  150. vsphere_datastore: "{{ lookup('env', 'VSPHERE_DATASTORE') }}"
  151. vsphere_working_dir: "{{ lookup('env', 'VSPHERE_WORKING_DIR') }}"
  152. vsphere_insecure: "{{ lookup('env', 'VSPHERE_INSECURE') }}"
  153. vsphere_resource_pool: "{{ lookup('env', 'VSPHERE_RESOURCE_POOL') }}"
  154. vsphere_scsi_controller_type: pvscsi
  155. # vsphere_public_network is name of the network the VMs are joined to
  156. vsphere_public_network: "{{ lookup('env', 'VSPHERE_PUBLIC_NETWORK')|default('') }}"
  157. ## When azure is used, you need to also set the following variables.
  158. ## see docs/azure.md for details on how to get these values
  159. # azure_tenant_id:
  160. # azure_subscription_id:
  161. # azure_aad_client_id:
  162. # azure_aad_client_secret:
  163. # azure_resource_group:
  164. # azure_location:
  165. # azure_subnet_name:
  166. # azure_security_group_name:
  167. # azure_vnet_name:
  168. # azure_route_table_name:
  169. # supported values are 'standard' or 'vmss'
  170. # azure_vmtype: standard
  171. # Sku of Load Balancer and Public IP. Candidate values are: basic and standard.
  172. azure_loadbalancer_sku: basic
  173. # excludes master nodes from standard load balancer.
  174. azure_exclude_master_from_standard_lb: true
  175. # disables the outbound SNAT for public load balancer rules
  176. azure_disable_outbound_snat: false
  177. # use instance metadata service where possible
  178. azure_use_instance_metadata: true
  179. # use specific Azure API endpoints
  180. azure_cloud: AzurePublicCloud
  181. ## Support tls min version, Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13.
  182. # tls_min_version: ""
  183. ## Support tls cipher suites.
  184. # tls_cipher_suites:
  185. # - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  186. # - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  187. # - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  188. # - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  189. # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  190. # - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
  191. # - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  192. # - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  193. # - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  194. # - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  195. # - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  196. # - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  197. # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  198. # - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
  199. # - TLS_ECDHE_RSA_WITH_RC4_128_SHA
  200. # - TLS_RSA_WITH_3DES_EDE_CBC_SHA
  201. # - TLS_RSA_WITH_AES_128_CBC_SHA
  202. # - TLS_RSA_WITH_AES_128_CBC_SHA256
  203. # - TLS_RSA_WITH_AES_128_GCM_SHA256
  204. # - TLS_RSA_WITH_AES_256_CBC_SHA
  205. # - TLS_RSA_WITH_AES_256_GCM_SHA384
  206. # - TLS_RSA_WITH_RC4_128_SHA