-
Notifications
You must be signed in to change notification settings - Fork 430
/
kind.yaml.j2
69 lines (68 loc) · 1.84 KB
/
kind.yaml.j2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{%- if k8s_version is not defined -%}
{%- set k8s_version = "v1.26.3" -%}
{%- endif -%}
{%- if kube_proxy_mode is not defined -%}
{%- set kube_proxy_mode = "ipvs" -%}
{%- endif -%}
{%- if ip_family is not defined -%}
{%- set ip_family = "ipv4" -%}
{%- endif -%}
{%- if ha is not defined -%}
{%- set ha = "false" -%}
{%- endif -%}
{%- if single is not defined -%}
{%- set single = "false" -%}
{%- endif -%}
{%- if api_server_address is not defined -%}
{%- set api_server_address = "127.0.0.1" -%}
{%- endif -%}
{%- if api_server_port is not defined -%}
{%- set api_server_port = 0 -%}
{%- endif -%}
{%- if pod_cidr_v4 is not defined -%}
{%- set pod_cidr_v4 = "10.16.0.0/16" -%}
{%- endif -%}
{%- if svc_cidr_v4 is not defined -%}
{%- set svc_cidr_v4 = "10.96.0.0/12" -%}
{%- endif -%}
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
kubeProxyMode: {{ kube_proxy_mode }}
disableDefaultCNI: true
ipFamily: {{ ip_family }}
apiServerAddress: {{ api_server_address }}
apiServerPort: {{ api_server_port }}
{%- if ip_family is equalto "ipv4" %}
podSubnet: {{ pod_cidr_v4 }}
serviceSubnet: {{ svc_cidr_v4 }}
{%- elif ip_family is equalto "ipv6" %}
podSubnet: "fd00:10:16::/64"
serviceSubnet: "fd00:10:96::/112"
{%- else %}
podSubnet: "10.16.0.0/16,fd00:10:16::/64"
serviceSubnet: "10.96.0.0/12,fd00:10:96::/112"
{%- endif %}
kubeadmConfigPatches:
- |
kind: ClusterConfiguration
metadata:
name: config
etcd:
local:
dataDir: "/tmp/lib/etcd"
nodes:
- role: control-plane
image: kindest/node:{{ k8s_version }}
{%- if single is equalto "false" %}
- role: worker
image: kindest/node:{{ k8s_version }}
{%- if ha is equalto "true" %}
labels:
kube-ovn/role: master
- role: worker
image: kindest/node:{{ k8s_version }}
labels:
kube-ovn/role: master
{%- endif %}
{%- endif %}