kubernetes对象的完整列表在哪里?

时间:2018-10-29 21:11:20

标签: kubernetes

kubernetes似乎有很多对象。我似乎在任何地方都找不到对象的完整列表。在Google上进行短暂搜索后,我可以找到提到kubernetes对象子集的结果。对象的 完整 列表是否记录在某处,也许在源代码中?谢谢。

4 个答案:

答案 0 :(得分:2)

以下命令成功显示所有kubernetes对象

kubectl api-resources

示例

[root@hsk-controller ~]# kubectl api-resources
NAME                              SHORTNAMES       KIND
bindings                                           Binding
componentstatuses                 cs               ComponentStatus
configmaps                        cm               ConfigMap
endpoints                         ep               Endpoints
events                            ev               Event
limitranges                       limits           LimitRange
namespaces                        ns               Namespace
nodes                             no               Node
persistentvolumeclaims            pvc              PersistentVolumeClaim
persistentvolumes                 pv               PersistentVolume
pods                              po               Pod
podtemplates                                       PodTemplate
replicationcontrollers            rc               ReplicationController
resourcequotas                    quota            ResourceQuota
secrets                                            Secret
serviceaccounts                   sa               ServiceAccount
services                          svc              Service
initializerconfigurations                          InitializerConfiguration
mutatingwebhookconfigurations                      MutatingWebhookConfiguration
validatingwebhookconfigurations                    ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds         CustomResourceDefinition
apiservices                                        APIService
controllerrevisions                                ControllerRevision
daemonsets                        ds               DaemonSet
deployments                       deploy           Deployment
replicasets                       rs               ReplicaSet
statefulsets                      sts              StatefulSet
tokenreviews                                       TokenReview
localsubjectaccessreviews                          LocalSubjectAccessReview
selfsubjectaccessreviews                           SelfSubjectAccessReview
selfsubjectrulesreviews                            SelfSubjectRulesReview
subjectaccessreviews                               SubjectAccessReview
horizontalpodautoscalers          hpa              HorizontalPodAutoscaler
cronjobs                          cj               CronJob
jobs                                               Job
brpolices                         br,bp            BrPolicy
clusters                          rcc              Cluster
filesystems                       rcfs             Filesystem
objectstores                      rco              ObjectStore
pools                             rcp              Pool
certificatesigningrequests        csr              CertificateSigningRequest
leases                                             Lease
events                            ev               Event
daemonsets                        ds               DaemonSet
deployments                       deploy           Deployment
ingresses                         ing              Ingress
networkpolicies                   netpol           NetworkPolicy
podsecuritypolicies               psp              PodSecurityPolicy
replicasets                       rs               ReplicaSet
nodes                                              NodeMetrics
pods                                               PodMetrics
networkpolicies                   netpol           NetworkPolicy
poddisruptionbudgets              pdb              PodDisruptionBudget
podsecuritypolicies               psp              PodSecurityPolicy
clusterrolebindings                                ClusterRoleBinding
clusterroles                                       ClusterRole
rolebindings                                       RoleBinding
roles                                              Role
volumes                           rv               Volume
priorityclasses                   pc               PriorityClass
storageclasses                    sc               StorageClass
volumeattachments                                  VolumeAttachment

注意:kubernate版本为v1.12 *

kubectl version

答案 1 :(得分:1)

以下命令列出了所有受支持的API版本:

$ kubectl api-versions

您可以从kube-apiserver REST API中获得一些详细信息:

打开与kube-apiserver

的连接
$ kubectl proxy &

现在您可以发现API资源:

此请求为您提供apiserver上所有存在的路径(JSON格式):

$ curl http://localhost:8001/

    "/apis/extensions/v1beta1",
    "/apis/networking.k8s.io",
    "/apis/networking.k8s.io/v1",
    "/apis/policy",
    "/apis/policy/v1beta1",
    "/apis/rbac.authorization.k8s.io",
    "/apis/rbac.authorization.k8s.io/v1",
 ...
   "/version"
  ]
}

您可以请求有关特定路径的详细信息:

