NYC Kubernetes Meetup Presentation - May 29, 2018
Presentation describes how we use Makefiles to build and deploy microservices on Kubernetes; how code is shared using git submodules; why we chose Helm; how sensitive data is stored in Git.
https://www.meetup.com/New-York-Kubernetes-Meetup/events/250629415
12. Property Lookup Hierarchy
Identical in all environments
DEV QA PROD
PROJECT
Identical in all environments
DEV QA PROD
𝞵 svc
Identical in all environments
DEV QA PROD
replicaCount=1
replicaCount=4
helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml --set db-
server=cmdline-override.wk.com
1
2
3
4
1
2
Common across all microservices and in all environments
Common across all microservices in an environment
3
4
Common for a specific microservice in all environments
Specific value for a specific microservice in a specific environment
replicaCount=2
13. Property Lookup Hierarchy
Identical in all environments
DEV QA PROD
PROJECT
Identical in all environments
DEV QA PROD
𝞵 svc
Identical in all environments
DEV QA PROD
replicaCount=1
replicaCount=4
helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml --set db-
server=cmdline-override.wk.com
1
2
3
4
replicaCount=2
1
14. Property Lookup Hierarchy
Identical in all environments
DEV QA PROD
PROJECT
Identical in all environments
DEV QA PROD
𝞵 svc
Identical in all environments
DEV QA PROD
replicaCount=1
replicaCount=4
helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml --set db-
server=cmdline-override.wk.com
1
2
3
4
replicaCount=2
2
15. Property Lookup Hierarchy
Identical in all environments
DEV QA PROD
PROJECT
Identical in all environments
DEV QA PROD
𝞵 svc
Identical in all environments
DEV QA PROD
replicaCount=1
replicaCount=4
helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml --set db-
server=cmdline-override.wk.com
1
2
3
4
replicaCount=2
3
16. Property Lookup Hierarchy
Identical in all environments
DEV QA PROD
PROJECT
Identical in all environments
DEV QA PROD
𝞵 svc
Identical in all environments
DEV QA PROD
replicaCount=1
replicaCount=4
helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml --set db-
server=cmdline-override.wk.com
1
2
3
4
replicaCount=2
4
17. ● Option 1: package environment values in to chart and extract them at install
time
○ helm install . -f values.yaml,dev/values.yaml,svc/values.yaml,svc/dev/values.yaml
● Option 2: create a chart for each environment
○ Project1-0.1.0-dev.tgz, project1-0.1.0-qa.tgz, project1-0.1.0-prod.tgz
● Option 3: package environment values as sub-charts
Property Lookup Hierarchy
https://github.com/kubernetes/helm/issues/2620