写点什么

谷歌发布 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:002356

评论

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

软件测试 | 编程语言中的Interface

测吧(北京)科技有限公司

测试

Django笔记二十五之数据库函数之日期函数

Hunter熊

Python django extract trunc

Prometheus实战-从0构建高可用监控平台(三)

小毛驴的烂笔头

Linux Prometheus

实现CyclicBarrier的原理和在Go中的应用

Jack

数字化管理时代来临,瓴羊Quick BI、帆软Fine BI领跑国产BI市场

对不起该用户已成仙‖

pyFBI让Python运行的性能可视化

IT蜗壳-Tango

三周年连更

【干货集】PCBA板边器件布局重要性

华秋PCB

工具 电路 PCB 布局 PCB设计

接口测试

测吧(北京)科技有限公司

测试

毕业设计-100w秒杀设计

Sam

架构实战营

如何安装OpenHarmony HAR

鸿蒙之旅

OpenHarmony 三周年连更

什么是点对点传输?什么是点对多传输

镭速

2023-05-08:我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符, 并返回唯一字符的个数。 例如:s = “LEETCODE“ ,则其中 “L“, “T

福大大架构师每日一题

Go 算法 rust 福大大

数据脱敏技术

穿过生命散发芬芳

数据脱敏 三周年连更

Shell语法之基本运算符

芯动大师

Shell 三周年连更 shell变量

Prometheus实战-从0构建高可用监控平台(五)

小毛驴的烂笔头

Linux Prometheus

如何有效的向 AI 提问 ?

繁依Fanyi

人工智能

全新 – Amazon EC2 R6a 实例由第三代 AMD EPYC 处理器提供支持,适用于内存密集型工作负载

亚马逊云科技 (Amazon Web Services)

Amazon EC2

【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南

码界西柚

spring 缓存服务 三周年征文 CacheManager 缓存系统

对比编程语言的四种错误处理方法,哪种才是最优方案?

Python猫

编程

Linux 中的文件锁定命令:flock、fcntl、lockfile、flockfile

wljslmz

Linux 三周年连更

安卓机上 4G 内存跑 alpaca,欢迎试用轻量级 LLM 模型推理框架 InferLLM

MegEngineBot

开源 大模型 MegEngine LLM

数据标注——数字世界的基石

数据堂

Fabarta 与青岛市城阳区政府达成战略合作,共同推动区域数据要素市场建设

Fabarta

数据挖掘 数据要素 数据资产管理 图智能 数据要素流通

Flink数据流元素

阿泽🧸

flink 三周年连更

视频监控系统选择硬盘,绿盘、蓝盘、紫盘、黑盘、红盘到底选择哪个?

wljslmz

视频监控 三周年连更

今日分享丨inBuilder低代码平台有关前端的“道、法、术、器”

inBuilder低代码平台

前端 低代码平台

JMeter实时性能监控平台实战

测吧(北京)科技有限公司

测试

Django认证系统

测吧(北京)科技有限公司

测试

Prometheus实战-从0构建高可用监控平台(四)

小毛驴的烂笔头

Linux Prometheus

锐捷网络,无边光景一时新

脑极体

网络

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