curl http://localhost:8001/api/v1

...
    {
      "name": "configmaps",
      "singularName": "",
      "namespaced": true,
      "kind": "ConfigMap",
      "verbs": [
        "create",
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "update",
        "watch"
      ],
      "shortNames": [
        "cm"
      ]
    },
...

此信息可帮助您编写kubectl命令,例如:

$ kubectl get configmaps
$ kubectl get cm

但是,使用kubectl explain提供的内置文档可能会更方便。

例如,此命令向您显示Kubernetes对象的列表:

$ kubectl explain

您可以获取有关任何列出的资源的详细信息:

$ kubectl explain rc
$ kubectl explain rc.spec
$ kubectl explain rc.spec.selector

或者您可以通过添加--recursive标志来打印对象的完整YAML模板(或部分):

$ kubectl explain rc --recursive
$ kubectl explain rc.metadata --recursive

描述中的链接指向有关特定对象的文档。例如:

DESCRIPTION:
     If the Labels of a ReplicationController are empty, they are defaulted to
     be the same as the Pod(s) that the replication controller manages. Standard
     object's metadata. More info:
     https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
     ObjectMeta is metadata that all persisted resources must have, which
     includes all objects users must create.

如果您需要完整的示例说明,可以随时在API Reference提及的官方older version(或Matthew L Daniel)中找到它

您可能还会发现有帮助的kubectl Referencekubectl Cheatsheet

答案 2 :(得分:1)

网络 https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/

资源列表

