> For the complete documentation index, see [llms.txt](https://bohans.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bohans.gitbook.io/devops/kubernetes/ji-chu-zhi-shi/an-zhuang/kubectl-ming-ling-xing-gong-ju-yong-fa-xiang-jie/zi-ming-ling.md).

# 子命令

<table><thead><tr><th width="172">操作</th><th>语法</th><th>描述</th></tr></thead><tbody><tr><td>apply</td><td>kubectl apply -f FILENAME [flags]</td><td>从文件或 stdin 对资源应用配置更改。</td></tr><tr><td>create</td><td>kubectl create -f FILENAME [flags]</td><td>从文件或 stdin 创建一个或多个资源。</td></tr><tr><td>delete</td><td>kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]</td><td>基于文件、标准输入或通过指定标签选择器、名称、资源选择器或资源本身，删除资源。</td></tr><tr><td>describe</td><td>kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]</td><td>显示一个或多个资源的详细状态。</td></tr><tr><td>edit</td><td>kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]</td><td>使用默认编辑器编辑和更新服务器上一个或多个资源的定义。</td></tr><tr><td>get</td><td>kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]</td><td>列出一个或多个资源。</td></tr><tr><td>logs</td><td>kubectl logs POD [-c CONTAINER] [--follow] [flags]</td><td>打印 Pod 中容器的日志。</td></tr><tr><td>rollout</td><td>kubectl rollout SUBCOMMAND [options]</td><td>管理资源的上线。有效的资源类型包括：Deployment、 DaemonSet 和 StatefulSet。</td></tr><tr><td>scale</td><td>kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]</td><td>更新指定副本控制器的大小。</td></tr><tr><td>set</td><td>kubectl set SUBCOMMAND [options]</td><td>配置应用资源。</td></tr><tr><td>top</td><td>`kubectl top (POD NODE) [flags] [options]`</td><td></td></tr><tr><td>alpha</td><td>kubectl alpha SUBCOMMAND [flags]</td><td>列出与 alpha 特性对应的可用命令，这些特性在 Kubernetes 集群中默认情况下是不启用的。</td></tr><tr><td>annotate</td><td>kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]</td><td>添加或更新一个或多个资源的注解。</td></tr><tr><td>api-resources</td><td>kubectl api-resources [flags]</td><td>列出可用的 API 资源。</td></tr><tr><td>api-versions</td><td>kubectl api-versions [flags]</td><td>列出可用的 API 版本。</td></tr><tr><td>attach</td><td>kubectl attach POD -c CONTAINER [-i] [-t] [flags]</td><td>挂接到正在运行的容器，查看输出流或与容器（stdin）交互。</td></tr><tr><td>auth</td><td>kubectl auth [flags] [options]</td><td>检查授权。</td></tr><tr><td>autoscale</td><td>kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]</td><td>自动扩缩由副本控制器管理的一组 pod。</td></tr><tr><td>certificate</td><td>kubectl certificate SUBCOMMAND [options]</td><td>修改证书资源。</td></tr><tr><td>cluster-info</td><td>kubectl cluster-info [flags]</td><td>显示有关集群中主服务器和服务的端口信息。</td></tr><tr><td>completion</td><td>kubectl completion SHELL [options]</td><td>为指定的 Shell（Bash 或 Zsh）输出 Shell 补齐代码。</td></tr><tr><td>config</td><td>kubectl config SUBCOMMAND [flags]</td><td>修改 kubeconfig 文件。有关详细信息，请参阅各个子命令。</td></tr><tr><td>convert</td><td>kubectl convert -f FILENAME [options]</td><td>在不同的 API 版本之间转换配置文件。配置文件可以是 YAML 或 JSON 格式。注意 - 需要安装 kubectl-convert 插件。</td></tr><tr><td>cordon</td><td>kubectl cordon NODE [options]</td><td>将节点标记为不可调度。</td></tr><tr><td>cp</td><td>kubectl cp &#x3C;file-spec-src> &#x3C;file-spec-dest> [options]</td><td>从容器复制文件、目录或将文件、目录复制到容器。</td></tr><tr><td>diff</td><td>kubectl diff -f FILENAME [flags]</td><td>在当前起作用的配置和文件或标准输之间作对比 (BETA)</td></tr><tr><td>drain</td><td>kubectl drain NODE [options]</td><td>腾空节点以准备维护。</td></tr><tr><td>events</td><td>kubectl events</td><td>列举事件。</td></tr><tr><td>exec</td><td>kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]</td><td>对 Pod 中的容器执行命令。</td></tr><tr><td>explain</td><td>kubectl explain TYPE [--recursive=false] [flags]</td><td>获取多种资源的文档。例如 Pod、Node、Service 等。</td></tr><tr><td>expose</td><td>kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags]</td><td>将副本控制器、Service 或 Pod 作为新的 Kubernetes 服务暴露。</td></tr><tr><td>label</td><td>kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]</td><td>添加或更新一个或多个资源的标签。</td></tr><tr><td>options</td><td>kubectl options</td><td>全局命令行选项列表，这些选项适用于所有命令。</td></tr><tr><td>patch</td><td>kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]</td><td>使用策略合并流程更新资源的一个或多个字段。</td></tr><tr><td>plugin</td><td>kubectl plugin [flags] [options]</td><td>提供用于与插件交互的实用程序。</td></tr><tr><td>port-forward</td><td>kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]</td><td>将一个或多个本地端口转发到一个 Pod。</td></tr><tr><td>proxy</td><td>kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]</td><td>运行访问 Kubernetes API 服务器的代理。</td></tr><tr><td>replace</td><td>kubectl replace -f FILENAME</td><td>基于文件或标准输入替换资源。</td></tr><tr><td>run</td><td>kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server | client | none] [--overrides=inline-json] [flags]</td><td>在集群上运行指定的镜像。</td></tr><tr><td>taint</td><td>kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N [options]</td><td>更新一个或多个节点上的污点。</td></tr><tr><td>uncordon</td><td>kubectl uncordon NODE [options]</td><td>将节点标记为可调度。</td></tr><tr><td>version</td><td>kubectl version [--client] [flags]</td><td>显示运行在客户端和服务器上的 Kubernetes 版本。</td></tr><tr><td>wait</td><td>kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available] [options]</td><td>实验特性：等待一种或多种资源的特定状况。</td></tr></tbody></table>

