基于K8S快速构建DevOps流水线

主播:流生 视频数:1
3600
直播介绍 相关视频
#devOps# #jenkinsx# #GitOps# #容器Kubernetes服务#

分享kubernetes中devops相关的理论知识及最佳实践,涉及开源jenkins、jenkinsx、gitops、kaniko、helm、skaffold等工具或理论介绍及demo

该直播其他视频
您可能感兴趣
  • 基于Kubernetes的持续交付实践 | 阿里巴巴研发效能实践日
    基于Kubernetes的持续交付实践 | 阿里巴巴研发效能实践日
    来源:云效鼓励师 5310
问答
胡不歸 | 7月前 dind 这种在镜像里做构建相对会比Kaniko会更麻烦嘛?
回答
  • dind也需要容器获取privileged的权限,kaniko的优势在于可以不依赖于宿主机上的docker daemon,在构建节点(容器)的用户空间完成镜像的打包和推送
  • 麻烦太多了
展开全部答案
1080143383072497 | 7月前 kaniko这个工具 对比jenkinsX有啥优势
回答
  • kaniko的优势在于可以不依赖于宿主机上的docker daemon,在构建节点(容器)的用户空间完成镜像的打包和推送,可以拿来对比的是docker build这种镜像打包方式; jenkins x是一一些组件和工具的合集,是一个平台呢,jenkinsx中如果有job需要做镜像打包推送的工作时可以使用kaniko来做
  • Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。 Jenkins X 不是一个全新的 Jenkins。 它依然使用 Jenkins 作为持续交付的核心引擎,实际上 Jenkins X 作为 Jenkins 的一个子项目存在,专注于云原生应用的 CI/CD 实现,同时也帮助 Jenkins 自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。 Jenkins X 部分新特性 自动化一切:自动化CI/CD流水线 选择项目类型自动生成Jenkinsfile定义流水线 自动生成Dockerfile并打包容器镜像 自动创建Helm Chart并运行在Kubernetes集群 自动关联代码库和流水线,作为代码变更自动触发(基于Webhook实现) 自动版本号自动归档 Review代码一键部署应用:基于GitOps的环境部署 所有的环境,应用列表,版本,配置信息统一放在代码库中进行版本控制 通过Pull Request实现研发和运维的协同,完成应用部署升级(Promotion) 可自动部署和手动部署,在必要的时候增加手工Review 当然这些都封装在jx命令中实现 自动生成预览环境和信息同步反馈 预览环境用于代码Review环节中临时创建 同Pull Request工作流程集成并实现信息同步和有效通知 验证完毕后自动清理 提交和应用状态自动同步到Github注释 自动生成release notes信息供验证
展开全部答案
zik_kinbun | 7月前 jenkins X 建议在生产使用吗? 还是尝鲜阶段
回答
  • jenkins x目前不支持多个env分别处于不同的集群中,一般最佳实践是需要把测试与生产集群分开的; 如果你使用不同的命名空间来区分这两个环境的话,是可以使用的
  • 个人觉得可以在生产环境中使用了。
展开全部答案
zik_kinbun | 7月前 如果要上自己开发的项目,需要自己配置模板吗
回答
  • jenkinsx使用draft为应用默认生成一套最佳实践的模板,可以在这个基础上对其进行修改
  • 可以基于现有的模板修改。
展开全部答案
1935048249447678 | 7月前 是否支持phabricator 代码仓库
回答
展开全部答案
1080143383072497 | 7月前 jenkinx 这些命令都是手动敲的吗,没有自动化的吗
回答
  • 创建和使用jenkinsx的资源时使用jx命令行,其他流水线构建都是自动化的
  • 命令在配置中设置好,由自动处理调用。
展开全部答案
mr_tang | 7月前 想问下 jenkins X这些发布流程 是自己生成的吗?
回答
  • 是的, 除了代码的merge操作,jenkins x相关资源创建这些需要管理员权限的需要手动操作之外,其他基本全自动化
  • 路过
展开全部答案
mr_tang | 7月前 想问下 jenkins X这些发布流程
回答
  • 可以下载pdf查看最后一页的GitOps流程, 另外pdf文档上也列了一些参考的云栖文章,可以看下jenkins x的自动化流程的详情
1935048249447678 | 7月前 phabricator 支持么
回答
  • phabricator包括申请: 审查代码前命中的主人; 审计程序后点击主; 托管git /hg/ SVN库; 跟踪错误或“功能”; 倒计时3; 对文本开放的书; 挑剔的像素设计; “项目”“管理”“管理”; 隐藏的东西和同事; 其他随机的东西,如 模因,徽章,和令牌。 phabricator支持Git, Mercurial,Subversion。phabricator的服务器运行在 Linux或MAC OS X,但可用于任何平台。可选的,但功能强大,命令行客户端奥术师运行在Linux,Windows或MAC OS X 。phabricator 大多数是 PHP 写的。 phabricator发展LED的phacility,公司 ,提供专业水平的托管支持 也phabricator,上。尝试在没有义务phacility phabricator。
