How should I manage deployments with kubernetes -
i hoping find way automate process of going code deployed application on kubernetes cluster.
in order build , deploy app need first build docker image, tag it, , push ecr. need update deployment.yaml new tag docker image , run deployment kubectl apply -f deployment.yaml.
this go , perform rolling deployment on kubernetes cluster updating pods new version of container image, once deployment has completed may need other application specific things such running database migrations, or cache clear/warming may or may not need run given deployment.
i suppose write shell script runs of these commands, , run whenever want start new deployment, hoping there better/industry standard way solve these problems have missed.
as writing question noticed stackoverflow recommend question: kubernetes deployments. 1 of answers seems imply @ least of looking coming kubernetes, want make sure if there better solution using @ least know it.
my colleague has blog post topic:
http://blog.jonparrott.com/building-a-paas-on-kubernetes/
basically, kubernetes not platform-as-a-service, it's toolkit on can build own platform-a-as-service. it's not opinionated design, instead focuses on solving tricky problems scheduling, networking, , coordinating containers, , lets layer in opinions on top of it.
one of simplest ways automate workflows you're describing using makefile.
a step that, can design own miniature paas, author of first blog post did here:
https://github.com/jonparrott/noel
or, involved in more sophisticated efforts build open source paas on kubernetes, openshift:
or deis, building heroku-like platform on kubernetes:
or redspread, building "git kubernetes cluster":
and there many other examples of people building paas on top of kubernetes. think long time, if ever, there "industry standard" way deploy kubernetes, since half purpose enable multiple deployment workflows different use cases.
i want note far building container images, google cloud container builder can useful tool, since can things use automatically build image time push repository deployed. alternatively, jenkins popular way automate ci/cd flows kubernetes.
Comments
Post a Comment