Cloud Deploy and GKE
1. Cloud Deploy and GKE
Cloud Deploy is a fully managed, scalable Google Cloud service used to automate the deployment of applications to Google Kubernetes Engine. In this section, let's explore the tool in detail. Cloud Deploy is fully managed and serverless, reducing operational overhead by providing a single place to view and manage all of your deployments. It provides enhanced control over the deployment lifecycle. Environments and progressions are consistent, and deployments are standardized and predictable. It can deploy applications from many sources, including source code repositories such as GitHub and Bitbucket, container images such as Docker and Google Artifact Registry, and Helm charts. Manual release approvals can be implemented to add a layer of governance and verification. And Cloud Deploy also supports many deployment methods. The list includes blue/green deployments, rolling updates, and canary deployments. When encountering deployment issues, teams can use rollbacks to quickly revert to a stable state. Finally, Cloud Deploy increases visibility into the deployment process. Developers can use integrated dashboards and logging to monitor performance and identify potential bottlenecks. The data can be used to drive objective-based SRE and DevOps processes, promoting a data-driven approach to continuous improvement. And traceability and audit insights secure deployment actions and ensure compliance. As organizations grow and environments diversify, managing DevOps permissions becomes complex and challenging. Many organizations use custom scripting to render manifests for each environment, which leads to unreliable deployment pipelines. As Kubernetes's scale and maturity advances, many organizations adopt Kubernetes-native rendering tools like Helm, Customize, and KPT. Skaffold separates rendering tools from the delivery pipeline. This separation enables developers to use a rendering tool of their choice without impacting the delivery pipeline. This is an example of a Helm package with a values.yaml and a deployment.yaml file. The values depend on the environment that you are deploying to, like production and deployment. Skaffold uses profiles to match the configuration with the deployment target so that a development Kubernetes cluster receives the templates rendered with the development values. The delivery pipeline is typically defined in a YAML configuration file, and represents the workflow to deliver an application from dev to staging to production. An important element of the delivery pipeline YAML file is the progression specification. The progression connects the pipeline with deployment targets and determines the order of the deployment process. Targets must be defined in the same project and region as the delivery pipeline, but the runtimes the target's deployed to can be in different projects and regions. In Cloud Deploy, you can roll back to a previous version. This is useful if a mistake occurred or to promote release to the next environment, like from staging to production.2. Let's practice!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.