Building deployment pipelines with GCP and Kubernetes
We think Kubernetes might be one of the major tools in daily operations of any DevOps specialist, so knowing of the latest Kubernetes features and general approaches is quite useful.
One of the Kubernetes maintainers, Kelsey Hightower, has recently published a tutorial on building end-to-end software deployment pipeline using GCP Container Builder, GitHub, and numerous Kubernetes clusters. We will not copy it here, just list the main steps for your convenience.
The resulting example application can output the Hello world!, report its health via an HTTP status code and announce its version, but this is merely a showcase of the working procedure, which every DevOps engineer will adjust as they see fit.
- Description of the deployment pipeline.
- The list of prerequisites, which include creating a new GitHub project, enabling Google Cloud APIs for it and installing several tools like git, hub, and kubectl.
- Provisioning the Kubernetes clusters for the job.
- Creation of a Hub config file.
- Setting up the GitHub repositories.
- Assignment of Build Triggers for Google Container builder.
- Testing of the newly-created build and deployment pipeline.
- Final cleaning up.
As a result, there will be several clusters and repos, each having a dedicated Kubernetes manifest file for a particular environment. Leveraging numerous Kubernetes clusters and GitHub repositories ensures fine-grained RBAC to each environment along with streamlined automated build pipeline for the DevOps team leisure.
Final thoughts on building deployment pipelines with GCP and Kubernetes
This common guideline on how to implement such pipeline will definitely help DevOps specialists to stay on top of the latest Kubernetes features along with the general comprehension of the right approach to building such systems. Neat solutions like this are yet more proof that when choosing between GCP or AWS, Google Cloud Platform has quite a pack of aces in their deck!
Liked the article? Share it with friends! Have any questions? Feel free to ask in the comments or contact us directly!