2017-08-24 17:09:52 +08:00
|
|
|
---
|
2016-10-24 21:11:52 +08:00
|
|
|
# change to 0.0.0.0 to enable insecure access from anywhere (not recommended)
|
|
|
|
kube_apiserver_insecure_bind_address: 127.0.0.1
|
|
|
|
|
2017-11-03 18:19:37 +08:00
|
|
|
# advertised host IP for kubelet. This affects network plugin config. Take caution
|
|
|
|
kubelet_address: "{{ ip | default(ansible_default_ipv4['address']) }}"
|
|
|
|
|
|
|
|
# bind address for kubelet. Set to 0.0.0.0 to listen on all interfaces
|
|
|
|
kubelet_bind_address: "{{ ip | default('0.0.0.0') }}"
|
|
|
|
|
2016-07-20 16:57:47 +08:00
|
|
|
# resolv.conf to base dns config
|
|
|
|
kube_resolv_conf: "/etc/resolv.conf"
|
|
|
|
|
2017-04-05 18:47:03 +08:00
|
|
|
# These options reflect limitations of running kubelet in a container.
|
|
|
|
# Modify at your own risk
|
2017-08-21 15:53:49 +08:00
|
|
|
kubelet_enable_cri: true
|
|
|
|
kubelet_cgroups_per_qos: true
|
2017-04-05 18:47:03 +08:00
|
|
|
# Set to empty to avoid cgroup creation
|
2017-07-19 22:57:36 +08:00
|
|
|
kubelet_enforce_node_allocatable: "\"\""
|
2017-10-12 02:47:42 +08:00
|
|
|
|
2018-08-10 01:53:11 +08:00
|
|
|
# Set runtime cgroups
|
|
|
|
kubelet_runtime_cgroups: "/systemd/system.slice"
|
|
|
|
# Set kubelet cgroups
|
|
|
|
kubelet_kubelet_cgroups: "/systemd/system.slice"
|
|
|
|
|
2017-10-11 21:55:51 +08:00
|
|
|
# Set false to enable sharing a pid namespace between containers in a pod.
|
|
|
|
# Note that PID namespace sharing requires docker >= 1.13.1.
|
|
|
|
kubelet_disable_shared_pid: true
|
2017-04-05 18:47:03 +08:00
|
|
|
|
2017-10-12 02:49:31 +08:00
|
|
|
### fail with swap on (default true)
|
|
|
|
kubelet_fail_swap_on: true
|
|
|
|
|
2019-02-25 16:08:06 +08:00
|
|
|
# Optionally remove kube_proxy installed by kubeadm
|
|
|
|
kube_proxy_remove: false
|
|
|
|
|
2018-03-07 18:30:34 +08:00
|
|
|
# Reserve this space for kube resources
|
|
|
|
kube_memory_reserved: 256M
|
|
|
|
kube_cpu_reserved: 100m
|
2017-10-12 02:47:42 +08:00
|
|
|
# Reservation for master hosts
|
2018-03-07 18:30:34 +08:00
|
|
|
kube_master_memory_reserved: 512M
|
|
|
|
kube_master_cpu_reserved: 200m
|
2017-10-12 02:47:42 +08:00
|
|
|
|
2017-02-07 22:01:02 +08:00
|
|
|
kubelet_status_update_frequency: 10s
|
2017-10-12 02:47:42 +08:00
|
|
|
|
2019-01-03 16:04:26 +08:00
|
|
|
# Limits for nginx load balancer app
|
2016-12-23 22:44:44 +08:00
|
|
|
nginx_memory_limit: 512M
|
|
|
|
nginx_cpu_limit: 300m
|
2017-02-28 00:53:43 +08:00
|
|
|
nginx_memory_requests: 32M
|
2017-03-23 17:11:30 +08:00
|
|
|
nginx_cpu_requests: 25m
|
2016-12-23 22:44:44 +08:00
|
|
|
|
2016-03-17 17:22:52 +08:00
|
|
|
# kube_api_runtime_config:
|
|
|
|
# - extensions/v1beta1/daemonsets=true
|
|
|
|
# - extensions/v1beta1/deployments=true
|
2016-09-28 19:05:08 +08:00
|
|
|
|
2018-01-06 00:56:36 +08:00
|
|
|
kubelet_flexvolumes_plugins_dir: /var/lib/kubelet/volume-plugins
|
|
|
|
|
2017-02-03 23:26:30 +08:00
|
|
|
# A port range to reserve for services with NodePort visibility.
|
|
|
|
# Inclusive at both ends of the range.
|
|
|
|
kube_apiserver_node_port_range: "30000-32767"
|
2017-02-10 00:25:44 +08:00
|
|
|
|
|
|
|
kubelet_load_modules: false
|
2017-04-15 05:33:04 +08:00
|
|
|
|
2018-05-15 22:34:03 +08:00
|
|
|
# Configure the amount of pods able to run on single node
|
|
|
|
# default is equal to application default
|
|
|
|
kubelet_max_pods: 110
|
|
|
|
|
2017-08-24 17:09:52 +08:00
|
|
|
## Support custom flags to be passed to kubelet
|
2017-05-12 22:32:37 +08:00
|
|
|
kubelet_custom_flags: []
|
2017-06-08 05:09:36 +08:00
|
|
|
|
2018-09-19 18:55:30 +08:00
|
|
|
## Support custom flags to be passed to kubelet only on nodes, not masters
|
|
|
|
kubelet_node_custom_flags: []
|
|
|
|
|
2017-07-13 22:04:39 +08:00
|
|
|
# If non-empty, will use this string as identification instead of the actual hostname
|
2017-12-20 04:18:20 +08:00
|
|
|
kube_override_hostname: >-
|
2018-01-22 21:08:24 +08:00
|
|
|
{%- if cloud_provider is defined and cloud_provider in [ 'aws' ] -%}
|
2017-12-22 19:31:18 +08:00
|
|
|
{%- else -%}
|
2018-02-06 08:38:05 +08:00
|
|
|
{{ inventory_hostname }}
|
2017-12-22 19:31:18 +08:00
|
|
|
{%- endif -%}
|
2017-11-06 21:50:28 +08:00
|
|
|
|
|
|
|
# cAdvisor port
|
|
|
|
kube_cadvisor_port: 0
|
2018-01-16 15:11:41 +08:00
|
|
|
|
|
|
|
# The read-only port for the Kubelet to serve on with no authentication/authorization.
|
|
|
|
kube_read_only_port: 0
|
2018-03-31 08:18:23 +08:00
|
|
|
|
2018-04-27 23:50:58 +08:00
|
|
|
# sysctl_file_path to add sysctl conf to
|
|
|
|
sysctl_file_path: "/etc/sysctl.d/99-sysctl.conf"
|
2018-03-31 08:18:23 +08:00
|
|
|
|
|
|
|
# For the openstack integration kubelet will need credentials to access
|
|
|
|
# openstack apis like nova and cinder. Per default this values will be
|
|
|
|
# read from the environment.
|
|
|
|
openstack_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
|
|
|
|
openstack_username: "{{ lookup('env','OS_USERNAME') }}"
|
|
|
|
openstack_password: "{{ lookup('env','OS_PASSWORD') }}"
|
|
|
|
openstack_region: "{{ lookup('env','OS_REGION_NAME') }}"
|
2018-09-03 19:59:49 +08:00
|
|
|
openstack_tenant_id: "{{ lookup('env','OS_TENANT_ID')| default(lookup('env','OS_PROJECT_ID')|default(lookup('env','OS_PROJECT_NAME'),true),true) }}"
|
2018-04-05 00:55:39 +08:00
|
|
|
openstack_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
|
2018-03-31 08:18:23 +08:00
|
|
|
openstack_domain_name: "{{ lookup('env','OS_USER_DOMAIN_NAME') }}"
|
|
|
|
openstack_domain_id: "{{ lookup('env','OS_USER_DOMAIN_ID') }}"
|
|
|
|
|
|
|
|
# For the vsphere integration, kubelet will need credentials to access
|
|
|
|
# vsphere apis
|
|
|
|
# Documentation regarding these values can be found
|
|
|
|
# https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/vsphere/vsphere.go#L105
|
|
|
|
vsphere_vcenter_ip: "{{ lookup('env', 'VSPHERE_VCENTER') }}"
|
|
|
|
vsphere_vcenter_port: "{{ lookup('env', 'VSPHERE_VCENTER_PORT') }}"
|
|
|
|
vsphere_user: "{{ lookup('env', 'VSPHERE_USER') }}"
|
|
|
|
vsphere_password: "{{ lookup('env', 'VSPHERE_PASSWORD') }}"
|
|
|
|
vsphere_datacenter: "{{ lookup('env', 'VSPHERE_DATACENTER') }}"
|
|
|
|
vsphere_datastore: "{{ lookup('env', 'VSPHERE_DATASTORE') }}"
|
|
|
|
vsphere_working_dir: "{{ lookup('env', 'VSPHERE_WORKING_DIR') }}"
|
|
|
|
vsphere_insecure: "{{ lookup('env', 'VSPHERE_INSECURE') }}"
|
|
|
|
vsphere_resource_pool: "{{ lookup('env', 'VSPHERE_RESOURCE_POOL') }}"
|
|
|
|
|
|
|
|
vsphere_scsi_controller_type: pvscsi
|
|
|
|
# vsphere_public_network is name of the network the VMs are joined to
|
|
|
|
vsphere_public_network: "{{ lookup('env', 'VSPHERE_PUBLIC_NETWORK')|default('') }}"
|
|
|
|
|
|
|
|
## When azure is used, you need to also set the following variables.
|
|
|
|
## see docs/azure.md for details on how to get these values
|
2018-05-12 00:11:38 +08:00
|
|
|
# azure_tenant_id:
|
|
|
|
# azure_subscription_id:
|
|
|
|
# azure_aad_client_id:
|
|
|
|
# azure_aad_client_secret:
|
|
|
|
# azure_resource_group:
|
|
|
|
# azure_location:
|
|
|
|
# azure_subnet_name:
|
|
|
|
# azure_security_group_name:
|
|
|
|
# azure_vnet_name:
|
|
|
|
# azure_route_table_name:
|