返回顶部
首页 > 资讯 > 精选 >kubernetes开发流程是什么
  • 737
分享到

kubernetes开发流程是什么

2023-06-27 19:06:29 737人浏览 安东尼
摘要

本篇内容介绍了“kubernetes开发流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开发环境构建Fork把GitHub.com/

本篇内容介绍了“kubernetes开发流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

kubernetes开发流程是什么

开发环境构建

kubernetes开发流程是什么

Fork

GitHub.com/kubernetes/kubernetes 项目fork到自己的仓库

Clone到本地

git clone https://github.com//kubernetes

设置remote

git remote add upstream Https://github.com/kubernetes/kubernetes.gitgit remote set-url --push upstream no-pushing

注意此时你的本地仓库就有了两个远程仓库,一个叫upstream(社区仓库) 一个叫origin(你fork的)

代码同步

当社区仓库代码更新时,我们希望与之同步,那么:

git pull upstream master  # 先同步到本地git push                  # push 到origin

你修改了代码希望同步给社区,那么PR即可

分支管理

kubernetes开发流程是什么

假设我们要定制一个功能,比如我之前做的对kubelet进行lxcfs增强,而我们线上又运行了多个版本的k8s,我们希望这个特性几个版本都可以加上,而且未来k8s发布新版本时同样能merge进去这功能。

要做到这个git里的两个命令非常重要:

git cherry-pick 能指定merge特定的变更git rebase 通常我用来合并多个commit, 虽然cherry-pick也支持多个commit,但是多了容易混乱

首先从master分支HEAD切出一个分支,我们有所的功能开发在这个分支上进行,如我做了c1 c2两次commit。

然后希望把这个功能merge到2.0版本中,我们先从2.0的tag切一个分支出来,然后在这个分之上去cherry-pick c1 c2即可,非常简单方便,其它版本需要此功能同理。

这里注意,如果不用cherry-pick 直接merge的话,因为2.0版本之后还有很多次变更,会产生大量冲突。

CI编译与发布

笔者比较喜欢drone,所以编译与发布都是用的drone,安利个drone免费公有服务非常好用 kubernetes开发流程是什么

由于k8s各个版本可能需要的golang版本都不太一样,所以最方便的还是在容器中进行构建,但并不是随便一个Golang的镜像都可以进行构建,因为k8s还需要拷贝代码,生成代码等依赖了一些小工具,我这里提供了一个官方的编译镜像:fanux/kube-build:v1.12.1-2

发布时用了drone一个非常方便的插件:plugins/github-release, 可以直接把二进制文件放到github的release pages里.drone.yml 长这样:

kind: pipelinename: defaultworkspace:   base: /go   path: src/k8s.io/kubernetes  # 要注意工作目录一定要写这个steps:- name: build                    # 编译,名字随便写 image: fanux/kube-build:v1.12.1-2   environment:   GO111MODULE: on              # 启动go mod commands:     - make generated_files UPDATE_api_KNOWN_VIOLATIONS=true   # 这个是一个known api校验,不加编译可能会报错     - KUBE_GIT_TREE_STATE="clean" KUBE_GIT_VERSION=v1.14.0 KUBE_BUILD_PLATFORMS=linux/amd64 make all WHAT=cmd/kubelet GOFLAGS=-v  # 几个环境变量特别重要,如不加clean编译出来版本号就会加dirty后缀,需要加版本号不然很多时候无法正常工作,加构建平台,这样无需编译多个bin文件加快编译速度,WHAT里指定需要编译什么代码,大部分情况无需编译有所组件     - ls  _output/bin/  # 这里能看到编译后的二进制文件- name: publish image: plugins/github-release settings:   api_key:       from_secret: git-release-token   files: _output/bin/kubelet   # 把上一步二进制文件放到release page中   title: ${DRONE_TAG}          # 使用你打的tag作为标题   note: Note.md                # 指定一个文件说明你release中干了啥   when:       event: tag

这样提交代码后刷刷抖音等结果即可。。

实践案例

k8s kubeadm默认证书的时间是一年,我希望延长到99年,这样就需要定制化开发,那么问题来了,因为版本众多,是不是需要每个版本都去改一下,那太麻烦了,正确的做法如下:

从master切出一个分支

git checkout -b kubeadm

修改代码并commit

commit 6d16c60ca5ce8858feeabca7a3a18d59e642ac3f (HEAD -> kubeadm)Author: fanuxDate:   Mon Mar 18 20:26:08 2019 +0800   kubeadm with long certcommit 364b18cb9ef1e8da2cf09f33D0fd8042de6b327e (upstream/master, origin/master, origin/HEAD, master)

可以看到我们commit了一次,现在只需要把6d16c60ca这个变化merge到各版本即可

merge到1.13.4版本中

git checkout -b v1.13.4 v1.13.4git cherry-pick 6d16c60ca5c

注意 这次commit如果修改了相同文件的行还是可能会冲突的,需要手动解决一下冲突

解决完冲突commit即可

