kubectl 配置文件(kubeadm配置文件)

kubectl 配置文件(kubeadm配置文件)文章目录 前言 1 扩展方式 2 扩展架构图 3 使用 CRD 扩展 Kubernetes API 4 高级主题 1 Validation 验证 2 Category 分类 有些场景 kubernetes 内建的资源类型往往不能满足我们的需求 如 redis 集群初始化 扩容 缩容 备份等操作 这时候就需要我们考虑如何去扩展 kubernetes 的 API 为了增强 kubernetes 的定制化功能

大家好,我是讯享网,很高兴认识大家。



文章目录

  • 前言
  • 1、扩展方式
  • 2、扩展架构图
  • 3、使用CRD扩展Kubernetes API
  • 4、高级主题
  • 1、Validation(验证)
  • 2、Category(分类)

有些场景,kubernetes内建的资源类型往往不能满足我们的需求,如redis集群初始化、扩容、缩容、备份等操作。

这时候就需要我们考虑如何去扩展kubernetes的API。

为了增强kubernetes的定制化功能,我们可以通过以下三种方式来扩展Kubernetes API:

1、修改kubenetes的apiserver源码:难度最大、kubernetes版本更新太快,兼容性很困难
2、自定义API server(Custom API server)并聚合到API(Aggregation)中:难度较大,需要开发能力
需要考虑的问题也不少:例如数据如何存储、API版本之间如何转换和支持等
3、1.7以下版本编写TPR,kubernetes1.7及以上版本用CRD

containerd和Kubernetes对应的版本_kubernetes
讯享网

如图所示,用户对集群的请求首先到apiserver内部的Aggregator(聚合器),然后再到实际的apiserver模块。

上面提到的三种扩展方式,可以在图中清晰看到。

特别注意:

对于三种扩展方式的访问如何分配,这是基于kube-aggregator(APIservice)进行筛选的,可以理解成路由表、或者是nginx动静分离的效果。

CRD(Custom Resource Definition)在用法上和原生资源基本相同,都支持通过kubectl命令行或者API方式进行访问和操作。

正是CRD的灵活和强大,从另一方面催生k8s生态的快速发展。

CRD经常和对应的Operator配合出现,来完成一些复杂操作的封装。比如Prometheus Operator和Prometheus CRD,来部署和运维对应的Prometheus 实例

1、首先,我们先创建自定义资源类型:编辑resourcedefinition.yaml

2、apply配置文件

3、创建自定义资源的对象:my-new-cron-object.yaml,其中kind引用上面自定义的资源类型:CronTab,并apply

4、查看自定义资源类型上的pod资源,此时你可以像查看别的原生基础资源那样进行相关操作了。

5、你可以也可以使用我们定义的shortNames来获取信息

在项目中用自定义资源对象时,如果创建自定义资源时某些字段不符合要求,会导致监听该资源对象的异常和报错

通过 OpenAPI v3 schema和ValidatingAdmissionWebhook验证自定义对象是否符合标准。

1、在自定义资源类型CronTab中,定义crontabs-crd-with-validation.yaml,新增Validation(验证)功能

你也可以通过以下命令,查看openAPIV3Schema的语法结构

2、编辑crontabs-with-invalid-field.yaml,引用kind: CronTab,并设置非法userID,验证Validation(验证)功能是否work,并apply

3、这时候发现Validation(验证)已经生效,拦截了pod初始化和运行

以下示例将CustomResourceDefinition添加至all的类别列表,并说明如何使用 kubectl get all输出自定义资源 。

1、首先,编辑resourcedefinition-with-category.yaml,并apply

API配置:kubectl explain CustomResourceDefinition.spec.names.categories

2、接着,编辑my-crontab.yaml,并apply

3、使用kubectl get all,这时候就可以看到我们自定义的Crontab类型资源了

小讯
上一篇 2025-04-26 08:17
下一篇 2025-05-25 20:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/168026.html