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.

140 lines
4.3 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. ---
  2. # An experimental dev/test only dynamic volumes provisioner,
  3. # for PetSets. Works for kube>=v1.3 only.
  4. kube_hostpath_dynamic_provisioner: "false"
  5. # change to 0.0.0.0 to enable insecure access from anywhere (not recommended)
  6. kube_apiserver_insecure_bind_address: 127.0.0.1
  7. # By default the external API listens on all interfaces, this can be changed to
  8. # listen on a specific address/interface.
  9. kube_apiserver_bind_address: 0.0.0.0
  10. # A port range to reserve for services with NodePort visibility.
  11. # Inclusive at both ends of the range.
  12. kube_apiserver_node_port_range: "30000-32767"
  13. # ETCD cert dir for connecting apiserver to etcd
  14. etcd_config_dir: /etc/ssl/etcd
  15. etcd_cert_dir: "{{ etcd_config_dir }}/ssl"
  16. # ETCD backend for k8s data
  17. kube_apiserver_storage_backend: etcd3
  18. # By default, force back to etcd2. Set to true to force etcd3 (experimental!)
  19. force_etcd3: false
  20. # audit support
  21. kubernetes_audit: false
  22. # path to audit log file
  23. audit_log_path: /var/log/audit/kube-apiserver-audit.log
  24. # num days
  25. audit_log_maxage: 30
  26. # the num of audit logs to retain
  27. audit_log_maxbackups: 1
  28. # the max size in MB to retain
  29. audit_log_maxsize: 100
  30. # policy file
  31. audit_policy_file: "{{ kube_config_dir }}/audit-policy/apiserver-audit-policy.yaml"
  32. # custom audit policy rules (to replace the default ones)
  33. # audit_policy_custom_rules: |
  34. # - level: None
  35. # users: []
  36. # verbs: []
  37. # resources: []
  38. # audit log hostpath
  39. audit_log_name: audit-logs
  40. audit_log_hostpath: /var/log/kubernetes/audit
  41. audit_log_mountpath: "{{ audit_log_path | dirname }}"
  42. # audit policy hostpath
  43. audit_policy_name: audit-policy
  44. audit_policy_hostpath: "{{ audit_policy_file | dirname }}"
  45. audit_policy_mountpath: "{{ audit_policy_hostpath }}"
  46. # Limits for kube components
  47. kube_controller_memory_limit: 512M
  48. kube_controller_cpu_limit: 250m
  49. kube_controller_memory_requests: 100M
  50. kube_controller_cpu_requests: 100m
  51. kube_controller_node_monitor_grace_period: 40s
  52. kube_controller_node_monitor_period: 5s
  53. kube_controller_pod_eviction_timeout: 5m0s
  54. kube_scheduler_memory_limit: 512M
  55. kube_scheduler_cpu_limit: 250m
  56. kube_scheduler_memory_requests: 170M
  57. kube_scheduler_cpu_requests: 80m
  58. kube_apiserver_memory_limit: 2000M
  59. kube_apiserver_cpu_limit: 800m
  60. kube_apiserver_memory_requests: 256M
  61. kube_apiserver_cpu_requests: 100m
  62. # 1.9 and below Admission control plug-ins
  63. kube_apiserver_admission_control:
  64. - Initializers
  65. - NamespaceLifecycle
  66. - LimitRanger
  67. - ServiceAccount
  68. - DefaultStorageClass
  69. - >-
  70. {%- if kube_version | version_compare('v1.9', '<') -%}
  71. GenericAdmissionWebhook
  72. {%- else -%}
  73. MutatingAdmissionWebhook,ValidatingAdmissionWebhook
  74. {%- endif -%}
  75. - ResourceQuota
  76. # 1.10+ admission plugins
  77. kube_apiserver_enable_admission_plugins: []
  78. # 1.10+ list of disabled admission plugins
  79. kube_apiserver_disable_admission_plugins: []
  80. # extra runtime config
  81. kube_api_runtime_config:
  82. - admissionregistration.k8s.io/v1alpha1
  83. ## Enable/Disable Kube API Server Authentication Methods
  84. kube_basic_auth: false
  85. kube_token_auth: false
  86. kube_oidc_auth: false
  87. ## Variables for OpenID Connect Configuration https://kubernetes.io/docs/admin/authentication/
  88. ## To use OpenID you have to deploy additional an OpenID Provider (e.g Dex, Keycloak, ...)
  89. # kube_oidc_url: https:// ...
  90. # kube_oidc_client_id: kubernetes
  91. ## Optional settings for OIDC
  92. # kube_oidc_ca_file: {{ kube_cert_dir }}/ca.pem
  93. # kube_oidc_username_claim: sub
  94. # kube_oidc_username_prefix: oidc:
  95. # kube_oidc_groups_claim: groups
  96. # kube_oidc_groups_prefix: oidc:
  97. ## Variables for custom flags
  98. apiserver_custom_flags: []
  99. # List of the preferred NodeAddressTypes to use for kubelet connections.
  100. kubelet_preferred_address_types: 'InternalDNS,InternalIP,Hostname,ExternalDNS,ExternalIP'
  101. controller_mgr_custom_flags: []
  102. scheduler_custom_flags: []
  103. ## Extra args for k8s components passing by kubeadm
  104. kube_kubeadm_apiserver_extra_args: {}
  105. kube_kubeadm_controller_extra_args: {}
  106. kube_kubeadm_scheduler_extra_args: {}
  107. ## Variable for influencing kube-scheduler behaviour
  108. volume_cross_zone_attachment: false
  109. ## Encrypting Secret Data at Rest
  110. kube_encrypt_secret_data: false
  111. kube_encrypt_token: "{{ lookup('password', inventory_dir + '/credentials/kube_encrypt_token.creds length=32 chars=ascii_letters,digits') }}"
  112. # Must be either: aescbc, secretbox or aesgcm
  113. kube_encryption_algorithm: "aescbc"
  114. # You may want to use ca.pem depending on your situation
  115. kube_front_proxy_ca: "front-proxy-ca.pem"