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
{{ message }}
This repository was archived by the owner on Oct 31, 2019. It is now read-only.
Copy file name to clipboardExpand all lines: docs/input-variables.md
+102-1Lines changed: 102 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,90 @@ fingerprint | None (required) | Fingerprint of t
13
13
private_key_path | None (required) | Private key file path of the OCI user's private key
14
14
region | us-phoenix-1 | String value of region to create resources
15
15
16
+
For the Separation of Duties we need multiple compartments then specify all the 5 compartment ocids (nat_compartment_ocid,bastion_compartment_ocid,coreservice_compartment_ocid,network_compartment_ocid,lb_compartment_ocid)
network_compartment_ocid | VCN, Internet Gateway, Route tables |
32
+
nat_compartment_ocid | All NAT VMs in NATSubnetAD | publicNATSubnetAD1/2/3
33
+
bastion_compartment_ocid | All Bastion VMs in BastionSubnetAD | publicBastionSubnetAD1/2/3
34
+
lb_compartment_ocid | LB instances in LBSubnetAD. | publicSubnetAD1/2/3
35
+
coreservice_compartment_ocid | All Master, Worker, Etcd VMs in MasterSubnetAD, WorkerSubnetAD and EtcdSubnetAD. BVs associated with Worker and Etcd instances | privateETCDSubnetAD1/2/3, privateK8SMasterSubnetAD1/2/3, privateK8SWorkerSubnetAD1/2/3
control_plane_subnet_access | public | Whether instances in the control plane are launched in a public or private subnets
43
+
k8s_master_lb_access | public | Whether the Kubernetes Master Load Balancer is launched in a public or private subnets
44
+
etcd_lb_access | private | Whether the etcd Load Balancer is launched in a public or private subnets
45
+
46
+
47
+
#### _Public_ Network Access (default)
48
+
49
+

50
+
51
+
When `control_plane_subnet_access=public` and `k8s_master_lb_access=public`, control plane instances and the Kubernetes Master Load Balancer are provisioned in _public_ subnets and automatically get both a public and private IP address. If the inbound security rules allow, you can communicate with them directly via their public IPs.
52
+
53
+
The following input variables are used to configure the inbound security rules on the public etcd, master, and worker subnets:
When `control_plane_subnet_access=private`, `etcd_lb_access=private` and `k8s_master_lb_access=private`, control plane instances, etcd Load Balancer and the Kubernetes Master Load Balancer
69
+
are provisioned in _private_ subnets. In this scenario, we will also set up an instance in a public subnet to
70
+
perform Network Address Translation (NAT) for instances in the private subnets so they can send outbound traffic.
71
+
If your worker nodes need to accept incoming traffic from the Internet, an additional front-end Load Balancer will
72
+
need to be provisioned in the public subnet to route traffic to workers in the private subnets.
73
+
74
+
75
+
The following input variables are used to configure the inbound security rules for the NAT instance(s) and any other instance or front-end Load Balancer in the public subnet:
public_subnet_ssh_ingress | 0.0.0.0/0 | A CIDR notation IP range that is allowed to SSH to instances in the public subnet (including NAT instances)
80
+
public_subnet_http_ingress | 0.0.0.0/0 | A CIDR notation IP range that is allowed access to port 80 on instances in the public subnet
81
+
public_subnet_https_ingress | 0.0.0.0/0 | A CIDR notation IP range that is allowed access to port 443 on instances in the public subnet
82
+
natInstanceShape | VM.Standard1.1 | OCI shape for the optional NAT instance. Size according to the amount of expected _outbound_ traffic from nodes and pods
83
+
nat_instance_ad1_enabled | true | whether to provision a NAT instance in AD 1 (only used when control_plane_subnet_access=private)
84
+
nat_instance_ad2_enabled | false | whether to provision a NAT instance in AD 2 (only used when control_plane_subnet_access=private)
85
+
nat_instance_ad3_enabled | false | whether to provision a NAT instance in AD 3 (only used when control_plane_subnet_access=private)
86
+
87
+
*Note*
88
+
89
+
Even though we can configure a NAT instance per AD, this [diagram](./images/private_cp_subnet_public_lb_failure.jpg) illustrates that each NAT Instance is still represents a single point of failure for the private subnet that routes outbound traffic to it.
It is also valid to set `control_plane_subnet_access=private` while keeping `etcd_lb_access=public` and `k8s_master_lb_access=public`. In this scenario, instances in the cluster's control plane will still provisioned in _private_ subnets and require NAT instance(s). However, the Load Balancer for your etcd and back-end Kubernetes Master(s) will be launched in a public subnet and will therefore be accessible over the Internet if the inbound security rules allow.
96
+
97
+
*Note*
98
+
99
+
When `control_plane_subnet_access=private`, you still cannot SSH directly into your instances without going through a NAT instance.
Even though we can configure a NAT instance per AD, this [diagram](./images/private_cp_subnet_public_lb_failure.jpg) illustrates that each NAT Instance is still represents a single point of failure for the private subnet that routes outbound traffic to it.
151
241
242
+
243
+
The following input variables are used to configure the Bastion instance(s). A global security list is configured and attached to all the subnets:
dedicated_bastion_subnets | "true" | whether to provision dedicated subnets in each AD that are only used by Bastion instance(s) (separate subnets = separate control)
248
+
bastionInstanceShape | VM.Standard1.1 | OCI shape for the optional Bastion instance. Size according to the amount of expected _outbound_ traffic from nodes and pods
249
+
bastion_instance_ad1_enabled | "true" | whether to provision a Bastion instance in AD 1 (only used when control_plane_subnet_access=private)
250
+
bastion_instance_ad2_enabled | "false" | whether to provision a Bastion instance in AD 2 (only used when control_plane_subnet_access=private)
251
+
bastion_instance_ad3_enabled | "false" | whether to provision a Bastion instance in AD 3 (only used when control_plane_subnet_access=private)
0 commit comments