Skip to content

Commit e5a067e

Browse files
author
Irving Popovetsky
authored
Money saving things (#148)
* Switch from fargate to EC2 spot instances to save money Signed-off-by: Irving Popovetsky <irving@honeycomb.io> * Go back to 2 replicas for the prod services now that we're back on nodes Signed-off-by: Irving Popovetsky <irving@honeycomb.io> * clean out the fargate profiles from the eksctl config Signed-off-by: Irving Popovetsky <irving@honeycomb.io> * Cut down the number of ALBs to 2 from 4, one per namespace to reduce costs Signed-off-by: Irving Popovetsky <irving@honeycomb.io>
1 parent e027dd7 commit e5a067e

11 files changed

Lines changed: 56 additions & 83 deletions

File tree

kubernetes/eksctl/operationcode-backend.yaml

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,25 @@ metadata:
66
name: operationcode-backend
77
region: us-east-2
88

9-
fargateProfiles:
10-
- name: fp-default
11-
selectors:
12-
- namespace: default
13-
- namespace: kube-system
14-
- name: operationcode-backends
15-
selectors:
16-
- namespace: operationcode
17-
- namespace: operationcode-staging
18-
19-
managedNodeGroups:
20-
- name: eks-infra-nodes
21-
minSize: 1
22-
desiredCapacity: 1
23-
maxSize: 2
24-
instanceType: t3a.small
9+
nodeGroups:
10+
- name: eks-infra-spot
11+
minSize: 3
12+
desiredCapacity: 3
13+
maxSize: 5
14+
# use Spot instance pricing
15+
instancesDistribution:
16+
instanceTypes:
17+
- t3.small
18+
onDemandBaseCapacity: 0
19+
onDemandPercentageAboveBaseCapacity: 0
2520
volumeSize: 20
2621
ssh:
2722
allow: true
2823
publicKeyName: oc-ops
2924
labels:
3025
nodegroup-type: infra
3126
tags:
32-
Name: eks-infra-nodes
27+
Name: eks-infra-spot
3328
iam:
3429
withAddonPolicies:
3530
imageBuilder: true

kubernetes/operationcode_python_backend/overlays/prod/deployment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ kind: Deployment
33
metadata:
44
name: back-end
55
spec:
6+
replicas: 2
67
template:
78
spec:
89
containers:

kubernetes/operationcode_python_backend/overlays/prod/ingress.yaml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ metadata:
99
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
1010
alb.ingress.kubernetes.io/scheme: internet-facing
1111
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
12-
external-dns.alpha.kubernetes.io/hostname: backend.k8s.operationcode.org
1312
labels:
1413
app: back-end
1514
spec:
1615
rules:
16+
# back-end production
1717
- host: backend.k8s.operationcode.org
1818
http:
1919
paths:
@@ -28,3 +28,18 @@ spec:
2828
backend:
2929
serviceName: back-end-service
3030
servicePort: 80
31+
# resources-api production
32+
- host: resources.k8s.operationcode.org
33+
http:
34+
paths:
35+
- path: /*
36+
backend:
37+
serviceName: resources-api-service
38+
servicePort: 80
39+
- host: resources.operationcode.org
40+
http:
41+
paths:
42+
- path: /*
43+
backend:
44+
serviceName: resources-api-service
45+
servicePort: 80

kubernetes/operationcode_python_backend/overlays/staging/ingress.yaml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ metadata:
99
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
1010
alb.ingress.kubernetes.io/scheme: internet-facing
1111
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
12-
external-dns.alpha.kubernetes.io/hostname: backend-staging.k8s.operationcode.org
1312
labels:
1413
app: back-end
1514
spec:
1615
rules:
16+
# back-end staging
1717
- host: backend-staging.k8s.operationcode.org
1818
http:
1919
paths:
@@ -28,3 +28,18 @@ spec:
2828
backend:
2929
serviceName: back-end-service
3030
servicePort: 80
31+
# resources-api staging
32+
- host: resources-staging.k8s.operationcode.org
33+
http:
34+
paths:
35+
- path: /*
36+
backend:
37+
serviceName: resources-api-service
38+
servicePort: 80
39+
- host: resources.staging.operationcode.org
40+
http:
41+
paths:
42+
- path: /*
43+
backend:
44+
serviceName: resources-api-service
45+
servicePort: 80

kubernetes/resources_api/base/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ spec:
99
kind: Deployment
1010
name: resources-api
1111
---
12-
apiVersion: extensions/v1beta1
12+
apiVersion: apps/v1
1313
kind: Deployment
1414
metadata:
1515
name: resources-api
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: resources-api
5+
spec:
6+
replicas: 2

kubernetes/resources_api/overlays/prod/ingress.yaml

Lines changed: 0 additions & 30 deletions
This file was deleted.

kubernetes/resources_api/overlays/prod/kustomization.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ bases:
77
- ../../base
88

99
resources:
10-
- ingress.yaml
1110
- database-service.yaml
11+
12+
patchesStrategicMerge:
13+
- deployment.yaml

kubernetes/resources_api/overlays/staging/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
apiVersion: extensions/v1beta1
2+
apiVersion: apps/v1
33
kind: Deployment
44
metadata:
55
name: resources-api

kubernetes/resources_api/overlays/staging/ingress.yaml

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)