You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: app-dev/devops-and-containers/oke/oke-rm/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,13 @@ This stack is used to create the initial network infrastructure for OKE. When co
16
16
* By default, everything is private, but there is the possibility to create public subnets
17
17
* Be careful when modifying the default values, as inputs are not validated
18
18
19
-
[](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/releases/download/oke-rm-1.1.2/infra.zip)
19
+
[](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/releases/download/oke-rm-1.1.3/infra.zip)
20
20
21
21
## Step 2: Create the OKE control plane
22
22
23
23
This stack is used to create the OKE control plane ONLY.
24
24
25
-
[](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/releases/download/oke-rm-1.1.2/oke.zip)
25
+
[](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/releases/download/oke-rm-1.1.3/oke.zip)
26
26
27
27
Also note that if the network infrastructure is located in a different compartment than the OKE cluster AND you are planning to use the OCI_VCN_NATIVE CNI,
# Set this to true to enable in-transit encryption on all node pools by default
103
112
# NOTE: in-transit encryption is supported only for paravirtualized attached block volumes (NOT boot volumes), hence you will need to create another StorageClass in the cluster as the default oci-bv StorageClass uses iSCSI
104
-
# Also note that Bare Metal instances do not support paravirtualized volumes, so do not enable this for node pools that require BM instances
113
+
# Also note that Bare Metal instances do not support paravirtualized volumes, so do not enable this in node pools that require BM instances
105
114
worker_pv_transit_encryption=false
106
115
# Enable encryption of volumes with a key managed by you, in your OCI Vault
worker_disable_default_cloud_init=false# If set to true, will let you full control over the cloud init, set it when using ubuntu nodes or nodes with taints (can even be set individually at the node pool level)
113
-
worker_cloud_init=[{ content_type ="text/cloud-config", content =yamlencode(local.cloud_init_ol)}] # Cloud init is different, depending if you are using Ubuntu or Oracle Linux nodes
122
+
worker_cloud_init=[{ content_type ="text/cloud-config", content =yamlencode(local.cloud_init_ol)}] # Cloud init is different, depending if you are using Ubuntu or Oracle Linux nodes. You can also set taints with the cloud init
114
123
115
124
# GLOBAL TAGS TO BE APPLIED ON ALL NODES
116
125
# NOTE: tags will be applied to both the node pool and the nodes
@@ -125,34 +134,23 @@ module "oke" {
125
134
126
135
worker_pools={
127
136
128
-
# SYSTEM NODE POOL TO BE ENABLED FOR THE CLUSTER AUTOSCALER
129
-
np-system-ad1 = {
130
-
shape ="VM.Standard.E4.Flex"
131
-
size =1
132
-
placement_ads = ["1"]
133
-
ocpus =1
134
-
memory =16
135
-
node_cycling_enabled =true
136
-
node_cycling_max_surge ="50%"
137
-
node_cycling_max_unavailable ="25%"
138
-
node_labels = {
139
-
role ="system"
140
-
}
141
-
create =false
142
-
}
143
-
144
137
# SAMPLE NODE POOL, SET create = true TO PROVISION IT
145
138
np-ad1 = {
146
139
shape ="VM.Standard.E4.Flex"
147
140
size =1
141
+
kubernetes_version = var.kubernetes_version # You can set this value as fixed, so that control plane and data plane are upgraded separately
148
142
placement_ads = ["1"] # As best practice, one node pool should be associated only to one specific AD
149
-
ocpus =2# No need to specify ocpus and memory if you are not using a Flex shape
143
+
ocpus =1# No need to specify ocpus and memory if you are not using a Flex shape
144
+
memory =16
145
+
#image_type = "custom"
150
146
#image_id = "" # You can override global worker node parameters individually in the node pool
151
-
memory =16# No need to specify ocpus and memory if you are not using a Flex shape
152
-
node_cycling_enabled =true# Option to enable/disable node pool cycling through Terraform. NOT SUPPORTED WITH BARE METAL NODES!
147
+
node_cycling_enabled =false# Option to enable/disable node pool cycling through Terraform. Only works with Enhanced clusters!
153
148
node_cycling_max_surge ="50%"
154
149
node_cycling_max_unavailable ="25%"
155
-
boot_volume_size =100# For Oracle Linux, make sure the oci-growfs command is specified in the cloud-init script. This module already implement this
150
+
151
+
node_cycling_mode = ["boot_volume"] # Valid values are instance and boot_volume. Only works when (kubernetes_version, image_id, boot_volume_size, node_metadata, ssh_public_key, volume_kms_key_id) are modified. If you need to change something else, switch to instance
152
+
# NOTE: boot_volume mode seems to work only for Flannel clusters for now
153
+
boot_volume_size =100# For Oracle Linux, make sure the oci-growfs command is specified in the cloud-init script. This module already implements this
156
154
freeform_tags = { # Nodes in the node pool will be tagged with these freeform tags
157
155
"oke-cluster-name"= var.cluster_name
158
156
}
@@ -161,6 +159,23 @@ module "oke" {
161
159
create =false# Set it to true so that the node pool is created
162
160
}
163
161
162
+
# SYSTEM NODE POOL TO BE ENABLED FOR THE CLUSTER AUTOSCALER
163
+
np-system-ad1 = {
164
+
shape ="VM.Standard.E4.Flex"
165
+
size =1
166
+
placement_ads = ["1"]
167
+
ocpus =1
168
+
memory =16
169
+
node_cycling_enabled =true# Only works with Enhanced clusters!
170
+
node_cycling_max_surge ="50%"
171
+
node_cycling_max_unavailable ="25%"
172
+
node_cycling_mode = ["boot_volume"]
173
+
node_labels = {
174
+
role ="system"
175
+
}
176
+
create =false
177
+
}
178
+
164
179
165
180
# SAMPLE NODE POOL WITH A CLOUD INIT TO SET NODE TAINTS
166
181
np-taints = { # An example of a node pool using a custom cloud-init script to define taints at the node pool level
@@ -174,12 +189,13 @@ module "oke" {
174
189
node_cycling_enabled =true
175
190
node_cycling_max_surge ="50%"
176
191
node_cycling_max_unavailable ="25%"
192
+
node_cycling_mode = ["boot_volume"]
177
193
boot_volume_size =100
178
-
ignore_initial_pool_size =false
179
194
create =false
180
195
}
181
196
182
197
198
+
# SAMPLE AUTOSCALED NODE POOL
183
199
# This is a sample pool where autoscaling is enabled, note the freeform tag
184
200
# REQUIREMENTS FOR ENABLING THE CLUSTER AUTOSCALER
185
201
# - THE CLUSTER AUTOSCALER ADDON MUST BE ENABLED
@@ -196,13 +212,41 @@ module "oke" {
196
212
node_cycling_enabled =true
197
213
node_cycling_max_surge ="50%"
198
214
node_cycling_max_unavailable ="25%"
215
+
node_cycling_mode = ["boot_volume"]
199
216
boot_volume_size =100
200
217
ignore_initial_pool_size =true
201
218
freeform_tags = {
202
219
cluster_autoscaler ="enabled"
203
220
}
204
221
create =false
205
222
}
223
+
224
+
# SAMPLE AUTOSCALED PREEMPTIBLE NODE POOL
225
+
# Often, to save money it makes sense to provision preemptible instances, as autoscaled node pools are already very dynamic
0 commit comments