-
Notifications
You must be signed in to change notification settings - Fork 317
Expand file tree
/
Copy pathhpc-slurm-kms.yaml
More file actions
134 lines (119 loc) · 4.48 KB
/
Copy pathhpc-slurm-kms.yaml
File metadata and controls
134 lines (119 loc) · 4.48 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
blueprint_name: hpc-slurm-kms
vars:
project_id: ## Set GCP Project ID Here ##
deployment_name: hpc-slurm-kms
region: us-central1
zone: us-central1-a
kms_key: "projects/my-project/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key"
kms_service_account: "my-sa@my-project.iam.gserviceaccount.com"
# Documentation for each of the modules used below can be found at
# https://github.com/GoogleCloudPlatform/hpc-toolkit/blob/main/modules/README.md
deployment_groups:
- group: primary
modules:
# Source is an embedded module, denoted by "modules/*" without ./, ../, /
# as a prefix. To refer to a local module, prefix with ./, ../ or /
- id: network
source: modules/network/vpc
# Private Service Access (PSA) requires the compute.networkAdmin role which is
# included in the Owner role, but not Editor.
# PSA is a best practice for Filestore instances, but can be optionally
# removed by deleting the private_service_access module and any references to
# the module by Filestore modules.
# https://cloud.google.com/vpc/docs/configure-private-services-access#permissions
- id: private_service_access
source: modules/network/private-service-access
use: [network]
- id: homefs
source: modules/file-system/filestore
use: [network, private_service_access]
settings:
local_mount: /home
- id: debug_nodeset
source: community/modules/compute/schedmd-slurm-gcp-v6-nodeset
use: [network]
settings:
node_count_dynamic_max: 4
machine_type: n2-standard-2
allow_automatic_updates: false
disk_encryption_key_service_account: $(vars.kms_service_account)
disk_encryption_key: $(vars.kms_key)
- id: debug_partition
source: community/modules/compute/schedmd-slurm-gcp-v6-partition
use:
- debug_nodeset
settings:
partition_name: debug
exclusive: false # allows nodes to stay up after jobs are done
is_default: true
- id: compute_nodeset
source: community/modules/compute/schedmd-slurm-gcp-v6-nodeset
use: [network]
settings:
node_count_dynamic_max: 20
bandwidth_tier: gvnic_enabled
allow_automatic_updates: false
disk_encryption_key: $(vars.kms_key)
disk_encryption_key_service_account: $(vars.kms_service_account)
- id: compute_partition
source: community/modules/compute/schedmd-slurm-gcp-v6-partition
use:
- compute_nodeset
settings:
partition_name: compute
- id: h3_nodeset
source: community/modules/compute/schedmd-slurm-gcp-v6-nodeset
use: [network]
settings:
node_count_dynamic_max: 20
# Note that H3 is available in only specific zones. https://cloud.google.com/compute/docs/regions-zones
machine_type: h3-standard-88
# H3 does not support pd-ssd and pd-standard
# https://cloud.google.com/compute/docs/compute-optimized-machines#h3_disks
disk_type: pd-balanced
bandwidth_tier: gvnic_enabled
allow_automatic_updates: false
disk_encryption_key: $(vars.kms_key)
disk_encryption_key_service_account: $(vars.kms_service_account)
- id: h3_partition
source: community/modules/compute/schedmd-slurm-gcp-v6-partition
use:
- h3_nodeset
settings:
partition_name: h3
- id: slurm_login
source: community/modules/scheduler/schedmd-slurm-gcp-v6-login
use: [network]
settings:
machine_type: n2-standard-4
enable_login_public_ips: true
disk_encryption_key: $(vars.kms_key)
disk_encryption_key_service_account: $(vars.kms_service_account)
- id: slurm_controller
source: community/modules/scheduler/schedmd-slurm-gcp-v6-controller
use:
- network
- debug_partition
- compute_partition
- h3_partition
- homefs
- slurm_login
settings:
enable_controller_public_ips: true
disk_encryption_key: $(vars.kms_key)
disk_encryption_key_service_account: $(vars.kms_service_account)
slurm_bucket_kms_key: $(vars.kms_key)