时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

谷歌发布 Skaffold 的正式版本,用来简化 Kubernetes 的开发

  • 2019-12-25
  • 本文字数:994 字

    阅读完需:约 3 分钟

谷歌发布Skaffold的正式版本,用来简化Kubernetes的开发

谷歌发布Skaffold 的普遍可用版本(general availability,GA),Skaffold 是一个在开发和部署针对 Kubernetes 环境的应用时,简化一些通用任务的工具。在开发模式下,Skaffold 能够自动探测和部署变更,在部署模式下,能够自动构建、测试和部署变更。Skaffold 在其管道的各个阶段支持多个工具。


Skaffold 可以按照两个模式运行:开发和部署。开发模式可以通过“skaffold dev”启用,它会监视本地源码的变化,当探测到变化时,它会进行构建和部署。部署模式可以通过“skaffold run”启用,它会构建一次、部署并退出,这一点使其非常适合 CI/CD 管道。Skaffold 在其管道的各个阶段支持多个工具。在构建阶段中,它可以与 Dockerfiles、Kaniko、Google Cloud Build、Bazel、maven 和 gradle 协作。它支持通过container-structure-test校验构建而成的镜像。Container-structure-test 提供了一个 YAML 配置驱动的方式来运行各种测试。对于部署阶段,它可以与 kubectl、Helmkustomize协作。


在开发模式下,Skaffold 会管道化运行中容器的日志输出并管理已部署应用到本地机器的端口转发。当文件发生变化的时候,它能够直接将文件同步到运行中的容器中,并且能够在镜像重新构建的时候,将 Kubernetes manifests更新为新的镜像标签。Skaffold 的工作流是由一个“管道(pipeline)”组成的,管道包含多个阶段(stage)。如果阶段与当前上下文无关的话,它们可以跳过,比如如果部署目标是本地 Minikube 的话,将不会推送制件(artifact)到远程仓库。



图片来源:https://skaffold.dev/docs/design/


Skaffold 是在去年宣布 alpha 版本的。GA 发布版本也添加了对 Cloud Native Buildpacks实验性支持,该功能会让开发人员构建容器镜像更容易,它会基于编程语言自动安装依赖并进行构建。


要在不同的上下文中使用不同的工具,Skaffold 支持“profiles”功能。特定 Skaffold profile 的构建、测试和部署工具可以覆盖上文所述的 skaffold.yml,该文件是位于应用根路径的基础配置文件。我们可以为不同的环境(dev、staging 和 prod)使用不同的 profiles,并相应地改变它们所使用的工具。


Skaffold 还暴露了API以便于与工作流中的其他工具进行集成。例如,部署监控仪表盘可以监听来自 Events API 的通知。该领域中的其他工具包括Draft, TiltForgeGarden


原文链接:


Google Announces General Availability of Skaffold for Easing Kubernetes Development


2019-12-25 09:002413

评论

发布
暂无评论
发现更多内容

7天免费入门数据智能,“2022数据智能夏令营”开启报名!

个推

人工智能 大数据 数据智能

并发数、并发以及高并发分别是什么意思?

行云管家

高并发 并发 堡垒机 IT运维 并发数

Vue-15-事件绑定

Python研究所

6月月更

如何保证数据库和缓存双写一致性?

C++后台开发

数据库 redis 缓存 中间件 后端开发

钱大妈基于 Flink 的实时风控实践

Apache Flink

大数据 flink 编程 流计算 实时计算

数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践

白鲸开源

Apache 大数据 开源 workflow

揭开SSL的神秘面纱,了解如何用SSL保护数据

郑州埃文科技

数据安全 SSL证书 IP溯源

NFT数字藏品APP系统开发

开发微hkkf5566

快速玩转CI/CD图形化编排

Jianmu

DevOps 前端 CI/CD 自动化运维 图形化编排

OceanBase Meetup第五期 复杂业务场景下的数据库应用需求及挑战

OceanBase 数据库

大数据工业界解决方案

Joseph295

Fabric.js 控制元素层级 👑

德育处主任

前端 canvas Fabric.js 6月月更

安擎人工智能计算中心解决方案助推“城市大脑”建设

科技热闻

详细视图——基于函数的视图 Django

海拥(haiyong.site)

Python django 6月月更

K8s的负载均衡与配置管理

Damon

云原生 k8s 6月月更

fastposter v2.8.3 发布 电商海报生成器

物有本末

Java Python 海报 海报生成

去中心化交易所套利机器人开发技术

薇電13242772558

区块链 去中心化

什么是网络拓扑?网络拓扑有哪些类型?

wljslmz

网络技术 6月月更 网络拓扑

一个老开源人的自述-如何干好开源这件事

云智慧AIOps社区

开源 前端 开源项目 数据可视化

电竞迎来“新四化”,数字化产业变革正当时

科技之家

Node.js实用的内置API(二)

devpoint

node.js utils 6月月更

Spring Security:用户和Spring应用之间的安全屏障

华为云开发者联盟

安全 防火墙 spring security 华为云

web前端培训 | 面试中Vue的各种原理分享

@零度

Vue 前端开发

斗栱云杜文宝:如何用一款SaaS改变建筑行业?

ToB行业头条

大数据培训之Flink CEP 的简介

@零度

大数据 flink CEP

快速认识 WebAssembly

devpoint

rust webassembly Wasm 6月月更

游戏源代码开发时需要什么,需要哪些团队成员?

开源直播系统源码

软件开发 游戏开发 直播源码

【CVPR2022】用于域适应语义分割的域无关先验

华为云开发者联盟

人工智能 华为云 图像域

Java—指令重排序

武师叔

6月月更

Spring那点事

飞天

6月月更

特别干的干货!!《Mycat》搭建分布式数据库中间件看他就够

迷彩

mycat 分布式数据库中间件 6月月更

谷歌发布Skaffold的正式版本,用来简化Kubernetes的开发_软件工程_Hrishikesh Barua_InfoQ精选文章