-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcluster.yaml
78 lines (73 loc) · 2.01 KB
/
cluster.yaml
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
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks1
region: us-west-2
version: "1.16"
vpc:
nat:
gateway: Single # Saving cost of demo
#gateway: HighlyAvailable # other options: Disable, Single (default)
# Custom CIDR
cidr: 10.10.0.0/16
autoAllocateIPv6: true
nodeGroups:
- name: spotng
instanceType: mixed
#labels: { role: workers }
minSize: 2
desiredCapacity: 2
maxSize: 5
ssh:
allow: true
publicKeyPath: ~/.ssh/id_rsa.pub
# Spot-only Instances
instancesDistribution:
maxPrice: 0.04
instanceTypes: ["m5.large", "m5a.large", "m4.large", "t3.large", "t3a.large", "t2.large"]
onDemandBaseCapacity: 0
onDemandPercentageAboveBaseCapacity: 0
spotInstancePools: 6
iam:
withAddonPolicies:
imageBuilder: true
autoScaler: true
externalDNS: true
certManager: true
appMesh: true
ebs: true
fsx: true
efs: true
albIngress: true
xRay: true
cloudWatch: true
#- name: ng-2
# instanceType: m5.xlarge
# desiredCapacity: 2
# ssh:
# publicKeyPath: ~/.ssh/ec2_id_rsa.pub
kubeletExtraConfig:
kubeReserved:
cpu: "300m"
memory: "300Mi"
ephemeral-storage: "1Gi"
kubeReservedCgroup: "/kube-reserved"
systemReserved:
cpu: "300m"
memory: "300Mi"
ephemeral-storage: "1Gi"
evictionHard:
memory.available: "200Mi"
nodefs.available: "10%"
featureGates:
DynamicKubeletConfig: true
RotateKubeletServerCertificate: true # has to be enabled
cloudWatch:
clusterLogging:
enableTypes: ["*"]
### IAM roles for service accounts documented here:
### https://github.com/weaveworks/eksctl/blob/master/examples/13-iamserviceaccounts.yaml
### KMS Secrets Encryption
#secretsEncryption:
# # ARN of the KMS key
# keyARN: "arn:aws:kms:us-west-2:000000000000:key/00000000-0000-0000-0000-000000000000"