$ kubectl api-resources -o wide 
    NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND                             VERBS
    bindings                                                                      true         Binding                          [create]
    componentstatuses                 cs                                          false        ComponentStatus                  [get list]
    configmaps                        cm                                          true         ConfigMap                        [create delete deletecollection get list patch update watch]
    endpoints                         ep                                          true         Endpoints                        [create delete deletecollection get list patch update watch]
    events                            ev                                          true         Event                            [create delete deletecollection get list patch update watch]
    limitranges                       limits                                      true         LimitRange                       [create delete deletecollection get list patch update watch]
    namespaces                        ns                                          false        Namespace                        [create delete get list patch update watch]
    nodes                             no                                          false        Node                             [create delete deletecollection get list patch update watch]
    persistentvolumeclaims            pvc                                         true         PersistentVolumeClaim            [create delete deletecollection get list patch update watch]
    persistentvolumes                 pv                                          false        PersistentVolume                 [create delete deletecollection get list patch update watch]
    pods                              po                                          true         Pod                              [create delete deletecollection get list patch update watch]
    podtemplates                                                                  true         PodTemplate                      [create delete deletecollection get list patch update watch]
    replicationcontrollers            rc                                          true         ReplicationController            [create delete deletecollection get list patch update watch]
    resourcequotas                    quota                                       true         ResourceQuota                    [create delete deletecollection get list patch update watch]
    secrets                                                                       true         Secret                           [create delete deletecollection get list patch update watch]
    serviceaccounts                   sa                                          true         ServiceAccount                   [create delete deletecollection get list patch update watch]
    services                          svc                                         true         Service                          [create delete get list patch update watch]
    mutatingwebhookconfigurations                  admissionregistration.k8s.io   false        MutatingWebhookConfiguration     [create delete deletecollection get list patch update watch]
    validatingwebhookconfigurations                admissionregistration.k8s.io   false        ValidatingWebhookConfiguration   [create delete deletecollection get list patch update watch]
    customresourcedefinitions         crd,crds     apiextensions.k8s.io           false        CustomResourceDefinition         [create delete deletecollection get list patch update watch]
    apiservices                                    apiregistration.k8s.io         false        APIService                       [create delete deletecollection get list patch update watch]
    controllerrevisions                            apps                           true         ControllerRevision               [create delete deletecollection get list patch update watch]
    daemonsets                        ds           apps                           true         DaemonSet                        [create delete deletecollection get list patch update watch]
    deployments                       deploy       apps                           true         Deployment                       [create delete deletecollection get list patch update watch]
    replicasets                       rs           apps                           true         ReplicaSet                       [create delete deletecollection get list patch update watch]
    statefulsets                      sts          apps                           true         StatefulSet                      [create delete deletecollection get list patch update watch]
    tokenreviews                                   authentication.k8s.io          false        TokenReview                      [create]
    localsubjectaccessreviews                      authorization.k8s.io           true         LocalSubjectAccessReview         [create]
    selfsubjectaccessreviews                       authorization.k8s.io           false        SelfSubjectAccessReview          [create]
    selfsubjectrulesreviews                        authorization.k8s.io           false        SelfSubjectRulesReview           [create]
    subjectaccessreviews                           authorization.k8s.io           false        SubjectAccessReview              [create]
    horizontalpodautoscalers          hpa          autoscaling                    true         HorizontalPodAutoscaler          [create delete deletecollection get list patch update watch]
    cronjobs                          cj           batch                          true         CronJob                          [create delete deletecollection get list patch update watch]
    jobs                                           batch                          true         Job                              [create delete deletecollection get list patch update watch]
    certificatesigningrequests        csr          certificates.k8s.io            false        CertificateSigningRequest        [create delete deletecollection get list patch update watch]
    leases                                         coordination.k8s.io            true         Lease                            [create delete deletecollection get list patch update watch]
    events                            ev           events.k8s.io                  true         Event                            [create delete deletecollection get list patch update watch]
    ingresses                         ing          extensions                     true         Ingress                          [create delete deletecollection get list patch update watch]
    ingresses                         ing          networking.k8s.io              true         Ingress                          [create delete deletecollection get list patch update watch]
    networkpolicies                   netpol       networking.k8s.io              true         NetworkPolicy                    [create delete deletecollection get list patch update watch]
    runtimeclasses                                 node.k8s.io                    false        RuntimeClass                     [create delete deletecollection get list patch update watch]
    poddisruptionbudgets              pdb          policy                         true         PodDisruptionBudget              [create delete deletecollection get list patch update watch]
    podsecuritypolicies               psp          policy                         false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
    clusterrolebindings                            rbac.authorization.k8s.io      false        ClusterRoleBinding               [create delete deletecollection get list patch update watch]
    clusterroles                                   rbac.authorization.k8s.io      false        ClusterRole                      [create delete deletecollection get list patch update watch]
    rolebindings                                   rbac.authorization.k8s.io      true         RoleBinding                      [create delete deletecollection get list patch update watch]
    roles                                          rbac.authorization.k8s.io      true         Role                             [create delete deletecollection get list patch update watch]
    priorityclasses                   pc           scheduling.k8s.io              false        PriorityClass                    [create delete deletecollection get list patch update watch]
    csidrivers                                     storage.k8s.io                 false        CSIDriver                        [create delete deletecollection get list patch update watch]
    csinodes                                       storage.k8s.io                 false        CSINode                          [create delete deletecollection get list patch update watch]
    storageclasses                    sc           storage.k8s.io                 false        StorageClass                     [create delete deletecollection get list patch update watch]
    volumeattachments                              storage.k8s.io                 false        VolumeAttachment                 [create delete deletecollection get list patch update watch]

有关每个对象的详细信息

    $ kubectl explain --help
    List the fields for supported resources

     This command describes the fields associated with each supported API resource. Fields are identified via a simple JSONPath identifier:

      <type>.<fieldName>[.<fieldName>]

 Add the --recursive flag to display all of the fields at once without descriptions. Information about each field is retrieved from the server in OpenAPI format.

Use "kubectl api-resources" for a complete list of supported resources.

Examples:
  # Get the documentation of the resource and its fields
  kubectl explain pods

  # Get the documentation of a specific field of a resource
  kubectl explain pods.spec.containers

Options:
      --api-version='': Get different explanations for particular API version
      --recursive=false: Print the fields of fields (Currently only 1 level deep)

Usage:
  kubectl explain RESOURCE [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).

答案 3 :(得分:0)

