Kubebuilder 与 CRD (一):环境搭建

K8S CRD 介绍

K8S 默认提供不少资源

使用以下命令,可以查看:

kubectl api-resources

常见的:

  • deployments
  • statefulsets
  • services
  • endpoints
  • configmaps

等等,会用了,基本上 K8S 算入门了,会使用了

但是,如果项目基于 K8S 做运维开发的话,这远远不够
比如:

  • 基于 K8S 启动服务前,必须先执行一个脚本
  • 基于 K8S 与项目解耦的方式,服务预警
  • 基于 K8S 能自定义扩容、缩容策略

等等,都需要定制 K8S

K8S 给出了一种方案: CRD

CRD 全称: CustomResourceDefinition

可以自定义 K8S 资源,如同内置资源一样的方式使用

Kubebuilder 介绍

CRD 推出初期,实现几个 CRD 应该很困难

现在出了不少工具,帮助实现 CRD

比较流行的,当属 Kubebuilder

笔者也在熟悉 CRD 制作相关内容

基于 Kubebuilder ,根据实践过程,陆续总下制作经验

本文介绍下 Kubebuilder 相关的环境搭建

环境所需工具说明

工具说明
kubectlK8S 的命令行客户端
minikube迷你版单机 K8S ,开发调试时用,有点安装方便
golangkubebuilder 基于 golang 开发

环境搭建

工具安装
kubectlhttps://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
minikubehttps://minikube.sigs.k8s.io/docs/start/
kubebuilderhttps://book.kubebuilder.io/quick-start.html#installation
golanghttps://golang.google.cn/doc/install

最新的安装方法,参考上面 URL 。当前时间点:

kubectl

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client

minikube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
kubectl get po -A

kubebuilder

curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/

golang

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值