master.yaml.v1.j2 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. apiLevels:
  2. {% if openshift.common.deployment_type == "enterprise" %}
  3. - v1beta3
  4. {% endif %}
  5. - v1
  6. apiVersion: v1
  7. assetConfig:
  8. logoutURL: ""
  9. masterPublicURL: {{ openshift.master.public_api_url }}
  10. publicURL: {{ openshift.master.public_console_url }}/
  11. servingInfo:
  12. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.console_port }}
  13. certFile: master.server.crt
  14. clientCA: ""
  15. keyFile: master.server.key
  16. maxRequestsInFlight: 0
  17. requestTimeoutSeconds: 0
  18. corsAllowedOrigins:
  19. {% for origin in ['127.0.0.1', 'localhost', openshift.common.hostname, openshift.common.ip, openshift.common.public_hostname, openshift.common.public_ip] | unique %}
  20. - {{ origin }}
  21. {% endfor %}
  22. {% for custom_origin in openshift.master.custom_cors_origins | default("") %}
  23. - {{ custom_origin }}
  24. {% endfor %}
  25. {% for name in (named_certificates | map(attribute='names')) | list | oo_flatten %}
  26. - {{ name }}
  27. {% endfor %}
  28. {% if 'disabled_features' in openshift.master %}
  29. disabledFeatures: {{ openshift.master.disabled_features | to_json }}
  30. {% endif %}
  31. {% if openshift.master.embedded_dns | bool %}
  32. dnsConfig:
  33. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.dns_port }}
  34. {% endif %}
  35. etcdClientInfo:
  36. ca: {{ "ca.crt" if (openshift.master.embedded_etcd | bool) else "master.etcd-ca.crt" }}
  37. certFile: master.etcd-client.crt
  38. keyFile: master.etcd-client.key
  39. urls:
  40. {% for etcd_url in openshift.master.etcd_urls %}
  41. - {{ etcd_url }}
  42. {% endfor %}
  43. {% if openshift.master.embedded_etcd | bool %}
  44. etcdConfig:
  45. address: {{ openshift.common.hostname }}:{{ openshift.master.etcd_port }}
  46. peerAddress: {{ openshift.common.hostname }}:7001
  47. peerServingInfo:
  48. bindAddress: {{ openshift.master.bind_addr }}:7001
  49. certFile: etcd.server.crt
  50. clientCA: ca.crt
  51. keyFile: etcd.server.key
  52. servingInfo:
  53. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.etcd_port }}
  54. certFile: etcd.server.crt
  55. clientCA: ca.crt
  56. keyFile: etcd.server.key
  57. storageDirectory: {{ openshift.common.data_dir }}/openshift.local.etcd
  58. {% endif %}
  59. etcdStorageConfig:
  60. kubernetesStoragePrefix: kubernetes.io
  61. kubernetesStorageVersion: v1
  62. openShiftStoragePrefix: openshift.io
  63. openShiftStorageVersion: v1
  64. imageConfig:
  65. format: {{ openshift.master.registry_url }}
  66. latest: false
  67. kind: MasterConfig
  68. kubeletClientInfo:
  69. {# TODO: allow user specified kubelet port #}
  70. ca: ca.crt
  71. certFile: master.kubelet-client.crt
  72. keyFile: master.kubelet-client.key
  73. port: 10250
  74. {% if openshift.master.embedded_kube | bool %}
  75. kubernetesMasterConfig:
  76. apiLevels:
  77. {% if openshift.common.deployment_type == "enterprise" %}
  78. - v1beta3
  79. {% endif %}
  80. - v1
  81. apiServerArguments: {{ api_server_args if api_server_args is defined else 'null' }}
  82. controllerArguments: {{ controller_args if controller_args is defined else 'null' }}
  83. {# TODO: support overriding masterCount #}
  84. masterCount: 1
  85. masterIP: ""
  86. podEvictionTimeout: ""
  87. proxyClientInfo:
  88. certFile: master.proxy-client.crt
  89. keyFile: master.proxy-client.key
  90. schedulerConfigFile: {{ openshift_master_scheduler_conf }}
  91. servicesNodePortRange: ""
  92. servicesSubnet: {{ openshift.master.portal_net }}
  93. staticNodeNames: {{ openshift_node_ips | default([], true) }}
  94. {% endif %}
  95. masterClients:
  96. {# TODO: allow user to set externalKubernetesKubeConfig #}
  97. externalKubernetesKubeConfig: ""
  98. openshiftLoopbackKubeConfig: openshift-master.kubeconfig
  99. masterPublicURL: {{ openshift.master.public_api_url }}
  100. networkConfig:
  101. clusterNetworkCIDR: {{ openshift.master.sdn_cluster_network_cidr }}
  102. hostSubnetLength: {{ openshift.master.sdn_host_subnet_length }}
  103. {% if openshift.common.use_openshift_sdn %}
  104. networkPluginName: {{ openshift.common.sdn_network_plugin_name }}
  105. {% endif %}
  106. # serviceNetworkCIDR must match kubernetesMasterConfig.servicesSubnet
  107. serviceNetworkCIDR: {{ openshift.master.portal_net }}
  108. {% include 'v1_partials/oauthConfig.j2' %}
  109. policyConfig:
  110. bootstrapPolicyFile: {{ openshift_master_policy }}
  111. openshiftInfrastructureNamespace: openshift-infra
  112. openshiftSharedResourcesNamespace: openshift
  113. projectConfig:
  114. defaultNodeSelector: "{{ openshift.master.default_node_selector }}"
  115. projectRequestMessage: "{{ openshift.master.project_request_message }}"
  116. projectRequestTemplate: "{{ openshift.master.project_request_template }}"
  117. securityAllocator:
  118. mcsAllocatorRange: "{{ openshift.master.mcs_allocator_range }}"
  119. mcsLabelsPerProject: {{ openshift.master.mcs_labels_per_project }}
  120. uidAllocatorRange: "{{ openshift.master.uid_allocator_range }}"
  121. routingConfig:
  122. subdomain: "{{ openshift.master.default_subdomain | default("") }}"
  123. serviceAccountConfig:
  124. managedNames:
  125. - default
  126. - builder
  127. - deployer
  128. masterCA: ca.crt
  129. privateKeyFile: serviceaccounts.private.key
  130. publicKeyFiles:
  131. - serviceaccounts.public.key
  132. servingInfo:
  133. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.api_port }}
  134. certFile: master.server.crt
  135. clientCA: ca.crt
  136. keyFile: master.server.key
  137. maxRequestsInFlight: 500
  138. requestTimeoutSeconds: 3600
  139. {% if named_certificates %}
  140. namedCertificates:
  141. {% for named_certificate in named_certificates %}
  142. - certFile: {{ named_certificate['certfile'] }}
  143. keyFile: {{ named_certificate['keyfile'] }}
  144. names:
  145. {% for name in named_certificate['names'] %}
  146. - "{{ name }}"
  147. {% endfor %}
  148. {% endfor %}
  149. {% endif %}