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.

144 lines
5.1 KiB

  1. ---
  2. # Valid options: docker (default), rkt, or host
  3. kubelet_deployment_type: host
  4. # change to 0.0.0.0 to enable insecure access from anywhere (not recommended)
  5. kube_apiserver_insecure_bind_address: 127.0.0.1
  6. # advertised host IP for kubelet. This affects network plugin config. Take caution
  7. kubelet_address: "{{ ip | default(ansible_default_ipv4['address']) }}"
  8. # bind address for kubelet. Set to 0.0.0.0 to listen on all interfaces
  9. kubelet_bind_address: "{{ ip | default('0.0.0.0') }}"
  10. # resolv.conf to base dns config
  11. kube_resolv_conf: "/etc/resolv.conf"
  12. # Can be ipvs, iptables
  13. kube_proxy_mode: iptables
  14. # If using the pure iptables proxy, SNAT everything. Note that it breaks any
  15. # policy engine.
  16. kube_proxy_masquerade_all: false
  17. # These options reflect limitations of running kubelet in a container.
  18. # Modify at your own risk
  19. kubelet_enable_cri: true
  20. kubelet_cgroups_per_qos: true
  21. # Set to empty to avoid cgroup creation
  22. kubelet_enforce_node_allocatable: "\"\""
  23. # Set false to enable sharing a pid namespace between containers in a pod.
  24. # Note that PID namespace sharing requires docker >= 1.13.1.
  25. kubelet_disable_shared_pid: true
  26. ### fail with swap on (default true)
  27. kubelet_fail_swap_on: true
  28. # Reserve this space for kube resources
  29. kube_memory_reserved: 256M
  30. kube_cpu_reserved: 100m
  31. # Reservation for master hosts
  32. kube_master_memory_reserved: 512M
  33. kube_master_cpu_reserved: 200m
  34. kubelet_status_update_frequency: 10s
  35. # Limits for kube components and nginx load balancer app
  36. kube_proxy_memory_limit: 2000M
  37. kube_proxy_cpu_limit: 500m
  38. kube_proxy_memory_requests: 64M
  39. kube_proxy_cpu_requests: 150m
  40. nginx_memory_limit: 512M
  41. nginx_cpu_limit: 300m
  42. nginx_memory_requests: 32M
  43. nginx_cpu_requests: 25m
  44. # kube_api_runtime_config:
  45. # - extensions/v1beta1/daemonsets=true
  46. # - extensions/v1beta1/deployments=true
  47. nginx_image_repo: nginx
  48. nginx_image_tag: 1.13
  49. etcd_config_dir: /etc/ssl/etcd
  50. kubelet_flexvolumes_plugins_dir: /var/lib/kubelet/volume-plugins
  51. # A port range to reserve for services with NodePort visibility.
  52. # Inclusive at both ends of the range.
  53. kube_apiserver_node_port_range: "30000-32767"
  54. kubelet_load_modules: false
  55. # Configure the amount of pods able to run on single node
  56. # default is equal to application default
  57. kubelet_max_pods: 110
  58. ## Support custom flags to be passed to kubelet
  59. kubelet_custom_flags: []
  60. # This setting is used for rkt based kubelet for deploying hyperkube
  61. # from a docker based registry ( controls --insecure and docker:// )
  62. ## Empty vaule for quay.io containers
  63. ## docker for docker registry containers
  64. kube_hyperkube_image_repo: ""
  65. # If non-empty, will use this string as identification instead of the actual hostname
  66. kube_override_hostname: >-
  67. {%- if cloud_provider is defined and cloud_provider in [ 'aws' ] -%}
  68. {%- else -%}
  69. {{ inventory_hostname }}
  70. {%- endif -%}
  71. # cAdvisor port
  72. kube_cadvisor_port: 0
  73. # The read-only port for the Kubelet to serve on with no authentication/authorization.
  74. kube_read_only_port: 0
  75. # sysctl_file_path to add sysctl conf to
  76. sysctl_file_path: "/etc/sysctl.d/99-sysctl.conf"
  77. # For the openstack integration kubelet will need credentials to access
  78. # openstack apis like nova and cinder. Per default this values will be
  79. # read from the environment.
  80. openstack_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
  81. openstack_username: "{{ lookup('env','OS_USERNAME') }}"
  82. openstack_password: "{{ lookup('env','OS_PASSWORD') }}"
  83. openstack_region: "{{ lookup('env','OS_REGION_NAME') }}"
  84. openstack_tenant_id: "{{ lookup('env','OS_TENANT_ID')| default(lookup('env','OS_PROJECT_ID')|default(lookup('env','OS_PROJECT_NAME'),true)) }}"
  85. openstack_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
  86. openstack_domain_name: "{{ lookup('env','OS_USER_DOMAIN_NAME') }}"
  87. openstack_domain_id: "{{ lookup('env','OS_USER_DOMAIN_ID') }}"
  88. # For the vsphere integration, kubelet will need credentials to access
  89. # vsphere apis
  90. # Documentation regarding these values can be found
  91. # https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/vsphere/vsphere.go#L105
  92. vsphere_vcenter_ip: "{{ lookup('env', 'VSPHERE_VCENTER') }}"
  93. vsphere_vcenter_port: "{{ lookup('env', 'VSPHERE_VCENTER_PORT') }}"
  94. vsphere_user: "{{ lookup('env', 'VSPHERE_USER') }}"
  95. vsphere_password: "{{ lookup('env', 'VSPHERE_PASSWORD') }}"
  96. vsphere_datacenter: "{{ lookup('env', 'VSPHERE_DATACENTER') }}"
  97. vsphere_datastore: "{{ lookup('env', 'VSPHERE_DATASTORE') }}"
  98. vsphere_working_dir: "{{ lookup('env', 'VSPHERE_WORKING_DIR') }}"
  99. vsphere_insecure: "{{ lookup('env', 'VSPHERE_INSECURE') }}"
  100. vsphere_resource_pool: "{{ lookup('env', 'VSPHERE_RESOURCE_POOL') }}"
  101. vsphere_scsi_controller_type: pvscsi
  102. # vsphere_public_network is name of the network the VMs are joined to
  103. vsphere_public_network: "{{ lookup('env', 'VSPHERE_PUBLIC_NETWORK')|default('') }}"
  104. ## When azure is used, you need to also set the following variables.
  105. ## see docs/azure.md for details on how to get these values
  106. # azure_tenant_id:
  107. # azure_subscription_id:
  108. # azure_aad_client_id:
  109. # azure_aad_client_secret:
  110. # azure_resource_group:
  111. # azure_location:
  112. # azure_subnet_name:
  113. # azure_security_group_name:
  114. # azure_vnet_name:
  115. # azure_route_table_name: