@@ -22,189 +22,3 @@ local c = cluster.makeCluster(
2222);
2323
2424c
25-
26- // /*
27- // This file is a jsonnet template of a eksctl's cluster configuration file,
28- // that is used with the eksctl CLI to both update and initialize an AWS EKS
29- // based cluster.
30-
31- // This file has in turn been generated from eksctl/template.jsonnet which is
32- // relevant to compare with for changes over time.
33-
34- // To use jsonnet to generate an eksctl configuration file from this, do:
35-
36- // jsonnet projectpythia.jsonnet > projectpythia.eksctl.yaml
37-
38- // References:
39- // - https://eksctl.io/usage/schema/
40- // */
41- // local ng = import './libsonnet/nodegroup.jsonnet';
42-
43- // // place all cluster nodes here
44- // local clusterRegion = 'us-west-2';
45- // local masterAzs = ['us-west-2a', 'us-west-2b', 'us-west-2c'];
46- // local nodeAz = 'us-west-2a';
47-
48- // // Node definitions for notebook nodes. Config here is merged
49- // // with our notebook node definition.
50- // // A `node.kubernetes.io/instance-type label is added, so pods
51- // // can request a particular kind of node with a nodeSelector
52- // local notebookNodes = [
53- // { instanceType: 'r5.xlarge' },
54- // { instanceType: 'r5.4xlarge' },
55- // { instanceType: 'r5.16xlarge' },
56- // {
57- // instanceType: 'g4dn.xlarge',
58- // minSize: 0,
59- // tags+: {
60- // 'k8s.io/cluster-autoscaler/node-template/resources/nvidia.com/gpu': '1',
61- // 'k8s.io/cluster-autoscaler/node-template/label/k8s.amazonaws.com/accelerator': 'nvidia-tesla-t4',
62- // },
63- // taints+: {
64- // 'nvidia.com/gpu': 'present:NoSchedule',
65- // },
66- // labels+: {
67- // '2i2c/has-gpu': 'true',
68- // 'k8s.amazonaws.com/accelerator': 'nvidia-tesla-t4',
69- // },
70- // // Allow provisioning GPUs across all AZs, to prevent situation where all
71- // // GPUs in a single AZ are in use and no new nodes can be spawned
72- // availabilityZones: masterAzs,
73- // },
74- // ];
75- // local daskNodes = [];
76-
77-
78- // {
79- // apiVersion: 'eksctl.io/v1alpha5',
80- // kind: 'ClusterConfig',
81- // metadata+: {
82- // name: 'projectpythia',
83- // region: clusterRegion,
84- // version: '1.32',
85- // tags+: {
86- // ManagedBy: '2i2c',
87- // '2i2c.org/cluster-name': $.metadata.name,
88- // },
89- // },
90- // availabilityZones: masterAzs,
91- // iam: {
92- // withOIDC: true,
93- // },
94- // // If you add an addon to this config, run the create addon command.
95- // //
96- // // eksctl create addon --config-file=projectpythia.eksctl.yaml
97- // //
98- // addons: [
99- // { version: 'latest', tags: $.metadata.tags } + addon
100- // for addon in
101- // [
102- // { name: 'coredns' },
103- // { name: 'kube-proxy' },
104- // {
105- // // vpc-cni is a Amazon maintained container networking interface
106- // // (CNI), where a CNI is required for k8s networking. The aws-node
107- // // DaemonSet in kube-system stems from installing this.
108- // //
109- // // Related docs: https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/
110- // // https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html
111- // //
112- // name: 'vpc-cni',
113- // attachPolicyARNs: ['arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy'],
114- // // configurationValues ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/HEAD/charts/aws-vpc-cni/values.yaml
115- // configurationValues: |||
116- // enableNetworkPolicy: "false"
117- // |||,
118- // },
119- // {
120- // // aws-ebs-csi-driver ensures that our PVCs are bound to PVs that
121- // // couple to AWS EBS based storage, without it expect to see pods
122- // // mounting a PVC failing to schedule and PVC resources that are
123- // // unbound.
124- // //
125- // // Related docs: https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html
126- // //
127- // name: 'aws-ebs-csi-driver',
128- // wellKnownPolicies: {
129- // ebsCSIController: true,
130- // },
131- // // We enable detailed metrics collection to watch for issues with
132- // // jupyterhub-home-nfs~
133- // // configurationValues ref: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/HEAD/charts/aws-ebs-csi-driver/values.yaml
134- // configurationValues: |||
135- // defaultStorageClass:
136- // enabled: true
137- // controller:
138- // enableMetrics: true
139- // node:
140- // enableMetrics: true
141- // |||,
142- // },
143- // ]
144- // ],
145- // nodeGroups: [
146- // n { clusterName: $.metadata.name }
147- // for n in
148- // [
149- // ng {
150- // namePrefix: 'core',
151- // nameSuffix: 'a',
152- // nameIncludeInstanceType: false,
153- // availabilityZones: [nodeAz],
154- // instanceType: 'r5.xlarge',
155- // minSize: 1,
156- // maxSize: 6,
157- // labels+: {
158- // 'hub.jupyter.org/node-purpose': 'core',
159- // 'k8s.dask.org/node-purpose': 'core',
160- // },
161- // },
162- // ] + [
163- // ng {
164- // namePrefix: 'nb',
165- // availabilityZones: [nodeAz],
166- // minSize: 0,
167- // maxSize: 500,
168- // instanceType: n.instanceType,
169- // labels+: {
170- // 'hub.jupyter.org/node-purpose': 'user',
171- // 'k8s.dask.org/node-purpose': 'scheduler',
172- // },
173- // taints+: {
174- // 'hub.jupyter.org_dedicated': 'user:NoSchedule',
175- // 'hub.jupyter.org/dedicated': 'user:NoSchedule',
176- // },
177- // tags+: {
178- // '2i2c:node-purpose': 'user',
179- // },
180- // } + n
181- // for n in notebookNodes
182- // ] + (
183- // if daskNodes != null then
184- // [
185- // ng {
186- // namePrefix: 'dask',
187- // availabilityZones: [nodeAz],
188- // minSize: 0,
189- // maxSize: 500,
190- // labels+: {
191- // 'k8s.dask.org/node-purpose': 'worker',
192- // },
193- // taints+: {
194- // 'k8s.dask.org_dedicated': 'worker:NoSchedule',
195- // 'k8s.dask.org/dedicated': 'worker:NoSchedule',
196- // },
197- // tags+: {
198- // '2i2c:node-purpose': 'worker',
199- // },
200- // instancesDistribution+: {
201- // onDemandBaseCapacity: 0,
202- // onDemandPercentageAboveBaseCapacity: 0,
203- // spotAllocationStrategy: 'capacity-optimized',
204- // },
205- // } + n
206- // for n in daskNodes
207- // ] else []
208- // )
209- // ],
210- // }
0 commit comments