kubernetes is for monoliths too
TRANSCRIPT
KUBERNETES IS FOR MONOLITHS TOOKUBECON 2015, NOV 10, 2015
Steve Reed (@_smreed)
ABOUT MEEarly Kubernetes adopter:
v0.5 in GCE ~Nov 2014One of the first production workloads12 commits, ~143 lines survive today
"GCE PD Data Loss"I have nothing to sell you today :)#3965
MOTIVATIONEverybody should be considering Kubernetes
Google Searches For "Kubernetes" and "Microservices"
Not just for microservices
HELMSMAN OF THE TITANIC
Probably don't do this.Remove this slide if someone else uses the title.
OBJECT ORIENTED INFRASTRUCTURE?
Kubernetes Primitivesthey describe your applicationthey also describe requirements
Pods, Services, etc are the "interface" between yourinfrastructure and application.
CONTAINERIZE...Monolithic Pod
"Megapod?" "Podolith?"Volume mounts where possible
configurationpersistent storagelogs
SecretsResource Limits?
MONOLITHIC PODEverything's localhostDependencies are specified, enforcableNow make it better!
Demo
REFACTORDatabase, SMTP
Needs to scale independentlyMight be used by other pods as they are addedWant ability to proxyWant dev environment "mocks"
HARDCODE STUFF!Service hostnames are "guaranteed"monolith-db.default.svc.cluster.localsmtp-server.default.svc.cluster.local
localhost for everything inside the podstorage paths/var/log/monolith
MORE IDEAS"Services without selectors"reverse proxy "adapter" container
ssl-terminationauthentication
pgpool "ambassador" to postgres"semantic pipelines"Secrets for certs, auth credentialsDefault ports (80 for HTTP, 443 for HTTPS)replace crond with sidecars, Jobs
BONUS CONTENT?"dueling" replication controllers
THANK YOUJust try Kubernetes.If you want to refactor your app, Kubernetes can help youget started!slides, code, examples@_smreed