kubectl get
简介
显示一个或多个资源。
打印一张包含与指定资源相关的最重要信息的表格。 你可以使用标签选择算符(--selector 标志)来过滤列表。 如果所请求的资源类型是命名空间作用域的,你只会看到当前命名空间中的结果, 除非你传递 --all-namespaces 参数。
通过将输出指定为 “template” 并提供一个 Go 模板作为 --template 标志的值,你可以过滤所读取资源的属性。
使用 "kubectl api-resources" 获取受支持的资源的完整列表。
kubectl get [(-o|--output=)json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file|custom-columns|custom-columns-file|wide] (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags]
示例
# 以 ps 输出格式列举所有 Pod
kubectl get pods
# 以 ps 输出格式列举所有 Pod,并提供更多信息(如节点名称)
kubectl get pods -o wide
# 以 ps 输出格式列举指定名称的单个副本控制器
kubectl get replicationcontroller web
# 以 JSON 输出格式列举 "apps" API 组 "v1" 版本中的 Deployment
kubectl get deployments.v1.apps -o json
# 以 JSON 输出格式列举单个 Pod
kubectl get -o json pod web-pod-13je7
# 以 JSON 输出格式列举在 "pod.yaml" 中以 type 和 name 指定的 Pod
kubectl get -f pod.yaml -o json
# 列举 kustomization.yaml 所在目录(例如 dir/kustomization.yaml)中的资源
kubectl get -k dir/
# 仅返回指定 Pod 的 phase 值
kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}}
# 在自定义列中列举资源信息
kubectl get pod test-pod -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image
# 以 ps 输出格式同时列举所有副本控制器和服务
kubectl get rc,services
# 按类型和名称列举一个或多个资源
kubectl get rc/web service/frontend pods/web-pod-13je7
# 列举单个 Pod 的 “status” 子资源
kubectl get pod web-pod-13je7 --subresource status
# 列出 “backend” 命名空间中的所有 Deployment
kubectl get deployments.apps --namespace backend
# 列出所有命名空间中存在的所有 Pod
kubectl get pods --all-namespaces
选项
-A, --all-namespaces | |
如果存在此标志,则跨所有命名空间列举所请求的对象。 即使使用 --namespace 指定了命名空间,当前上下文中的命名空间也会被忽略。 |
|
--allow-missing-template-keys 默认值:true | |
如果为 true,在模板中字段或映射键缺失时忽略模板中的错误。 仅适用于 golang 和 jsonpath 输出格式。 |
|
--chunk-size int 默认值:500 | |
以块的形式返回大的列表,而不是一次性全部返回。设为 0 表示禁用。 此标志处于 Beta 阶段,未来可能会有变更。 |
|
--field-selector string | |
过滤所用的选择算符(字段查询),支持 '='、'==' 和 '!='。 (例如 --field-selector key1=value1,key2=value2)。服务器针对每种类型仅支持有限数量的字段查询。 |
|
-f, --filename strings | |
文件名、目录或文件 URL 列表,用于标识要从服务器获取的资源。 |
|
-h, --help | |
get 操作的帮助命令。 |
|
--ignore-not-found | |
如果设置为 true,则会抑制针对不存在的特定对象的 NotFound 错误。 当在查询资源集合的命令中使用此标志时,如果找不到资源,则不会产生效果。 |
|
-k, --kustomize string | |
处理 kustomization 目录。此标志不能与 -f 或 -R 一起使用。 |
|
-L, --label-columns strings | |
接受一个用逗号分隔的标签列表,这些标签将被用作所打印表格中的不同列。 名称区分大小写。你也可以使用多个标志选项,例如 -L label1 -L label2... |
|
--no-headers | |
当使用默认或自定义列输出格式时,不要打印标题(默认打印标题)。 |
|
-o, --output string | |
输出格式。可选值为:json、yaml、name、go-template、go-template-file、template、templatefile、jsonpath、 jsonpath-as-json、jsonpath-file、custom-columns、custom-columns-file、wide。参见自定义列 [https://kubernetes.io/zh-cn/docs/reference/kubectl/#custom-columns]、golang 模板 [http://golang.org/pkg/text/template/#pkg-overview] 和 jsonpath 模板 [https://kubernetes.io/zh-cn/docs/reference/kubectl/jsonpath/]。 |
|
--output-watch-events | |
使用 --watch 或 --watch-only 标志时输出监视事件对象。现有对象被输出为初始的 ADDED 事件。 |
|
--raw string | |
向服务器发送请求所用的原始 URI。使用 kubeconfig 文件中指定的传输方式。 |
|
-R, --recursive | |
递归处理在 -f、--filename 中给出的目录。当你想要管理位于同一目录中的相关清单时很有用。 |
|
-l, --selector string | |
过滤所用的选择算符(标签查询),支持 '='、'=='、'!='、'in' 和 'notin'。 (例如 -l key1=value1,key2=value2,key3 in (value3))。匹配的对象必须满足所有指定的标签约束。 |
|
--server-print 默认值:true | |
如果为 true,则令服务器返回适当的表格输出。支持扩展 API 和 CRD。 |
|
--show-kind | |
如果存在此标志,则列举所请求对象的资源类型。 |
|
--show-labels | |
打印时,将所有标签显示为最后一列(默认隐藏标签列)。 |
|
--show-managed-fields | |
如果为 true,在以 JSON 或 YAML 格式打印对象时保留 managedFields。 |
|
--sort-by string | |
如果非空,则使用此字段规约对列表类型进行排序。 字段规约表示为 JSONPath 表达式(例如 “{.metadata.name}”)。 由此 JSONPath 表达式指定的 API 资源中的字段必须是一个整数或字符串。 |
|
--subresource string | |
如果指定,则读取所请求对象的指定子资源。 此标志处于 Beta 阶段,未来可能会有所变化。 |
|
--template string | |
当 -o=go-template、-o=go-template-file 时所使用的模板字符串或模板文件路径。 模板格式为 golang 模板 [http://golang.org/pkg/text/template/#pkg-overview]。 |
|
-w, --watch | |
列举/获取请求的对象后,监视其变化。 |
|
--watch-only | |
监视所请求对象的变化,而不先列举/获取对象。 |
Parent Options Inherited
--as string | |
操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。 |
|
--as-group strings | |
操作所用的伪装用户组,此标志可以被重复设置以指定多个组。 |
|
--as-uid string | |
操作所用的伪装 UID。 |
|
--cache-dir string 默认值:"$HOME/.kube/cache" | |
默认缓存目录。 |
|
--certificate-authority string | |
证书机构的证书文件的路径。 |
|
--client-certificate string | |
TLS 客户端证书文件的路径。 |
|
--client-key string | |
TLS 客户端密钥文件的路径。 |
|
--cluster string | |
要使用的 kubeconfig 集群的名称。 |
|
--context string | |
要使用的 kubeconfig 上下文的名称。 |
|
--disable-compression | |
如果为 true,则对服务器所有请求的响应不再压缩。 |
|
--insecure-skip-tls-verify | |
如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。 |
|
--kubeconfig string | |
CLI 请求要使用的 kubeconfig 文件的路径。 |
|
--kuberc string | |
用于偏好设置的 kuberc 文件的路径。可以通过导出 KUBECTL_KUBERC=false 特性门控或关闭 KUBERC=off 特性来禁用此功能。 |
|
--match-server-version | |
要求服务器版本与客户端版本匹配。 |
|
-n, --namespace string | |
如果存在,则是此 CLI 请求的命名空间范围。 |
|
--password string | |
向 API 服务器进行基本身份验证所用的密码。 |
|
--profile string 默认值:"none" | |
要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。 |
|
--profile-output string 默认值:"profile.pprof" | |
性能分析信息要写入的目标文件的名称。 |
|
--request-timeout string 默认值:"0" | |
在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 值为零表示请求不会超时。 |
|
-s, --server string | |
Kubernetes API 服务器的地址和端口。 |
|
--storage-driver-buffer-duration duration 默认值:1m0s | |
对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。 |
|
--storage-driver-db string 默认值:"cadvisor" | |
数据库名称。 |
|
--storage-driver-host string 默认值:"localhost:8086" | |
数据库 host:port |
|
--storage-driver-password string 默认值:"root" | |
数据库密码。 |
|
--storage-driver-secure | |
使用与数据库的安全连接。 |
|
--storage-driver-table string 默认值:"stats" | |
表名。 |
|
--storage-driver-user string 默认值:"root" | |
数据库用户名。 |
|
--tls-server-name string | |
服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。 |
|
--token string | |
向 API 服务器进行身份验证的持有者令牌。 |
|
--user string | |
要使用的 kubeconfig 用户的名称。 |
|
--username string | |
向 API 服务器进行基本身份验证时所用的用户名。 |
|
--version version[=true] | |
--version、--version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。 |
|
--warnings-as-errors | |
将从服务器收到的警告视为错误,并以非零退出码退出。 |
另请参见
- kubectl - kubectl 控制 Kubernetes 集群管理器
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.