1
+ apiVersion : cluster.x-k8s.io/v1beta1
2
+ kind : Cluster
3
+ metadata :
4
+ labels :
5
+ cluster.x-k8s.io/cluster-name : " ${CLUSTER_NAME}"
6
+ name : " ${CLUSTER_NAME}"
7
+ namespace : " ${NAMESPACE}"
8
+ spec :
9
+ clusterNetwork :
10
+ pods :
11
+ cidrBlocks :
12
+ - ${POD_CIDR:="192.168.0.0/16"}
13
+ serviceDomain : ${SERVICE_DOMAIN:="cluster.local"}
14
+ services :
15
+ cidrBlocks :
16
+ - ${SERVICE_CIDR:="10.128.0.0/12"}
17
+ infrastructureRef :
18
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
19
+ kind : OCICluster
20
+ name : " ${CLUSTER_NAME}"
21
+ namespace : " ${NAMESPACE}"
22
+ controlPlaneRef :
23
+ apiVersion : controlplane.cluster.x-k8s.io/v1beta1
24
+ kind : KubeadmControlPlane
25
+ name : " ${CLUSTER_NAME}-control-plane"
26
+ namespace : " ${NAMESPACE}"
27
+ ---
28
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
29
+ kind : OCICluster
30
+ metadata :
31
+ labels :
32
+ cluster.x-k8s.io/cluster-name : " ${CLUSTER_NAME}"
33
+ name : " ${CLUSTER_NAME}"
34
+ spec :
35
+ compartmentId : " ${OCI_COMPARTMENT_ID}"
36
+ networkSpec :
37
+ vcn :
38
+ isIpv6Enabled : true
39
+ isOracleGuaAllocationEnabled : true
40
+ subnets :
41
+ - ipv6CidrBlockHextet : " 01"
42
+ name : control-plane-endpoint
43
+ role : control-plane-endpoint
44
+ type : public
45
+ - ipv6CidrBlockHextet : " 02"
46
+ name : control-plane
47
+ role : control-plane
48
+ type : private
49
+ - ipv6CidrBlockHextet : " 03"
50
+ name : service-lb
51
+ role : service-lb
52
+ type : public
53
+ - ipv6CidrBlockHextet : " 04"
54
+ name : worker
55
+ role : worker
56
+ type : private
57
+ ---
58
+ kind : KubeadmControlPlane
59
+ apiVersion : controlplane.cluster.x-k8s.io/v1beta1
60
+ metadata :
61
+ name : " ${CLUSTER_NAME}-control-plane"
62
+ namespace : " ${NAMESPACE}"
63
+ spec :
64
+ version : " ${KUBERNETES_VERSION}"
65
+ replicas : ${CONTROL_PLANE_MACHINE_COUNT}
66
+ machineTemplate :
67
+ infrastructureRef :
68
+ kind : OCIMachineTemplate
69
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
70
+ name : " ${CLUSTER_NAME}-control-plane"
71
+ namespace : " ${NAMESPACE}"
72
+ kubeadmConfigSpec :
73
+ clusterConfiguration :
74
+ kubernetesVersion : ${KUBERNETES_VERSION}
75
+ apiServer :
76
+ certSANs : [localhost, 127.0.0.1]
77
+ dns : {}
78
+ etcd : {}
79
+ networking : {}
80
+ scheduler : {}
81
+ initConfiguration :
82
+ nodeRegistration :
83
+ criSocket : /var/run/containerd/containerd.sock
84
+ kubeletExtraArgs :
85
+ cloud-provider : external
86
+ provider-id : oci://{{ ds["id"] }}
87
+ joinConfiguration :
88
+ discovery : {}
89
+ nodeRegistration :
90
+ criSocket : /var/run/containerd/containerd.sock
91
+ kubeletExtraArgs :
92
+ cloud-provider : external
93
+ provider-id : oci://{{ ds["id"] }}
94
+ ---
95
+ kind : OCIMachineTemplate
96
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
97
+ metadata :
98
+ name : " ${CLUSTER_NAME}-control-plane"
99
+ spec :
100
+ template :
101
+ spec :
102
+ imageId : " ${OCI_IMAGE_ID}"
103
+ compartmentId : " ${OCI_COMPARTMENT_ID}"
104
+ shape : " ${OCI_CONTROL_PLANE_MACHINE_TYPE=VM.Standard.E5.Flex}"
105
+ shapeConfig :
106
+ ocpus : " ${OCI_CONTROL_PLANE_MACHINE_TYPE_OCPUS=1}"
107
+ metadata :
108
+ ssh_authorized_keys : " ${OCI_SSH_KEY}"
109
+ isPvEncryptionInTransitEnabled : ${OCI_CONTROL_PLANE_PV_TRANSIT_ENCRYPTION=true}
110
+ networkDetails :
111
+ assignIpv6Ip : true
112
+ ---
113
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
114
+ kind : OCIMachineTemplate
115
+ metadata :
116
+ name : " ${CLUSTER_NAME}-md-0"
117
+ spec :
118
+ template :
119
+ spec :
120
+ imageId : " ${OCI_IMAGE_ID}"
121
+ compartmentId : " ${OCI_COMPARTMENT_ID}"
122
+ shape : " ${OCI_NODE_MACHINE_TYPE=VM.Standard.E5.Flex}"
123
+ shapeConfig :
124
+ ocpus : " ${OCI_NODE_MACHINE_TYPE_OCPUS=1}"
125
+ metadata :
126
+ ssh_authorized_keys : " ${OCI_SSH_KEY}"
127
+ isPvEncryptionInTransitEnabled : ${OCI_NODE_PV_TRANSIT_ENCRYPTION=true}
128
+ networkDetails :
129
+ assignIpv6Ip : true
130
+ ---
131
+ apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
132
+ kind : KubeadmConfigTemplate
133
+ metadata :
134
+ name : " ${CLUSTER_NAME}-md-0"
135
+ spec :
136
+ template :
137
+ spec :
138
+ joinConfiguration :
139
+ nodeRegistration :
140
+ kubeletExtraArgs :
141
+ cloud-provider : external
142
+ provider-id : oci://{{ ds["id"] }}
143
+ ---
144
+ apiVersion : cluster.x-k8s.io/v1beta1
145
+ kind : MachineDeployment
146
+ metadata :
147
+ name : " ${CLUSTER_NAME}-md-0"
148
+ spec :
149
+ clusterName : " ${CLUSTER_NAME}"
150
+ replicas : ${NODE_MACHINE_COUNT}
151
+ selector :
152
+ matchLabels :
153
+ template :
154
+ spec :
155
+ clusterName : " ${CLUSTER_NAME}"
156
+ version : " ${KUBERNETES_VERSION}"
157
+ bootstrap :
158
+ configRef :
159
+ name : " ${CLUSTER_NAME}-md-0"
160
+ apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
161
+ kind : KubeadmConfigTemplate
162
+ infrastructureRef :
163
+ name : " ${CLUSTER_NAME}-md-0"
164
+ apiVersion : infrastructure.cluster.x-k8s.io/v1beta2
165
+ kind : OCIMachineTemplate
0 commit comments