下面提到的yaml文件片段用于角色创建:我是kubernetes的新手,因此正在寻找一个参考链接来详细说明yaml中提到的规则。例如,我的理解是“”表示kubernetes的核心API组,然后我的问题是什么是…的“扩展”对于寻找参考/解释的yaml的其余部分,也是如此。非常感谢你们的帮助
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
- apiGroups: ["batch"]
resources:
- jobs
- cronjobs
verbs: ["*"]发布于 2019-09-23 15:39:56
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 allowedExtensions是不推荐使用的apiGroup,过去是无组织的资源居住,目前,资源正在移动到特定的组。例如,DaemonSet、Deployment、StatefulSet和ReplicaSet将迁移到应用程序组。api-deprecations-in-1-16/
以下是命名约定
命名组位于静态路径/apis/$GROUP_NAME/$VERSION,并使用
apiVersion: $GROUP_NAME/$VERSION(例如apiVersion: batch/v1)。
核心组通常称为遗留组,位于REST路径/api/v1并使用apiVersion: v1.
支持的接口组的完整列表可以在Kubernetes API reference中看到。
Batch是k8s中的另一个组,它由cronjob和作业资源组成。
谓词这些操作如list、get等Verb-on-resources
您可以使用以下命令kubectl api-resources列出所有资源及其组
发布于 2019-10-17 18:48:27
它只是一种对k8s对象进行分组的方式。将对象添加到k8s时,会将它们添加到特定组中。
core API group是v1,所以每次你看到apiVersion: v1,比如Pod object,它就是core API group。replicaSet、Service ConfigMap、Node、secrets等也是v1。这些是k8s使用的主要对象,几乎从一开始就是这样,而且是可靠的(用我自己的话说)。
可以根据对象的成熟度将对象从一个组移动到另一个组。例如,Deployments现在在apps/v1组中,但它们过去在extensions/v1beta1中。就我个人而言,旧组中有yaml文件,当我尝试创建这些文件时,会收到来自服务器的错误。我认为有一段时间,apps/v1和extentions/v1beta1都是有效的。不过,我对此并不确定。
K8s是一个可扩展的平台,因此您也可以通过CustomResourceDefinition创建自己的对象,并将它们放在一个自定义的组中。这就是入口控制器,网格等的情况。例如,Istio创建了一堆对象,如Gateway,VirtualService,DestinationRule等。一旦你创建了这个CDR,你就可以用一个普通的kubectl get gateway来获取它们。
batch/v1用于作业。我认为batch/v1中没有更多的对象了。CronJobs are batch/v1beta1。
HorizontalPodAutoscaler在autoscaling/v1中。
现在,您不需要真正地记住这些对象和它们的组。正如另一个答案所说,您总是可以执行kubectl explain OBJECT来了解某个对象属于哪个组。因此,创建RBAC规则的正常工作流程为:
batch.->,我将从此处获得作业是批处理/v1
动词是不言而喻的。
请注意,组只是第一部分;batch、extensions、"“(因为v1没有任何内容)等。
这里有更多关于基于角色的访问控制的信息(如用于暴露api-server的路径的非资源work ),但我认为这应该足以说明apiGroups是如何工作的。希望能有所帮助。
https://stackoverflow.com/questions/58057447
复制相似问题