当前位置: 首页 > news >正文

网站建设做得好爱站工具包官网下载

网站建设做得好,爱站工具包官网下载,网站建设运营合同范本,中企业网站建设文章目录 环境准备一个k8s集群开发工具包mac安装 实践初始化operator项目核心逻辑编写测试验证验证 部署 参考 环境准备 一个k8s集群 推荐使用docker-desktop,本地单机集群 开发工具包 这里推荐使用脚手架工具kubebuilder 使用脚手架工具,能生成项目…

文章目录

  • 环境准备
    • 一个k8s集群
    • 开发工具包
      • mac安装
  • 实践
    • 初始化operator项目
    • 核心逻辑编写
    • 测试验证
      • 验证
    • 部署
  • 参考

环境准备

一个k8s集群

推荐使用docker-desktop,本地单机集群

开发工具包

这里推荐使用脚手架工具kubebuilder
使用脚手架工具,能生成项目模板,开发人员只需要关注核心逻辑和方法即可

mac安装

brew install kubebuilder

实践

初始化operator项目

# 新建项目文件夹
$ mkdir webapp-operator# 切入到项目文件夹
$ cd webapp-operator/# 初始化go module
$ go mod init webapp-operator# 初始化operator项目模板
$ kubebuilder init --domain kubebuilder.io# 创建api
# 这里我们创建一个 group 为 app, version 为 v1, kind 为 EasyService 的 api:
$ kubebuilder create api --group app --version v1 --kind EasyService

生成的项目结构目录如下:

$ tree webapp-operator/ -L 2
webapp-operator/
├── Dockerfile	# 用于构建控制器镜像的 Dockerfile
├── Makefile	# 用于控制器构建及部署的 Makefile
├── PROJECT		# 用于生成组件的 kubebuilder 元数据
├── README.md
├── api			# API 模板代码所在目录
│   └── v1
├── bin 		# 可执行程序
│   ├── controller-gen
│   ├── k8s
│   ├── kustomize
│   └── setup-envtest
├── cmd			# 程序入口main
│   └── main.go
├── config		# 采用 Kustomize YAML 定义的配置
│   ├── crd		# CRD 相关, 当 make install 将 apply 此目录 yaml 
│   ├── default	# 控制器相关, 当 make deploy 将 apply 此目录 yaml
│   ├── manager
│   ├── prometheus
│   ├── rbac
│   └── samples
├── cover.out
├── go.mod
├── go.sum
├── hack
│   └── boilerplate.go.txt
├── internal
│   └── controller	# 控制器逻辑所在目录,**需要开发者完善**
└── resources		# 非脚手架生成,**开发者生成**├── deployment.go└── service.go

核心逻辑编写

完整代码参考:
webapp-operator

对象结构(api)、控制器(controller)修改完毕后,需要更新crd的定义

$ make manifests

测试验证

前提条件:
登录到在集群master上操作

1、将CRD安装到集群

$ make install # 安装完毕后,可以在集群查到crd的信息
$ kubectl get crd | grep easyservice
easyservices.app.kubebuilder.io   2024-01-14T09:01:58Z

2、 启动控制器

$ make run

3、新建CR
新建名为easyservice-sample的自定义资源实例,创建副本数量和对应的nodeport端口。
比如新建了一个easyservice-sample.yaml文件,内容如下:

apiVersion: app.kubebuilder.io/v1
kind: EasyService
metadata:name: easyservice-sample
spec:# TODO(user): Add fields heresize: 2image: nginx:1.7.9ports:- port: 80targetPort: 80nodePort: 31002

当CR新建出来后,controller就会收到相应的事件变更

# 新建CR
$ kubectl apply -f easyservice-sample.yaml

验证

  • 主机访问:http://localhost:31002/
    会显示nginx的主页
  • 集群查看
$ kubectl get pods,deploy,EasyService,svc,crd
NAME                                      READY   STATUS    RESTARTS   AGE
pod/easyservice-sample-6cd6bf49f5-2xg57   1/1     Running   0          4h52m
pod/easyservice-sample-6cd6bf49f5-52l64   1/1     Running   0          12mNAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/easyservice-sample   2/2     2            2           4h52mNAME                                                AGE
easyservice.app.kubebuilder.io/easyservice-sample   4h52mNAME                         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
service/easyservice-sample   NodePort    10.101.103.107   <none>        80:31002/TCP   4h52m
service/kubernetes           ClusterIP   10.96.0.1        <none>        443/TCP        30dNAME                                                                            CREATED AT
customresourcedefinition.apiextensions.k8s.io/easyservices.app.kubebuilder.io   2024-01-14T09:01:58Z

部署

1、制作推送controller镜像

$ make docker-build docker-push IMG=<some-registry>/<project-name>:tag

2、把controller部署到集群

$ make deploy IMG=<some-registry>/<project-name>:tag

参考

  • K8s operator从0到1实战
http://www.hkea.cn/news/228396/

相关文章:

  • 网站建设的关键seo推广小分享
  • 写小说的小网站百度关键词排名优化
  • 制作网站的成本规划公司如何建立网站
  • html语言做网站石嘴山网站seo
  • 做最好的言情网站官网seo优化
  • 云南建设监理协会网站营销失败案例分析
  • 怎么样做淘宝优惠券网站搜索引擎营销的优缺点
  • wordpress动态订单seo社区
  • 网站域没到期不能续费吗google谷歌搜索
  • 厦门好的做网站公司网络营销推广方式都有哪些
  • 重庆市建设工程信息官网站自己做网站的流程
  • 网站建设公司怎么做网络营销网站推广
  • 360应用商店seo服务套餐
  • 废橡胶网站建设个人博客网页设计
  • 什么网站做一手项目好域名查询官网
  • 做日用品的要找什么网站好站长工具端口检测
  • 贵州软件开发 网站开发手机版百度一下
  • 企业网站建立答辩问题百度怎么发布广告
  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台
  • 东莞做网站卓诚网络昆明长尾词seo怎么优化