ThirdPartyResources

本文介绍如何通过ThirdPartyResources扩展Kubernetes API来管理自定义对象,并提供了具体实例。此外,还介绍了ThirdPartyResources的权限配置及替代方案CustomResourceDefinition。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ThirdPartyResources是一种无需改变代码就可以扩展Kubernetes API的机制,可以用来管理自定义对象。每个ThirdPartyResource都包含以下属性
  • metadata:跟kubernetesmetadata一样
  • kind:自定义的资源类型,采用<kind mame>.<domain>的格式
  • description:资源描述
  • versions:版本列表
  • 其他:还可以保护任何其他自定义的属性
ThirdPartyResources将在v1.7弃用
ThirdPartyResources将在v1.7弃用,并在未来版本中删除。建议从v1.7开始,迁移到 CustomResourceDefinition
下面的例子会创建一个/apis/ stable.example.com/v1/namespaces/ <namespace>/crontabs/…的API
$ cat resource . yaml
apiVersion : extensions / v1beta1
kind : ThirdPartyResource
metadata :
name : cron - tab . stable . example . com
description : "A specification of a Pod to run on a cron style schedule"
versions : - name : v1

$ kubectl create - f resource . yaml
thirdpartyresource " cron-tab.stable.example.com " created
API创建好后,就可以创建具体的CronTab对象了
$ cat my - cronjob . yaml
apiVersion : " stable.example.com/v1 "
kind : CronTab
metadata :
name : my - new - cron - object
cronSpec : "* * * * /5"
image : my - awesome - cron - image

$ kubectl create - f my - crontab . yaml
crontab "my-new-cron-object" created

$ kubectl get crontab
NAME KIND
my - new - cron - object CronTab . v1 . stable . example . com

ThirdPartyResources与RBAC

注意ThirdPartyResources不是namespace-scoped的资源,在普通用户使用之前需要绑定ClusterRole权限
$ cat cron - rbac . yaml
apiVersion : rbac . authorization . k8s . io / v1alpha1
kind : ClusterRole
metadata :
name : cron - cluster - role
rules : - apiGroups :
- extensions
resources :
- thirdpartyresources
verbs :
- '*' - apiGroups :
- stable . example . com
resources :
- crontabs
verbs :
- "*"

$ kubectl create - f cron - rbac . yaml
$ kubectl create clusterrolebinding user1 -- clusterrole = cron - cluster - role -- user = user1 -- user = user2 -- group = group1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值