Deployment via CICD
Kubernetes has a powerful shell client and a resource model that allows resources to be stored in a version control system and deployed through a CI/CD pipeline.
Why Use CI/CD?
CI/CD: Continuous integration and continuous deployment
The goal of CI/CD is to ensure that software is in a state in which it can be deployed to users and fully automates the deployment.
CI/CD stands for continuous integration and continuous deployment. Continuous integration validates the code by running tests to confirm that the code meets the established standards and does not break existing functionality. When validated, CI automates the merge to the main branch (Git) or trunk (Subversion). Continuous deployment automates the deployment of the software to production or releases the build.
In summary, the goal of CI/CD is to ensure that software is in a state in which it can be deployed to users and fully automates the deployment.
Why Use CI/CD on Kubernetes?
Kubernetes is a platform to host applications.
Kubernetes is built around the idea of automating deployments.
Deploying to Kubernetes through the pipeline reduces human error.
Kubernetes ties in well with the continuous deployment stage in the CI/CD pipeline. Kubernetes is a platform to host applications and is built around automating deployments. Deploying through a pipeline reduces human interaction, which reduces human errors.
To deploy an application to Kubernetes, the container for the application must be built first. Building containers for Kubernetes is the same as building containers for Docker, if using Docker run time. The pipeline should build the containers and push the containers to a registry. Then the deployment is applied to Kubernetes through a manifest. The manifest will specify the required number of pods and the location of the container image on the registry. The pod will pull down the image and start the container. Verification of the deployment should also happen within the pipeline.
Last updated