Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: (IAC-1484) Update IAC Sample Sizing #126

Merged
merged 11 commits into from
Jun 7, 2024
12 changes: 6 additions & 6 deletions docs/CONFIG-VARS.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,8 @@ jump_ip = "" # Assigned values for static IP addresses
| :--- | :--- | :--- | :--- | :--- |
| create_nfs | Creation flag | bool | false | |
| nfs_num_cpu | # of CPUs | number | 4 | |
| nfs_memory | Memory in MB | number | 8092 | |
| nfs_disk_size | Size of disk in GB | number | 250 | |
| nfs_memory | Memory in MB | number | 16384 | |
| nfs_disk_size | Size of disk in GB | number | 400 | |
| nfs_ip | Static IP for NFS server | string | | |

Sample:
Expand Down Expand Up @@ -293,9 +293,9 @@ Each server element, like `foo = {}`, can contain none, some, or all of the para

| Name | Description | Type | Default | Notes |
| :--- | :--- | :--- | :--- | :--- |
| server_num_cpu | # of CPUs | number | 8 | |
| server_num_cpu | # of CPUs | number | 4 | |
| server_memory | Memory in MB | number | 16385 | |
| server_disk_size | Size of disk in GB | number | 250 | |
| server_disk_size | Size of disk in GB | number | 128 | |
| server_ip | Static IP address for PostgreSQL server | string | | This is a required field. |
| server_version | The version of the PostgreSQL server | string | "15" | Refer to the [SAS Viya platform System Requirements](https://documentation.sas.com/?cdcId=sasadmincdc&cdcVersion=default&docsetId=itopssr&docsetTarget=p05lfgkwib3zxbn1t6nyihexp12n.htm#p1wq8ouke3c6ixn1la636df9oa1u) for the supported versions of PostgreSQL for the SAS Viya platform. |
| server_ssl | Enable/disable SSL | string | "off" | |
Expand All @@ -322,9 +322,9 @@ postgres_servers = {
server_ip = "10.10.10.10" # Assigned values for static IPs
},
cds-postgres = {
server_num_cpu = 8 # 8 CPUs
server_num_cpu = 4 # 8 CPUs
server_memory = 16384 # 16 GB
server_disk_size = 250 # 256 GB
server_disk_size = 128 # 256 GB
server_ip = "10.10.10.11" # Assigned values for static IPs
server_version = 15 # PostgreSQL version
server_ssl = "on" # SSL flag
Expand Down
4 changes: 2 additions & 2 deletions docs/REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ The following table lists the minimum machine requirements that are needed to su
| **Control Plane** | 2 | 4 GB | 100 GB | You must have an odd number of nodes, 3 or more, in order to provide high availability (HA) for the cluster. | 1 |
| **Nodes** | xx | xx GB | xx GB | Nodes in the Kubernetes cluster. The number of machines varies, depending on multiple factors. Suggested capacities and information can be found in the sample files. | 3 |
| **Jump Server** | 4 | 8 GB | 100 GB | Bastion box that is used to access NFS mounts, share data, etc. | 1 |
| **NFS Server** | 8 | 16 GB | 500 GB | Required server that is used to store persistent volumes for the cluster. Used for providing storage for the `default` storage class in the cluster. | 1 |
| **PostgreSQL Servers** | 8 | 16 GB | 250 GB | PostgreSQL servers for your SAS Viya platform deployment. | 1..n |
| **NFS Server** | 4 | 16 GB | 400 GB | Required server that is used to store persistent volumes for the cluster. Used for providing storage for the `default` storage class in the cluster. | 1 |
| **PostgreSQL Servers** | 4 | 16 GB | 128 GB | PostgreSQL servers for your SAS Viya platform deployment. | 1..n |

### VMware vSphere or vCenter

Expand Down
52 changes: 19 additions & 33 deletions examples/vsphere/sample-terraform-dhcp.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ cluster_lb_type = "kube_vip" # Load Balancer accepted values [kube_vip,metallb]
# "cidr-global: 192.168.0.240/29" # CIDR-based range which can be used in any Namespace
# ]
#
# MetelLB sample:
# MetalLB sample:
#
# cluster_lb_addresses = [
# "192.168.10.0/24",
Expand Down Expand Up @@ -99,21 +99,20 @@ node_pools = {
system = {
count = 1
cpus = 8
memory = 16384
memory = 65536
thpang marked this conversation as resolved.
Show resolved Hide resolved
os_disk = 100
node_taints = []
node_labels = {
"kubernetes.azure.com/mode" = "system" # REQUIRED LABEL - DO NOT REMOVE
}
},
cas = {
count = 3
count = 1
cpus = 16
memory = 131072
os_disk = 350
misc_disks = [
150,
150,
400,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be careful here. The 2 different disk are used for 2 different items. Though they look the same they are needed separately.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll message you about this, there may be something about the misc_disks that I'm not aware of.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These misc disks are used by the static provisioner and not set asside for use with CASCACHE unless it uses the static provisioner to map that storage into the nodes.

]
node_taints = ["workload.sas.com/class=cas:NoSchedule"]
node_labels = {
Expand All @@ -122,19 +121,22 @@ node_pools = {
},
compute = {
count = 1
cpus = 16
memory = 131072
cpus = 4
memory = 16384
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought compute needed 128G of memory to run items there. Interesting.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's based off their testing and it also lines up with the SAS Doc that states 16 is the min for compute for a "SAS Viya" deployment
https://go.documentation.sas.com/doc/en/itopscdc/v_052/itopssr/n0ampbltwqgkjkn1j3qogztsbbu0.htm#n11a8r150qgkcon17txx5r526sd9

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, it may be the min but if they are hoping for a more dynamic system on bare-metal or VMs this will not happen. So the resources needed for the compute need to be there from the very beginning.

os_disk = 100
misc_disks = [
400,
thpang marked this conversation as resolved.
Show resolved Hide resolved
]
node_taints = ["workload.sas.com/class=compute:NoSchedule"]
node_labels = {
"workload.sas.com/class" = "compute"
"launcher.sas.com/prepullImage" = "sas-programming-environment"
}
},
stateful = {
count = 1
cpus = 8
memory = 32768
count = 2
cpus = 4
memory = 16384
os_disk = 100
misc_disks = [
150,
Expand All @@ -145,9 +147,9 @@ node_pools = {
}
},
stateless = {
count = 2
cpus = 8
memory = 32768
count = 4
cpus = 4
memory = 16384
os_disk = 100
misc_disks = [
150,
Expand All @@ -156,22 +158,6 @@ node_pools = {
node_labels = {
"workload.sas.com/class" = "stateless"
}
},
jarpat marked this conversation as resolved.
Show resolved Hide resolved
singlestore = {
count = 3
cpus = 16
memory = 131072
os_disk = 100
misc_disks = [
150,
150,
250,
250,
]
node_taints = ["workload.sas.com/class=singlestore:NoSchedule"]
node_labels = {
"workload.sas.com/class" = "singlestore"
}
}
}

Expand All @@ -184,17 +170,17 @@ jump_ip = "" # Assigned values for static IPs

# NFS server
create_nfs = true # Creation flag
nfs_num_cpu = 8 # 8 CPUs
nfs_num_cpu = 4 # 4 CPUs
nfs_memory = 16384 # 16 GB
nfs_disk_size = 500 # 500 GB
nfs_disk_size = 400 # 400 GB
nfs_ip = "" # Assigned values for static IPs

# Postgres Servers
postgres_servers = {
default = {
server_num_cpu = 8 # 8 CPUs
server_num_cpu = 4 # 4 CPUs
server_memory = 16384 # 16 GB
server_disk_size = 250 # 256 GB
server_disk_size = 128 # 128 GB
server_ip = "" # Assigned values for static IPs
server_version = 15 # PostgreSQL version
server_ssl = "off" # SSL flag
Expand Down
21 changes: 10 additions & 11 deletions examples/vsphere/sample-terraform-minimal.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -99,21 +99,20 @@ node_pools = {
system = {
count = 1
cpus = 8
memory = 16384
memory = 65536
os_disk = 100
node_taints = []
node_labels = {
"kubernetes.azure.com/mode" = "system" # REQUIRED LABEL - DO NOT REMOVE
}
},
cas = {
count = 3
cpus = 8
memory = 16384
os_disk = 100
count = 1
cpus = 16
memory = 131072
os_disk = 350
misc_disks = [
150,
150,
400,
]
node_taints = ["workload.sas.com/class=cas:NoSchedule"]
node_labels = {
Expand Down Expand Up @@ -145,17 +144,17 @@ jump_ip = "" # Assigned values for static IPs

# NFS server
create_nfs = true # Creation flag
nfs_num_cpu = 8 # 8 CPUs
nfs_num_cpu = 4 # 4 CPUs
nfs_memory = 16384 # 16 GB
nfs_disk_size = 500 # 500 GB
nfs_disk_size = 400 # 400 GB
nfs_ip = "" # Assigned values for static IPs

# Postgres Servers
postgres_servers = {
default = {
server_num_cpu = 8 # 8 CPUs
server_num_cpu = 4 # 4 CPUs
server_memory = 16384 # 16 GB
server_disk_size = 250 # 256 GB
server_disk_size = 128 # 128 GB
server_ip = "" # Assigned values for static IPs
server_version = 15 # PostgreSQL version
server_ssl = "off" # SSL flag
Expand Down
33 changes: 18 additions & 15 deletions examples/vsphere/sample-terraform-static-ips.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ node_pools = {
# Other variables may be altered
system = {
cpus = 8
memory = 16384
memory = 65536
os_disk = 100
ip_addresses = [
"",
Expand All @@ -117,23 +117,23 @@ node_pools = {
memory = 131072
os_disk = 350
misc_disks = [
150,
150,
400,
]
ip_addresses = [
"",
"",
"",
]
node_taints = ["workload.sas.com/class=cas:NoSchedule"]
node_labels = {
"workload.sas.com/class" = "cas"
}
},
compute = {
cpus = 16
memory = 131072
cpus = 4
memory = 16384
os_disk = 100
misc_disks = [
400,
]
ip_addresses = [
"",
]
Expand All @@ -144,30 +144,33 @@ node_pools = {
}
},
stateful = {
cpus = 8
memory = 32768
cpus = 4
memory = 16384
os_disk = 100
misc_disks = [
150,
]
ip_addresses = [
"",
"",
]
node_taints = ["workload.sas.com/class=stateful:NoSchedule"]
node_labels = {
"workload.sas.com/class" = "stateful"
}
},
stateless = {
cpus = 8
memory = 32768
cpus = 4
memory = 16384
os_disk = 100
misc_disks = [
150,
]
ip_addresses = [
"",
"",
"",
"",
]
node_taints = ["workload.sas.com/class=stateless:NoSchedule"]
node_labels = {
Expand All @@ -185,17 +188,17 @@ jump_ip = "" # Assigned values for static IPs

# NFS server
create_nfs = true # Creation flag
nfs_num_cpu = 8 # 8 CPUs
nfs_num_cpu = 4 # 4 CPUs
nfs_memory = 16384 # 16 GB
nfs_disk_size = 500 # 500 GB
nfs_disk_size = 400 # 400 GB
nfs_ip = "" # Assigned values for static IPs

# Postgres Servers
postgres_servers = {
default = {
server_num_cpu = 8 # 8 CPUs
server_num_cpu = 4 # 4 CPUs
server_memory = 16384 # 16 GB
server_disk_size = 250 # 256 GB
server_disk_size = 128 # 128 GB
server_ip = "" # Assigned values for static IPs
server_version = 15 # PostgreSQL version
server_ssl = "off" # SSL flag
Expand Down
Loading
Loading