其他分享
首页 > 其他分享> > kubebuilder实战之八:知识点小记

kubebuilder实战之八:知识点小记

作者:互联网

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

系列文章链接

  1. kubebuilder实战之一:准备工作
  2. kubebuilder实战之二:初次体验kubebuilder
  3. kubebuilder实战之三:基础知识速览
  4. kubebuilder实战之四:operator需求说明和设计
  5. kubebuilder实战之五:operator编码
  6. kubebuilder实战之六:构建部署运行
  7. kubebuilder实战之七:webhook
  8. kubebuilder实战之八:知识点小记

本篇概览

《kubebuilder实战》系列已经写了七篇,前面曾遇到不少问题,磕磕碰碰解决后,打算在本篇集中小结作为备忘,主要有以下几部分组成:

  1. CRD的Status字段;
  2. 选择合适的镜像仓库
  3. 本地运行controller时跳过webhook
  4. controller的pod有两个容器
  5. 常用操作命令整理

CRD的Status字段

在这里插入图片描述

zhaoqin@zhaoqindeMBP-2 elasticweb % kubectl apply -f config/samples/elasticweb_v1_elasticweb.yaml
namespace/dev created
The ElasticWeb "elasticweb-sample" is invalid: status.realQPS: Invalid value: "null": status.realQPS in body must be of type integer: "null"

选择合适的镜像仓库

make docker-build docker-push IMG=bolingcavalry/elasticweb:001

在这里插入图片描述

在这里插入图片描述

make docker-build docker-push IMG=registry.cn-hangzhou.aliyuncs.com/bolingcavalry/elasticweb:001
  1. CentOS部署Harbor镜像仓库
  2. 群晖DS218+部署Harbor(1.10.3)

本地运行controller时跳过webhook

  1. 选择部署在kubernetes环境,要制作镜像和上传镜像;
  2. 选择运行在kubernetes环境之外,要签发证书放置在指定目录;
make run ENABLE_WEBHOOKS=false

controller的pod有两个容器

在这里插入图片描述

kubectl logs -f \
elasticweb-controller-manager-58576f4cb-hzchl \
-c manager \
-n elasticweb-system

常用操作命令整理

  1. 创建operator项目:
kubebuilder init --domain com.bolingcavalry
  1. 创建API
kubebuilder create api \
--group webapp \
--version v1 \
--kind Guestbook
  1. 创建webhook
kubebuilder create webhook \
--group elasticweb \
--version v1 \
--kind ElasticWeb \
--defaulting \
--programmatic-validation
  1. 构建和部署CRD
make install
  1. 本地运行controller
make run
  1. 构建镜像并推送到仓库
make docker-build docker-push IMG=registry.cn-hangzhou.aliyuncs.com/bolingcavalry/elasticweb:001
  1. controller部署到kubernetes
make deploy IMG=registry.cn-hangzhou.aliyuncs.com/bolingcavalry/elasticweb:001
  1. 创建elasticweb资源对象
kubectl apply -f config/samples/elasticweb_v1_elasticweb.yaml
  1. 删除elasticweb资源对象
kubectl delete -f config/samples/elasticweb_v1_elasticweb.yaml
  1. 删除controller
kustomize build config/default | kubectl delete -f -
  1. 删除CRD
make uninstall
  1. 查看日志
kubectl logs -f \
elasticweb-controller-manager-58576f4cb-hzchl \
-c manager \
-n elasticweb-system

你不孤单,欣宸原创一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

标签:知识点,elasticweb,之八,webhook,controller,kubebuilder,镜像,docker
来源: https://www.cnblogs.com/bolingcavalry/p/15221520.html