<details>

<summary>SQL脚本</summary>

```sql
-- ----------------------------
-- Table structure for k8s-command
-- ----------------------------
DROP TABLE IF EXISTS `k8s-command`;
CREATE TABLE `k8s-command`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `operator` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `grammar` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `description` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `priority` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of k8s-command
-- ----------------------------
INSERT INTO `k8s-command` VALUES (1, 'alpha', 'kubectl alpha SUBCOMMAND [flags]', '列出与 alpha 特性对应的可用命令，这些特性在 Kubernetes 集群中默认情况下是不启用的。', 0);
INSERT INTO `k8s-command` VALUES (2, 'annotate', 'kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]', '添加或更新一个或多个资源的注解。', 0);
INSERT INTO `k8s-command` VALUES (3, 'api-resources', 'kubectl api-resources [flags]', '列出可用的 API 资源。', 0);
INSERT INTO `k8s-command` VALUES (4, 'api-versions', 'kubectl api-versions [flags]', '列出可用的 API 版本。', 0);
INSERT INTO `k8s-command` VALUES (5, 'apply', 'kubectl apply -f FILENAME [flags]', '从文件或 stdin 对资源应用配置更改。', 1);
INSERT INTO `k8s-command` VALUES (6, 'attach', 'kubectl attach POD -c CONTAINER [-i] [-t] [flags]', '挂接到正在运行的容器，查看输出流或与容器（stdin）交互。', 0);
INSERT INTO `k8s-command` VALUES (7, 'auth', 'kubectl auth [flags] [options]', '检查授权。', 0);
INSERT INTO `k8s-command` VALUES (8, 'autoscale', 'kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]', '自动扩缩由副本控制器管理的一组 pod。', 0);
INSERT INTO `k8s-command` VALUES (9, 'certificate', 'kubectl certificate SUBCOMMAND [options]', '修改证书资源。', 0);
INSERT INTO `k8s-command` VALUES (10, 'cluster-info', 'kubectl cluster-info [flags]', '显示有关集群中主服务器和服务的端口信息。', 0);
INSERT INTO `k8s-command` VALUES (11, 'completion', 'kubectl completion SHELL [options]', '为指定的 Shell（Bash 或 Zsh）输出 Shell 补齐代码。', 0);
INSERT INTO `k8s-command` VALUES (12, 'config', 'kubectl config SUBCOMMAND [flags]', '修改 kubeconfig 文件。有关详细信息，请参阅各个子命令。', 0);
INSERT INTO `k8s-command` VALUES (13, 'convert', 'kubectl convert -f FILENAME [options]', '在不同的 API 版本之间转换配置文件。配置文件可以是 YAML 或 JSON 格式。注意 - 需要安装 kubectl-convert 插件。', 0);
INSERT INTO `k8s-command` VALUES (14, 'cordon', 'kubectl cordon NODE [options]', '将节点标记为不可调度。', 0);
INSERT INTO `k8s-command` VALUES (15, 'cp', 'kubectl cp <file-spec-src> <file-spec-dest> [options]', '从容器复制文件、目录或将文件、目录复制到容器。', 0);
INSERT INTO `k8s-command` VALUES (16, 'create', 'kubectl create -f FILENAME [flags]', '从文件或 stdin 创建一个或多个资源。', 1);
INSERT INTO `k8s-command` VALUES (17, 'delete', 'kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]', '基于文件、标准输入或通过指定标签选择器、名称、资源选择器或资源本身，删除资源。', 1);
INSERT INTO `k8s-command` VALUES (18, 'describe', 'kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]', '显示一个或多个资源的详细状态。', 1);
INSERT INTO `k8s-command` VALUES (19, 'diff', 'kubectl diff -f FILENAME [flags]', '在当前起作用的配置和文件或标准输之间作对比 (BETA)', 0);
INSERT INTO `k8s-command` VALUES (20, 'drain', 'kubectl drain NODE [options]', '腾空节点以准备维护。', 0);
INSERT INTO `k8s-command` VALUES (21, 'edit', 'kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]', '使用默认编辑器编辑和更新服务器上一个或多个资源的定义。', 1);
INSERT INTO `k8s-command` VALUES (22, 'events', 'kubectl events', '列举事件。', 0);
INSERT INTO `k8s-command` VALUES (23, 'exec', 'kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]', '对 Pod 中的容器执行命令。', 0);
INSERT INTO `k8s-command` VALUES (24, 'explain', 'kubectl explain TYPE [--recursive=false] [flags]', '获取多种资源的文档。例如 Pod、Node、Service 等。', 0);
INSERT INTO `k8s-command` VALUES (25, 'expose', 'kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags]', '将副本控制器、Service 或 Pod 作为新的 Kubernetes 服务暴露。', 0);
INSERT INTO `k8s-command` VALUES (26, 'get', 'kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]', '列出一个或多个资源。', 1);
INSERT INTO `k8s-command` VALUES (27, 'label', 'kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]', '添加或更新一个或多个资源的标签。', 0);
INSERT INTO `k8s-command` VALUES (28, 'logs', 'kubectl logs POD [-c CONTAINER] [--follow] [flags]', '打印 Pod 中容器的日志。', 1);
INSERT INTO `k8s-command` VALUES (29, 'options', 'kubectl options', '全局命令行选项列表，这些选项适用于所有命令。', 0);
INSERT INTO `k8s-command` VALUES (30, 'patch', 'kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]', '使用策略合并流程更新资源的一个或多个字段。', 0);
INSERT INTO `k8s-command` VALUES (31, 'plugin', 'kubectl plugin [flags] [options]', '提供用于与插件交互的实用程序。', 0);
INSERT INTO `k8s-command` VALUES (32, 'port-forward', 'kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]', '将一个或多个本地端口转发到一个 Pod。', 0);
INSERT INTO `k8s-command` VALUES (33, 'proxy', 'kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]', '运行访问 Kubernetes API 服务器的代理。', 0);
INSERT INTO `k8s-command` VALUES (34, 'replace', 'kubectl replace -f FILENAME', '基于文件或标准输入替换资源。', 0);
INSERT INTO `k8s-command` VALUES (35, 'rollout', 'kubectl rollout SUBCOMMAND [options]', '管理资源的上线。有效的资源类型包括：Deployment、 DaemonSet 和 StatefulSet。', 1);
INSERT INTO `k8s-command` VALUES (36, 'run', 'kubectl run NAME --image=image [--env=\"key=value\"] [--port=port] [--dry-run=server | client | none] [--overrides=inline-json] [flags]', '在集群上运行指定的镜像。', 0);
INSERT INTO `k8s-command` VALUES (37, 'scale', 'kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]', '更新指定副本控制器的大小。', 1);
INSERT INTO `k8s-command` VALUES (38, 'set', 'kubectl set SUBCOMMAND [options]', '配置应用资源。', 1);
INSERT INTO `k8s-command` VALUES (39, 'taint', 'kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N [options]', '更新一个或多个节点上的污点。', 0);
INSERT INTO `k8s-command` VALUES (40, 'top', '`kubectl top (POD NODE) [flags] [options]`', '', 1);
INSERT INTO `k8s-command` VALUES (41, 'uncordon', 'kubectl uncordon NODE [options]', '将节点标记为可调度。', 0);
INSERT INTO `k8s-command` VALUES (42, 'version', 'kubectl version [--client] [flags]', '显示运行在客户端和服务器上的 Kubernetes 版本。', 0);
INSERT INTO `k8s-command` VALUES (43, 'wait', 'kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available] [options]', '实验特性：等待一种或多种资源的特定状况。', 0);
```

</details>
