When to rm -rf Kubernetes
Paul Steele
#IndyCloudConf
When to rm -rf Kubernetes Paul Steele #IndyCloudConf About Me - - PowerPoint PPT Presentation
When to rm -rf Kubernetes Paul Steele #IndyCloudConf About Me Software Engineer at SEP Purdue University https://blog.paul-steele.com/ #IndyCloudConf Kubernetes at home #IndyCloudConf Setting up Clusters #IndyCloudConf
Paul Steele
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
○ What does it offer? ○ When it isn’t ideal ○ When it is ideal
○ alternatives
#IndyCloudConf
#IndyCloudConf
○ Standardized ○ Modular ○ Fast to spin up ○ Portable
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
○ Machines ○ Storage ○ Networks
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
○ Machine failures ○ App hiccups
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf
○ 1.0 release in July 2015
#IndyCloudConf
#IndyCloudConf
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Nodes
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Nodes
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Pods
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Pods
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Pods
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Services
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/
Services
○ For all actions
#IndyCloudConf
○ Isolate resources ○ Share hardware between Test & production
#IndyCloudConf
#IndyCloudConf
○ Custom built ○ Used for allocating customer resources ○ Not containerized at all
#IndyCloudConf
#IndyCloudConf
○ Mysql
#IndyCloudConf
#IndyCloudConf
○ Mysql ○ Mongodb
○ Mysql ○ Mongodb ○ Redis
○ Mysql ○ Mongodb ○ Redis ○ Jenkins
○ Mysql ○ Mongodb ○ Redis ○ Jenkins ○ Jenkins Connector
○ Mysql ○ Mongodb ○ Redis ○ Jenkins ○ Jenkins Connector ○ Jaeger
○ Mysql ○ Mongodb ○ Redis ○ Jenkins ○ Jenkins Connector ○ Jaeger ○ Elasticsearch
○ Mysql ○ Mongodb ○ Redis ○ Jenkins ○ Jenkins Connector ○ Jaeger ○ Elasticsearch ○ LocalStack
#IndyCloudConf
○ A container for the application itself
○ No end in sight
#IndyCloudConf
○ Just because you can, doesn’t mean you should
○ It is a place for your architecture to run
#IndyCloudConf
○ Unused configuration
■ Wasted time ■ Introduces bugs
#IndyCloudConf
○
Consolidated configurations
#IndyCloudConf
○
○ Has a high initial cost of setting up ○ Not just for running docker
#IndyCloudConf
○ Managing K8S is a full time job
■ API server for your infrastructure
○ High recurring cost of maintaining
■ Can get into weird scenarios
#IndyCloudConf
○ Service discovery ○ Load balancing ○ Role Based Authentication ○ Configuration management ○ Horizontal scaling
#IndyCloudConf
#IndyCloudConf
○ Service discovery ○ Load balancing ○ Role Based Authentication ○ Configuration management ○ Horizontal scaling
#IndyCloudConf
○ The 12 Factor App ○ Guidelines for Software as a Service
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
○ configMaps ○ Secrets ○ Env vars ○ Mounted files
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
https://12factor.net/
○ Cpu ○ Memory ○ custom
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
https://12factor.net/
#IndyCloudConf
https://12factor.net/
○ Ops provides K8S as a service ○ Devs are in charge of their deployments
#IndyCloudConf
#IndyCloudConf
○ If not, focus on automating its deployment
#IndyCloudConf
○ If not, focus on using docker-compose
#IndyCloudConf
○ Or ability to pay someone to (Amazon / Azure) ○ Focus on reducing complexity of application
#IndyCloudConf
○ Statelessness ○ Focus on automation / re-architecting application
#IndyCloudConf
○ Service discovery ○ Load balancing ○ Role Based Authentication ○ Configuration management ○ Horizontal scaling
#IndyCloudConf
○ Pros ○ Cons
○ Can cause them too
#IndyCloudConf
#IndyCloudConf
#IndyCloudConf