➜  kubernetes git:(v1.13.4) ✗ git add .➜  kubernetes git:(v1.13.4) ✗ git commit -m "v1.13.4-cert"[v1.13.4 1bd2e627f5] v1.13.4-certDate: Mon Mar 18 20:26:08 2019 +08004 files changed, 42 insertions(+), 3 deletions(-)create mode 100644 .drone.ymlcreate mode 100644 Note.md➜  kubernetes git:(v1.13.4) git tag v1.13.4-cert➜  kubernetes git:(v1.13.4) git push --tags

“kubernetes开发流程是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: kubernetes开发流程是什么

本文链接: https://lsjlt.com/news/313005.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • kubernetes开发流程是什么
    本篇内容介绍了“kubernetes开发流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开发环境构建Fork把github.com/...
    99+
    2023-06-27
  • 小程序开发制作流程是什么
    这篇文章给大家分享的是有关小程序开发制作流程是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先是小程序的原图设计。通过专门的原型设计,设计了小程序的功能原型,绘制了各种功能流程。这样,通过原型绘制或流程图,...
    99+
    2023-06-27
  • 小程序外包开发流程是什么
    本篇内容主要讲解“小程序外包开发流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序外包开发流程是什么”吧!1小程序外包开发流程有什么  1、找外包开发商  要想开发设计小程序,第一步...
    99+
    2023-06-26
  • vps服务器开发流程是什么
    VPS服务器开发流程可以分为以下几个步骤:1. 需求分析:与客户或团队成员合作,明确VPS服务器的功能需求和技术要求。2. 系统设计...
    99+
    2023-09-08
    vps服务器 服务器
  • php数据库开发流程是什么
    本篇内容介绍了“php数据库开发流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP数据库开发流程确定数据库需求在PHP数据库开发...
    99+
    2023-07-05
  • Java NIO2 AIO开发核心流程是什么
    这篇文章主要讲解了“Java NIO2 AIO开发核心流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java NIO2 AIO开发核心流程是什么”吧!按照《Unix网络编程》的划分...
    99+
    2023-06-17
  • 网站开发的工作流程是什么
    这篇文章主要讲解了“网站开发的工作流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网站开发的工作流程是什么”吧!第一步、进行需求分析当客户提出想做一个什么样网站的时候,我们就必须弄清...
    99+
    2023-06-04
  • 小程序定制和开发的流程是什么
    这篇文章主要为大家展示了“小程序定制和开发的流程是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序定制和开发的流程是什么”这篇文章吧。一、小程序定制开发有什么优势?使用起来快捷方便,小程...
    99+
    2023-06-27
  • android蓝牙开发的基本流程是什么
    Android蓝牙开发的基本流程如下:1. 检查设备是否支持蓝牙功能:使用BluetoothAdapter类的getDefaultA...
    99+
    2023-09-25
    android
  • 星动俱乐部小程序开发流程是什么
    本篇内容介绍了“星动俱乐部小程序开发流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  星动俱乐部小程序开发流程有哪些  1、小程序...
    99+
    2023-06-26
  • 外卖小程序系统开发的流程是什么
    本篇内容主要讲解“外卖小程序系统开发的流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“外卖小程序系统开发的流程是什么”吧!  外卖小程序开发步骤:  安装说明  1、导入db文件夹中的数...
    99+
    2023-06-26
  • 自动化测试工具开发流程是什么
    自动化测试工具开发流程通常包括以下几个步骤:1.需求分析:确定自动化测试工具的目标和功能,明确需求。2.设计架构:根据需求设计自动化...
    99+
    2023-06-07
    自动化测试工具开发
  • php开发网站的整个工作流程是什么
    这篇文章主要介绍了php开发网站的整个工作流程是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php开发网站的整个工作流程是什么文章都会有所收获,下面我们一起来看看吧。一、需求分析网站开发前期需要进行需求分...
    99+
    2023-07-05
  • quartz任务触发流程是什么
    Quartz任务触发流程如下:1. 创建一个JobDetail对象,该对象包含任务的详细信息,如任务名称、任务组、任务类等。2. 创...
    99+
    2023-08-31
    quartz
  • ssl邮件发送流程是什么
    SSL邮件发送流程如下:1. 客户端(发件人)建立与邮件服务器的连接。2. 客户端发送与SMTP(Simple Mail Trans...
    99+
    2023-09-05
    ssl
  • android事件分发流程是什么
    Android事件分发流程主要包括以下几个步骤:1. 事件产生:用户在屏幕上进行触摸、点击、滑动等操作时,会产生相应的事件。2. 事...
    99+
    2023-08-15
    android
  • Android事件分发的流程是什么
    Android事件分发的流程如下: 事件发生:用户在屏幕上进行触摸或其他操作。 事件捕获:事件首先被传递给顶级父视图(通常是...
    99+
    2023-10-24
    Android
  • struts请求转发的流程是什么
    Struts的请求转发流程如下: 客户端发送HTTP请求到Struts的前端控制器(Front Controller)。 前...
    99+
    2023-10-26
    struts
  • Linux开机启动的流程是什么
    这篇文章主要讲解了“Linux开机启动的流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux开机启动的流程是什么”吧!Linux开机分为以下6个步骤,分别是BIOS, MBR,...
    99+
    2023-06-27
  • kubernetes中API是什么
    这篇文章给大家分享的是有关kubernetes中API是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:体系结构二:说明Kubernetes API是集群系统中的重要组成部分,Kubernetes中各种资源...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作