以下提到的yaml文件片段用于创建角色: 我是kubernetes的新手,因此正在寻找参考链接以详细说明yaml中提到的规则。例如,我的理解是“”表示kubernetes的核心API组,然后我的问题是…的“扩展”是什么。类似地,对于其他yaml寻找参考/解释。非常感谢大家的帮助
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
- apiGroups: ["batch"]
resources:
- jobs
- cronjobs
verbs: ["*"]
答案 0 :(得分:0)
kubectl explain clusterrole.rules
将提供详细说明。
FIELDS:
apiGroups <[]string> -required-
APIGroups is the name of the APIGroup that contains the resources. If this
field is empty, then both kubernetes and origin API groups are assumed.
That means that if an action is requested against one of the enumerated
resources in either the kubernetes or the origin API group, the request
will be allowed
扩展是已弃用的apiGroup,其中用于居住的无组织资源目前正在移至特定组。例如DaemonSet,Deployment,StatefulSet和ReplicaSet将迁移到应用组。api-deprecations-in-1-16/
这是命名约定
已命名的组位于REST路径/ apis / $ GROUP_NAME / $ VERSION,并使用
apiVersion: $GROUP_NAME/$VERSION
(例如apiVersion:batch / v1)。核心组(通常称为旧版组)位于REST路径/ api / v1处,并使用
apiVersion: v1.
可以在Kubernetes API reference中看到受支持的API组的完整列表。
批处理是k8中的另一个组,由cronjob和作业资源组成。
动词是这些操作,例如列表,获取等Verb-on-resources
您可以使用以下命令列出所有资源及其资源组
kubectl api-resources
答案 1 :(得分:0)
这只是对k8s个对象进行分组的一种方式。当对象添加到k8s时,它们将添加到特定组中。
core API group
是 v1 ,因此每次看到apiVersion: v1
(例如 Pod 对象)时,它就是core API group
。 replicaSet
,Service
ConfigMap
,Node
,secrets
等也是 v1 。这些是k8几乎从一开始就使用的主要对象,并且是可靠的(用我自己的话说)。
根据对象的成熟度,可以将它们从一组移到另一组。例如,Deployments
现在在apps/v1
组中,但是它们曾经在extensions/v1beta1
中。我个人的旧组中有yaml
个文件,当我尝试创建文件时,会从服务器收到错误消息。我认为有一段时间apps/v1
和extentions/v1beta1
都有效。不过不确定。
K8s是一个可扩展的平台,因此您也可以通过CustomResourceDefinition
创建自己的对象,并将它们放在自定义组中。 入口控制器,网格等就是这种情况。例如,Istio创建了一堆对象,例如Gateway
,VirtualService
,{ {1}}等。创建此CDR后,可以使用常规的DestinationRule
来获得它们。
kubectl get gateway
用于职位。我认为batch/v1
中没有更多对象。 CronJobs 是batch/v1
。
HorizontalPodAutoscaler位于batch/v1beta1
中。
现在,您真的不需要真正地了解这些对象及其组。就像另一个答案所说的那样,您始终可以autoscaling/v1
来知道对象属于哪个组。因此,用于创建RBAC规则的正常工作流程为:
kubectl explain OBJECT
->从这里我会得到工作是
批次/ v1 kubectl explain jobs
创建一个RBAC规则。动词不言自明。
请注意,组仅仅是第一部分; batch
,batch
,“”(因为v1没有内容)等。
有更多关于RBAC的信息(例如nonResourceURLs,用于公开api-server的路径),但是我认为这足以说明apiGroups的工作原理。希望对您有所帮助。