我对同一问题感到沮丧。尽管您得到了一些很好的答案,但我想要以下内容:1)按api版本分组2)只是名称列表,而不是文档手册。我一直在整理我们的RBAC,如果不这样做,那会有些棘手。找不到一个,所以这是我制作的(v1.18.0):

 v1
        bindings
        componentstatuses
        configmaps
        endpoints
        events
        limitranges
        namespaces
        namespaces/finalize
        namespaces/status
        nodes
        nodes/proxy
        nodes/status
        persistentvolumeclaims
        persistentvolumeclaims/status
        persistentvolumes
        persistentvolumes/status
        pods
        pods/attach
        pods/binding
        pods/eviction
        pods/exec
        pods/log
        pods/portforward
        pods/proxy
        pods/status
        podtemplates
        replicationcontrollers
        replicationcontrollers/scale
        replicationcontrollers/status
        resourcequotas
        resourcequotas/status
        secrets
        serviceaccounts
        serviceaccounts/token
        services
        services/proxy
        services/status


 admissionregistration.k8s.io/v1
        mutatingwebhookconfigurations
        validatingwebhookconfigurations


 admissionregistration.k8s.io/v1beta1
        mutatingwebhookconfigurations
        validatingwebhookconfigurations


 apiextensions.k8s.io/v1
        customresourcedefinitions
        customresourcedefinitions/status


 apiextensions.k8s.io/v1beta1
        customresourcedefinitions
        customresourcedefinitions/status


 apiregistration.k8s.io/v1
        apiservices
        apiservices/status


 apiregistration.k8s.io/v1beta1
        apiservices
        apiservices/status


 apps/v1
        controllerrevisions
        daemonsets
        daemonsets/status
        deployments
        deployments/scale
        deployments/status
        replicasets
        replicasets/scale
        replicasets/status
        statefulsets
        statefulsets/scale
        statefulsets/status


 authentication.k8s.io/v1
        tokenreviews


 authentication.k8s.io/v1beta1
        tokenreviews


 authorization.k8s.io/v1
        localsubjectaccessreviews
        selfsubjectaccessreviews
        selfsubjectrulesreviews
        subjectaccessreviews


 authorization.k8s.io/v1beta1
        localsubjectaccessreviews
        selfsubjectaccessreviews
        selfsubjectrulesreviews
        subjectaccessreviews


 autoscaling/v1
        horizontalpodautoscalers
        horizontalpodautoscalers/status


 autoscaling/v2beta1
        horizontalpodautoscalers
        horizontalpodautoscalers/status


 autoscaling/v2beta2
        horizontalpodautoscalers
        horizontalpodautoscalers/status


 batch/v1
        jobs
        jobs/status


 batch/v1beta1
        cronjobs
        cronjobs/status


 certificates.k8s.io/v1beta1
        certificatesigningrequests
        certificatesigningrequests/approval
        certificatesigningrequests/status


 coordination.k8s.io/v1
        leases


 coordination.k8s.io/v1beta1
        leases


 crd.k8s.amazonaws.com/v1alpha1
        eniconfigs


 events.k8s.io/v1beta1
        events


 extensions/v1beta1
        ingresses
        ingresses/status


 metrics.k8s.io/v1beta1
        nodes
        pods


 networking.k8s.io/v1
        networkpolicies


 networking.k8s.io/v1beta1
        ingresses
        ingresses/status


 node.k8s.io/v1beta1
        runtimeclasses


 policy/v1beta1
        poddisruptionbudgets
        poddisruptionbudgets/status
        podsecuritypolicies


 rbac.authorization.k8s.io/v1
        clusterrolebindings
        clusterroles
        rolebindings
        roles


 rbac.authorization.k8s.io/v1beta1
        clusterrolebindings
        clusterroles
        rolebindings
        roles


 scheduling.k8s.io/v1
        priorityclasses


 scheduling.k8s.io/v1beta1
        priorityclasses


 storage.k8s.io/v1
        storageclasses
        volumeattachments
        volumeattachments/status


 storage.k8s.io/v1beta1
        csidrivers
        csinodes
        storageclasses
        volumeattachments