1、kubectl 命令用法
kubectl 命令语法格式如下,
kubectl [command] [TYPE] [NAME] [flages]
1)command
指定要对资源执行的操作,如 create、get、describe、delete 等。
2)TYPE
指定资源类型,资源类型的书写对大小写敏感。
3)NAME
指定资源的名称,名称也对大小写敏感,如果省略名称则会显示所有资源。
4)flages
指定可选的参数,如可以使用 -s、-server 参数指定 Kubernetes API server 的地址和端口。
注意:可以使用命令 kubectl --help 可以获取 kubectl 的各种命令以及解释。
2、kubectl 命令
1)基础命令
命令 | 含义 |
create | 通过文件名或者标准输入创建资源 |
expose | 将一个资源公开为一个新的 service |
run | 在集群中运行一个特定的镜像 |
set | 在对象上设置特定的功能 |
get | 显示一个或者多个资源 |
explain | 获取资源及其字段的文档 |
edit | 使用默认编辑器编辑一个资源 |
delete | 通过文件名、标准输入、资源名称或标签选择器来删除资源 |
命令文档:
Kubernetes(K8s) kubectl create常用命令
Kubernetes(K8s) kubectl expose常用命令
Kubernetes(K8s) kubectl run 常用命令
Kubernetes(k8s) kubectl set subject常用命令
Kubernetes(k8s) kubectl set image常用命令
Kubernetes(k8s) kubectl set selector常用命令
Kubernetes(k8s) kubectl set resources常用命令
Kubernetes(K8s) kubectl get 常用命令
Kubernetes(k8s) kubectl explain常用命令
Kubernetes(K8s) kubectl edit 常用命令
Kubernetes(K8s) kubectl delete 常用命令
2)部署命令
命令 | 含义 |
rollout | 管理资源的发布 |
rolling-update | 对给定的复制控制器滚动更新 |
scale | 扩容或缩容 pod 数量,Deployment、ReplicaSet、RC |
autoscale | 创建一个自动选择扩容或缩容并设置 pod 数量 |
命令文档:
Kubernetes(k8s) kubectl rollout history常用命令
Kubernetes(k8s) kubectl rollout pause常用命令
Kubernetes(k8s) kubectl rollout resume常用命令
Kubernetes(k8s) kubectl rollout status常用命令
Kubernetes(k8s) kubectl rollout undo常用命令
Kubernetes(K8s) kubectl rolling-update 常用命令
Kubernetes(K8s) kubectl scale 常用命令
Kubernetes(K8s) kubectl autoscale 常用命令
3) 集群管理命令
命令 | 含义 |
certificate | 修改证书资源 |
cluster-info | 显示集群信息 |
top | 显示资源的使用,需要 Heapster 运行 |
cordon | 标记节点不可调度 |
uncordon | 标记节点可以调度 |
drain | 驱逐节点上的应用,准备下线维护 |
taint | 修改节点 taint 标记 |
命令文档:
Kubernetes(k8s) kubectl certificate常用命令
Kubernetes(k8s) kubectl cluster-info常用命令
Kubernetes(k8s) kubectl top常用命令
Kubernetes(K8s) kubectl cordon, drain, uncordon 常用命令
Kubernetes(k8s) kubectl taint常用命令
4)故障诊断和调试命令
命令 | 含义 |
describe | 显示特定资源或资源组的详细信息 |
logs | 在一个 pod 中打印容器日志,如果 pod 只有一个容器,则容器名称可选 |
attach | 附加到一个运行的容器 |
exec | 执行命令到容器 |
port-forward | 转发一个或多个本地端口到一个 pod |
proxy | 运行一个 proxy 到 Kubernetes API server |
cp | 拷贝文件或目录到容器 |
auth | 检查授权 |
命令文档:
Kubernetes(K8s) kubectl describe常用命令
Kubernetes(K8s) kubectl logs 常用命令
Kubernetes(K8s) kubectl attach 常用命令
Kubernetes(K8s) kubectl exec 常用命令
Kubernetes(K8s) kubectl port-forward 常用命令
Kubernetes(K8s) kubectl proxy 常用命令
Kubernetes(K8s) kubectl cp 常用命令
Kubernetes(k8s) kubectl auth常用命令
5)其它命令
命令 | 含义 |
apply | 通过文件名或标准输入对资源应用配置 |
patch | 使用补丁修改、更新资源的字段 |
replace | 通过文件名或标准输入替换一个资源 |
convert | 不同 API 版本之间转换配置文件 |
label | 更新资源上的标签 |
annotate | 更新资源上的注释 |
completion | 用于实现 kubectl 工具自动补全 |
api-versions | 打印受支持的 API 版本 |
config | 修改 kubeconfig 文件 |
help | 所有命令帮助 |
plugin | 运行一个命令行插件 |
version | 打印客户端和服务版本信息 |
命令文档:
Kubernetes(K8s) kubectl apply 常用命令
Kubernetes(K8s) kubectl patch常用命令
Kubernetes(K8s) kubectl replace常用命令
Kubernetes(k8s) kubectl convert常用命令
Kubernetes(K8s) kubectl label 常用命令
Kubernetes(k8s) kubectl annotate常用命令
Kubernetes(k8s) kubectl completion常用命令
Kubernetes(k8s) kubectl api-versions常用命令
Kubernetes(k8s) kubectl config常用命令
Kubernetes(k8s) kubectl plugin常用命令
Kubernetes(k8s) kubectl version常用命令
3、kubectl 命令输出
输出格式 | 描述 |
-o custom-columns=<spec> | 使用逗号分隔的自定义列列表打印表。 |
-o custom-columns-file=<filename> | 使用 <filename> 文件中的自定义列模板打印表。 |
-o json | 输出 JSON 格式的 API 对象 |
-o jsonpath=<template> | 打印 jsonpath 表达式定义的字段 |
-o jsonpath-file=<filename> | 打印 <filename> 文件中 jsonpath 表达式定义的字段。 |
-o name | 仅打印资源名称而不打印任何其他内容。 |
-o wide | 以纯文本格式输出,包含任何附加信息。对于 pod 包含节点名。 |
-o yaml | 输出 YAML 格式的 API 对象。 |