惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
量子位
Blog — PlanetScale
Blog — PlanetScale
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
D
Docker
罗磊的独立博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
IT之家
IT之家
MyScale Blog
MyScale Blog
Microsoft Azure Blog
Microsoft Azure Blog

Luca Cavallin

AI Engineering for Developers | Blog AI Engineering for Developers Platform Engineering End-to-End | Blog Google Cloud Networking 101: The Comprehensive TLDR | Blog Google Cloud Networking 101: The Comprehensive TLDR Containers Are Not Automatically Secure | Blog Containers Are Not Automatically Secure Watery Stone Beacon | Photography Blue Iceman Suture | Photography Hidden Emerald Pool | Photography Autumn Chapel Pinnacles | Photography A Tour of eBPF in the Linux Kernel: Observability, Security and Networking | Blog A Tour of eBPF in the Linux Kernel: Observability, Security and Networking Shared Violet Pulse | Photography Kubernetes Networking from Packets to Pods | Blog An Overview of Network Protocols | Blog An Overview of Network Protocols A Quick Journey Into the Linux Kernel | Blog A Quick Journey Into the Linux Kernel OpenTelemetry: A Guide to Observability with Go | Blog I'm on the Cillers Podcast Talking About Tech and Hackathons | Blog Yet Another List of Random Opinions on Writing Readable Code and Other Rants | Blog My post about Istio is now on the Istio blog too! | Blog Tropical Jungle Escape | Photography The Istio Service Mesh for People Who Have Stuff to Do | Blog Dreamy Cartoonscape Windmill | Photography Twilight Windmill Reflections | Photography Notes I took while reading "Applied Machine Learning and AI for Engineers" and "Introducing MLOps" | Blog Things I've Learned About Terraform That I Keep Telling People About | Blog Analyzing Unsplash Photo Performance with Python | Blog
What is Google Cloud Deploy?
Luca Cavallin · 2021-12-09 · via Luca Cavallin

← all posts

kubernetesgoogle-cloudcicdcloudcncf

Simplifying container-based app development on Google Kubernetes Engine (GKE) with Cloud Deploy.

Luca Cavallin

Luca Cavallin

Published

⏱ 3 min read

What is Google Cloud Deploy?

Developing container-based applications on Google Kubernetes Engine (GKE) can be challenging when there are dozens of pipelines across multiple environments. This is where Google Cloud Deploy comes into action!

Managed continuous delivery to GKE

What is Google Cloud Deploy?

Google Cloud Deploy is a fully managed, scalable, and streamlined continuous delivery solution for GKE. It automates application delivery to multiple target environments via a defined promotion sequence. With Google Cloud Deploy, you can construct reliable CI/CD pipelines that can automate build, deploy, and render jobs. A Cloud Deploy pipeline includes information, such as name (used for referring to the pipeline), promotion sequence (used for providing the order of deployment to the targets), and targets (optional information). Moreover, it is easily integrable with popular tools, such as Gitlab CI, Jenkins, etc. It is accessible via CLI and API and also brings Skaffold (a command line tool that facilitates continuous development for Kubernetes-native applications) to your pipelines, thereby enhancing the reliability of pipelines.

Solving for continuous delivery challenges

Use Cases of Google Cloud Deploy

Some of the main use cases of Google Cloud Deploy are as follows:

  • Streamlined Continuous Delivery: Cloud Deploy is highly useful to have simple and effective continuous delivery to Google Kubernetes Engine (GKE). You can create releases and advance them via environments, like test, production, and staging. In addition, its API, CLI, or web console can be used to have a one-step simple releases' rollback and promotion.

  • Integrated Solution: Cloud Deploy is a tightly integrated GKE deployment platform. It comes pre-integrated into Cloud Audit Logs, Cloud Logging, and IAM. This way, it is effective to attain traceability with Cloud Audit Logs, monitor release events with Cloud Logging, and lockdown release progressions via IAM.

  • Scalable and Fully Managed: Cloud Deploy is a fully-managed service, which implies no expensive infrastructure to set up and maintain for the GKE CD pipeline. It can scale CD processes seamlessly and ensure their management through simple declarative configuration. It also assists to have a centralized view of all the pipelines!

A deployment example

Let's understand how Google Cloud Deploy works by learning how to register a delivery pipeline. In order to register the delivery pipeline, you have to run gcloud beta deploy apply for every pipeline configuration file. So, the command to register the delivery pipeline with Cloud Deploy including its targets (the specific cluster and its configuration into which to deploy the application) is as follows (the --region and --project flags are optional):

shell

gcloud beta deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT

The structure of a clouddeploy.yaml file looks like this:

yaml

   apiVersion: deploy.cloud.google.com/v1beta1
    kind: DeliveryPipeline
    metadata:
     name:
     annotations:
     labels:
    description:
    serialPipeline:
     stages:
     - targetId:
       profiles: []
     - targetId:
       profiles: []
     ---
 
     apiVersion: deploy.cloud.google.com/v1beta1
     kind: Target
     metadata:
      name:
      annotations:
      labels:
     description:
     requireApproval:
     gke:
      cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]
 
     executionConfigs:
     - privatePool:
         workerPool:
         serviceAccount:
         artifactStorage:
       usages:
       - [RENDER | DEPLOY]
     - defaultPool:
         serviceAccount:
         artifactStorage:
       usages:
       - [RENDER | DEPLOY]
 
     ---

To learn more about how to use Google Cloud Deploy, you can visit its official guide.

Summary

When it comes to streamlining the continuous delivery in Google Kubernetes Engine (GKE), Google Cloud Deploy presents an ideal choice for organizations. Being a fully-managed, easily scalable, and integrable solution, it makes releases and deployments an efficient and streamlined process.

Luca Cavallin

Platform Engineer at Xebia working on the infrastructure beneath AI. Google Developer Expert & CNCF Ambassador. Writes here for ~10,000 readers a month.

More about Luca