224659030501964612 | 7月前 默认只有一个slave 如何并放构建
回答
  • 可以为pod设置多个执行器,这个在静态的slave上会这么用, 如果是从k8s集群中动态分配pod来做构建的话, 由于可以动态创建动态销毁, 一个pod只负责一个job的构建就可以了
1080143383072497 | 7月前 提问:刚才老师演示的都是同一套代码,为啥还要多个代码仓库?
回答
  • 新建的应用对应一个repo, staging env和production env也分别对应一个repo; staging job用来部署应用到staging环境,production job用来部署应用到production环境, 每个环境的管理员权限是不通的,对普通开发人员来说不可见,需要分开来管理
1080143383072497 | 7月前 提问:jenkins X为什么每个环境都得重新构建镜像?
回答
  • 应用有新版本更新后才会触发接下来的一系列自动化流程, 新版本的代码更新对应地需要打包新的docker镜像 helm chart等
1080143383072497 | 7月前 提问:老师所提的devops工具如jenkinsx,如何做压力测试
回答
  • jenkins x中使用的jenkins引擎跟我们使用的普通jenkins没什么区别, 在jenkins上安装插件,然后编辑Jenkinsfile来适配一下插件的使用就可以
  • 根据你的项目情况可以使用不同的工具,阿里云提供的性能测试工具: https://www.aliyun.com/product/pts/?utm_content=se_1000111576
展开全部答案
1080143383072497 | 7月前 提问: 老师所提的devops工具如jenkinsx,如何做单元测试,集成测试以及覆盖率测试
回答
  • jenkins x中使用的jenkins引擎跟我们使用的普通jenkins没什么区别, 在jenkins上安装插件,然后编辑Jenkinsfile来适配一下插件的使用就可以
  • 单元测试会根据开发语言使用不同的框架。集成和覆盖可以使用自动化测试完成。
展开全部答案
指北 | 7月前 jenkins必须配合k8s集群使用吗?有什么轻量的使用方式
回答
  • jenkins x必须配合k8s集群使用, 但jenkins可以部署在任何环境下, jenkins on k8s就是一种轻量的使用方式,最新的有一种serverless jenkins会更轻量
mr_tang | 7月前 jenkins X 里面的构建stage 也是生成的slave pod 执行的吗?
回答
  • 是的,jenkins x中使用的jenkins引擎与我们使用的普通jenkins并没有区别
mr_tang | 7月前 感觉jenkins X 就是把我们很多流程定义来 自动化
回答
  • Jenkins的目的本身就是把很多人工操作自动化了。
阚俊宝 | 7月前 1. 是否可以继承GitHub上的代码仓库?
回答
  • 可以使用jx import来导入已有的应用项目
嫀嫀 | 7月前 Jenkins X 对比老Jenkins 有啥好处
回答
  • 1. 自动化整合和部署jenkins chartmuseum docker registry 等组件,使用多种自动化构建的工具比如kaniko skaffold draft等增加pipeline自动化构建的易用性 2. gitops的使用, 应用的发布、回滚等操作全部通过git源码仓库来控制,更方便、安全性更高
  • Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。 Jenkins X 不是一个全新的 Jenkins。 它依然使用 Jenkins 作为持续交付的核心引擎,实际上 Jenkins X 作为 Jenkins 的一个子项目存在,专注于云原生应用的 CI/CD 实现,同时也帮助 Jenkins 自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。 Jenkins X 部分新特性 1. 自动化一切:自动化CI/CD流水线 选择项目类型自动生成Jenkinsfile定义流水线 自动生成Dockerfile并打包容器镜像 自动创建Helm Chart并运行在Kubernetes集群 自动关联代码库和流水线,作为代码变更自动触发(基于Webhook实现) 自动版本号自动归档 2. Review代码一键部署应用:基于GitOps的环境部署 所有的环境,应用列表,版本,配置信息统一放在代码库中进行版本控制 通过Pull Request实现研发和运维的协同,完成应用部署升级(Promotion) 可自动部署和手动部署,在必要的时候增加手工Review 当然这些都封装在jx命令中实现 3. 自动生成预览环境和信息同步反馈 预览环境用于代码Review环节中临时创建 同Pull Request工作流程集成并实现信息同步和有效通知 验证完毕后自动清理 提交和应用状态自动同步到Github注释 自动生成release notes信息供验证
展开全部答案
发送
提问 0/100