首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏实战docker

    kubebuilder实战之二:初次体验kubebuilder

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 本篇概览 本文是《kubebuilder 实战》系列的第二篇,前文将kubebuilder环境准备完毕,今天咱们在此环境创建CRD和Controller,再部署到kubernetes环境并且验证是否生效,整篇文章由以下内容组成: 创建API(CRD init --domain com.bolingcavalry 控制台输出类似以下内容: [root@kubebuilder helloworld]# kubebuilder init --domain

    1.1K30编辑于 2022-05-06
  • 来自专栏waki

    kubebuilder怎么开始

    kubebuilder怎么开始 # 官网:https://book.kubebuilder.io/quick-start#create-a-project 版本 #go1.19、go1.20(官方文档里的版本 )都不行 go1.18 docker 20.10.0 kubectl 1.21.14 kubebuilder 3.5 #https://github.com/kubernetes-sigs/kubebuilder /releases 步骤: chmod +x kubebuilder && mv kubebuilder {你的GOPATH}/bin/ create api 一直报错,竟然是go安装的问题 报错内容: kubebuilder create api --group webapp --version v1 --kind Guestbook Create Resource [y/n] y Create Controller /controller-gen] Error 2 Error: failed to create API: unable to run post-scaffold tasks of "base.go.kubebuilder.io

    68910编辑于 2023-10-17
  • 来自专栏小千世界

    Kubebuilder 学习笔记

    Kubebuilder is a framework for building Kubernetes APIs using custom resource definitions (CRDs).Note : kubebuilder can save us a lot of work and make developing CRDs and adminsion webhooks incredibly easy.Installation ---# download kubebuilder and install locally.curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest /$(go env GOOS)/$(go env GOARCH)chmod +x kubebuilder && mv kubebuilder /usr/local/bin/Create a Project Otherwise --repo=<module path> must be set.Adding a new API---[blazehu@MacBook ~]$ kubebuilder create

    69941编辑于 2022-08-12
  • 来自专栏CSDN搜“看,未来”

    Kubebuilder 使用记录

    、Go) 本文介绍 Kubebuilder,operator-sdk 可自行学习。 Kubebuilder Kubebuilder 是一个帮助开发者快速开发 Kubernetes API 的脚手架命令行工具,依赖 Controller-tool 和 Controller-runtime 实操手册 安装 git clone https://gitee.com/henrywangx/kubebuilder.git cd kubebuilder make build cp bin/kubebuilder 这里kubebuilder帮我们生成了一下模板文件夹,包括解决crd的rbac, cert, webhook的文件。 ok, 接下来我们就可以用kubebuilder帮我们创建一个我们想要的crd,我就叫这个crd为Object吧: kubebuilder create api --group infra --version

    76331编辑于 2022-05-28
  • 来自专栏k8s技术圈

    kubebuilder 进阶使用教程

    本篇将继续深入学习kubebuilder开发,并介绍一些深入使用时遇到的问题。包括:finalizer、控制器对CRD的update status、kubebuilder注释等。 设计subresource风格的status 需要在Bucket的注释中添加一行// +kubebuilder:subresource:status,变成如下: // +kubebuilder:subresource 我们在进行k8s operator时经常也需要设计这样的字段,但是默认情况下,kubebuilder会给我们创建namespace scope的crd资源,可以通过如下方式修改: 在执行kubebuilder string } kubebuilder 的log kubebuilder的log使用了第三方包"github.com/go-logr/logr"。 kubebuilder 2.0 提供了很简单的索引构建方式。

    5.6K20发布于 2021-03-01
  • 来自专栏小千世界

    Kubebuilder 学习笔记之 Webhook Server

    下面使用 kubebuilder 开发一个简单的 demo。 6.1 创建项目kubebuilder init --domain blazehu.com --owner "blazehu" --repo blazehu.com/kubegame提示: 这里通过 kubebuilder 6.2 创建控制器这里只需要创建一个控制器kubebuilder create api --group svc --version v1 --kind App6.3 创建 webhookImplement sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/webhook/admission")// +kubebuilder sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/webhook/admission")// +kubebuilder

    2.7K61编辑于 2022-08-12
  • 来自专栏charlieroro

    kubebuilder operator的运行逻辑

    kubebuilder 的运行逻辑 概述 下面是kubebuilder 的架构图。 kubebuilder的处理 kubebuilder会自动在main.go中创建Manager: mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), 的处理 kubebuilder会自动在main.go中生成一个SetupWithManager函数,在Complete中创建并将controller添加到manager,具体见下文: func (r * Reconcile(context.Context, Request) (Result, error) } kubebuilder的处理 kubebuilder会在guestbook_controller.go kubebuilder Operator 从上述讲解可以了解到,Operator一般会涉及两方面:object以及其所有(own)的资源。

    2K20编辑于 2022-05-09
  • 来自专栏实战docker

    kubebuilder实战之七:webhook

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《kubebuilder实战》系列的第七篇 为我们提供了生成webhook的基础文件和代码的工具,与制作API的工具类似,极大地简化了工作量,咱们只需聚焦业务实现即可; 基于kubebuilder制作的webhook和controller,如果是同一个资源 相关的应用在kubebuilder文件夹下,如下图红框所示: kubebuilder文件夹下有多个子文件夹,本篇对应的源码在elasticweb目录下,如下图红框所示: 准备工作 和controller 操作完成后,准备工作结束,可以开始实战了; 生成webhook 进入elasticweb工程下,执行以下命令创建webhook: kubebuilder create webhook \ --group return r.validateElasticWeb() } 编码完成,可见非常简单,接下来,咱们把以前实战遗留的东西清理一下,再开始新的部署和验证; 清理工作 如果您是随着《kubebuilder实战

    1.3K20编辑于 2022-05-06
  • 来自专栏k8s技术圈

    使用 Kubebuilder 定义 CRD 输出列

    前面我们介绍了使用 kubebuilder 开发 Operator 的示例,kubebuilder 是非常优秀的 Operator 开发框架,他可以帮我们自动生成很多代码,可以使用标准的 Go 对象来定义 这个时候我们就可以在 CRD 定义的结构体类型中使用 +kubebuilder:printcolumn 这个注释来告诉 kubebuilder 将我们所需的信息添加到 CRD 中,比如我们想要打印使用的镜像 ,在 +kubebuilder:object:root=true 注释下面添加一列新的注释,如下所示: // +kubebuilder:object:root=true // +kubebuilder: ="The Docker Image of MyAPP" // +kubebuilder:printcolumn:name="Size",type="integer",JSONPath=".spec.size " // +kubebuilder:subresource:status // MyApp is the Schema for the myapps API type MyApp struct {

    2.6K30发布于 2020-11-20
  • 来自专栏k8s技术圈

    使用kubebuilder开发简单的Operator

    使用 kubebuilder 能够帮助我们节省以下工作: ? kubebuilder 详解 kubebuilder 是一个帮助开发者快速开发 kubernetes API 的脚手架命令行工具,其依赖库 controller-tools 和 controller-runtime 下图是使用 kubebuilder 的工作流程图: ? 文章后面会结合一个简单示例来介绍开发流程。 “kubebuilder 有非常良好的文档,包括一个从零开始的示例,您应该以文档为主。 kubebuilder ➜ ~ kubebuilder version Version: version.Version{KubeBuilderVersion:"unknown", KubernetesVendor 初始化项目,生成相关文件和目录,并创建 CRD 资源 BASH # 使用kubebuilder初始化项目 ➜ custom-controllers kubebuilder init --domain

    2.4K30发布于 2021-06-25
  • 来自专栏实战docker

    kubebuilder实战之五:operator编码

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 本篇概览 本篇是《kubebuilder 相关的应用在kubebuilder文件夹下,如下图红框所示: kubebuilder文件夹下有多个子文件夹,本篇对应的源码在elasticweb目录下,如下图红框所示: 新建项目elasticweb init --domain com.bolingcavalry 然后是CRD,执行以下命令即可创建相关资源: kubebuilder create api \ --group elasticweb \

    68940编辑于 2022-05-06
  • 来自专栏CNCF

    Kubebuilder介绍:使用CRD构建Kubernetes API的SDK

    Kubebuilder支持项目和API定义,基于controller-runtime库构建。 为什么使用Kubebuilder和Kubernetes API? 使用kubebuilder创建新的“Hello World”控制器非常简单: - 创建项目:kubebuilder init - 定义新的API:kubebuilder create api - 构建并运行提供的 代码或查看kubebuilder书中的示例,以了解构建控制器可以是简单易用。 网站/代码: https://github.com/kubernetes-sigs/kubebuilder 文档: https://book.kubebuilder.io/ 即时交流: Slack:http ://slack.k8s.io/#kubebuilder 邮件列表: kubebuilder(https://groups.google.com/forum/#!

    1.5K20发布于 2019-12-04
  • 来自专栏小千世界

    Kubebuilder 学习笔记之 Watching Resources

    参考文档https://www.kubebuilder.io/reference/watching-resources.htmlhttps://kubernetes.io/zh-cn/docs/concepts

    1.1K61编辑于 2022-08-12
  • 来自专栏小千世界

    Kubebuilder Webhook 开发之创建 TLS 证书

    例如 kubebuilder 中使用 TLS 证书,将 server.crt 和 server-key.pem 放在 cert 目录中并修改名称为 tls.crt 和 tls.key,然后指定证书目录:

    2.4K53编辑于 2022-08-16
  • 来自专栏颇忒脱的技术博客

    混合kubebuilder与code generator编写CRD

    使用Kubebuilder+k8s.io/code-generator编写CRD。 Kubebuilder会生成Controller、Admission Webhooks,而code-generator不会。 Kubebuilder会生成manifests yaml,而code-generator不会。 Kubebuilder还带有一些其他便利性设施。 准备工作:安装Kubebuilder 安装kubebuilder。 for CustomResources kubebuilder sample project

    3.8K30发布于 2020-07-06
  • 来自专栏实战docker

    kubebuilder实战之一:准备工作

    kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 关于kubebuilder 在实际工作中 就是其中之一,《kubebuilder实战》系列就是对此工具由浅入深的实践; 本篇概览 作为《kubebuilder实战》系列的开篇,除了前面对kubebuilder的简单说明,还会列出整个实战的通用环境信息 ,以及涉及到的软件版本,然后再搭建好kubebuilder开发环境,总的来说需要做好以下准备工作,才能顺利开始kubebuilder的开发工作: kubectl安装和配置,这样可以在kubebuilder }_${arch} /usr/local/kubebuilder export PATH=$PATH:/usr/local/kubebuilder/bin 执行命令确认安装成功: [root@kubebuilder

    1.4K20编辑于 2022-05-06
  • 来自专栏实战docker

    kubebuilder实战之八:知识点小记

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 本篇概览 《kubebuilder实战》 init --domain com.bolingcavalry 创建API kubebuilder create api \ --group webapp \ --version v1 \ --kind Guestbook 创建webhook kubebuilder create webhook \ --group elasticweb \ --version v1 \ --kind ElasticWeb

    56620编辑于 2022-05-06
  • 来自专栏实战docker

    kubebuilder实战之六:构建部署运行

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 本篇概览 作为《kubebuilder实战 make run即可编译运行controller: zhaoqin@zhaoqindeMBP-2 elasticweb % pwd /Users/zhaoqin/github/blog_demos/kubebuilder elasticweb资源对象 负责处理elasticweb的Controller已经运行起来了,接下来就开始创建elasticweb资源对象吧,用yaml文件来创建; 在config/samples目录下,kubebuilder

    99920编辑于 2022-05-06
  • 来自专栏实战docker

    kubebuilder实战之三:基础知识速览

    kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五 :operator编码 kubebuilder实战之六:构建部署运行 kubebuilder实战之七:webhook kubebuilder实战之八:知识点小记 本篇概览 作为《kubebuilder实战 、步骤之间如何关联等),不但《kubebuilder实战》系列失去参考价值,过几个月就连我自己都看不懂这些内容了,因此,本篇暂缓实战,咱们一起对kubebuilder开发过程中的知识点做一次速记,再从容的启动开发工作 命令行创建整个项目,这个在《kubebuilder实战之二:初次体验kubebuilder》已经试过,当时执行的是如下三行命令: mkdir -p $GOPATH/src/helloworld cd $ 实战之二:初次体验kubebuilder》咱们创建过API,当时的命令是: kubebuilder create api \ --group webapp \ --version v1 \ --kind

    83930编辑于 2022-05-06
  • 来自专栏CS实验室

    使用 Kubebuilder 创建自定义 K8s AdmissionWebhooks

    使用 Kubebuilder 创建自定义 K8s AdmissionWebhooks Kubebuilder 除了可以构建 CRD API 及其 Controller 之外,还能构建 AdmissionWebhooks 这篇文章就来详细分析 Kubebuilder 如何构建 AdmissionWebhooks。 那么用 Kubebuilder 构建 AdmissionWebhooks 的话,Kubebuilder 会为我们自动生成 Webhook Server,并留下几个函数让我们添加自有逻辑。 init --domain o0w0o.cn --owner "zwwhdls"  $ kubebuilder create api --group app --version v1 --kind 重新生成代码,并将 config/crd 下的 CRD yaml 应用到当前集群: make make install 创建 Webhook Server 接下来就是用 Kubebuilder 来生成

    2.5K30发布于 2021-03-22
领券