Kubernetes十一--kubectl命令行工具用法了解
熟悉K8S的童鞋知道,kubectl这个命令是我们经常经常经常使用的一个命令。Kubectl作为管理客户端的CLI(command-line interface,命令行界面)工具,可以很直观的让用户通过命令行的方式对K8S的相关操作。这里我们来了解下其用法。文章目录熟悉K8S的童鞋知道,kubectl这个命令是我们经常经常经常使用的一个命令。Kubectl作为管理客户端的CLI(command-.
·
熟悉K8S的童鞋知道,kubectl这个命令是我们经常经常经常使用的一个命令。Kubectl作为管理客户端的CLI(command-line interface,命令行界面)工具,可以很直观的让用户通过命令行的方式对K8S的相关操作。这里我们来了解下其用法。
文章目录
kubectl 命令行的语法形式:
kubectl [command] [TYPE] [NAME] [flags]
语法内容解释 | 描述 |
---|---|
command | 子命令,由于操作集群等资源对象的命令,例如常用的creat、delete、get、describe等 |
TYPE | 资源对象的类型,注意这里区分大小写!资源对象可以已单数、复数、简写形式表示 |
NAME | 资源对象的名称,注意这里区分大小写!如果不指定名称的话,则系统将返回属于TYPE的全部对象的列表,例如我们在玩一玩中执行的kubectl get pods,可以看到结果返回的是全部pod的列表内容 |
flags | 子命令的可选参数。 |
1.command子命令
子命令 | 语法 | Description |
annotate | kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 为一个或多个资源添加注释 |
api-versions | kubectl api-versions [flags] | 列出支持的API版本。 |
apply | kubectl apply -f FILENAME [flags] | 对文件或stdin的资源进行配置更改。 |
attach | kubectl attach POD -c CONTAINER [-i] [-t] [flags] | 连接到一个运行的容器,既可以查看output stream,也可以与容器(stdin)进行交互。 |
autoscale | kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags] | 自动扩容/缩容由replication controller管理的一组pod。 |
cluster-info | kubectl cluster-info [flags] | 显示有关集群中master和services的终端信息。 |
config | kubectl config SUBCOMMAND [flags] | 修改kubeconfig文件。有关详细信息,请参阅各个子命令。 |
completion | kubectl completion SHELL [flags] | 输出shell命令的执行结果码 |
convert | kubectl convert -f FILENAME [flags] | 转换配置文件为不同版本的API |
cordon | kubectl cordon NODE [flags] | 将node标记为unschedulable,隔离出集群调度范围 |
create | kubectl create -f FILENAME [flags] | 从file或stdin创建一个或多个资源。 |
delete | kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags] | 从file,stdin或指定label 选择器,names,resource选择器或resources中删除resources。 |
describe | kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags] | 显示一个或多个resources的详细状态。 |
drain | kubectl drain NODE [flags] | 先将node设置为unschedulable,然后删除该node上运行的所有pod,但不会删除不由apiserver管理的pod |
edit | kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags] | 使用默认编辑器编辑和更新服务器上一个或多个定义的资源。 |
exec | kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]] | 对pod中的容器执行命令。 |
explain | kubectl explain [--include-extended-apis=true] [--recursive=false] [flags] | 获取各种资源的文档。例如pod,node,services等 |
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] | 将 replication controller,service或pod作为一个新的Kubernetes service显示。 |
get | kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags] | 列出一个或多个资源。 |
label | kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 添加或更新一个或多个资源的flags。 |
logs | kubectl logs POD [-c CONTAINER] [--follow] [flags] | 在pod中打印容器的日志。 |
namespace | kubectl namespace [namespace] [flags] | 已被kubectl config set-contest代替 |
patch | kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags] | 使用strategic merge 补丁程序更新资源的一个或多个字段。 |
port-forward | kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags] | 将一个或多个本地端口转发到pod。 |
proxy | kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags] | 在Kubernetes API服务器运行代理。 |
replace | kubectl replace -f FILENAME | 从file或stdin替换资源。 |
rolling-update | kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags] | 通过逐步替换指定的replication controller及其pod来执行滚动更新。 |
rollout | kubectl rollout SUBCOMMAND [flage] kubectl rollout [command] | 对Deployment进行管理,可用操作包括history,pause,resume,endo,status |
run | kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags] | 在集群上运行指定的镜像。 |
scale | kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags] | 更新指定RC(replication controller)的大小。 |
set | kubectl set SUBCOMMAND [flage] kubectl set [command] | 设定资源对象的某个信息,目前只支持修改容器的镜像 |
taint | kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1……KEY_N=VAL_N:TAINT_EFFECT_N[flags] | 设置node的taint信息,用于将特定的Pod调度到指定的Node的操作,版本为Apache版本 |
uncordon | kubectl uncordon NODE [flags] | 将node设置为schedulable |
stop | kubectl stop | 已弃用:请参阅kubectl delete。 |
version | kubectl version [--client] [flags] | 显示客户端和服务器上运行的Kubernetes版本。 |
2.TYPE资源类型
资源对象的名称 | 缩写 |
clusters | |
componentstatuses | cs |
configmaps | cm |
daemonsets | ds |
deployments | deploy |
endpoints | ep |
events | ev |
horizontalpodautoscalers | hpa |
ingresses | ing |
Jobs | |
limitranges | limits |
nodes | no |
namespaces | ns |
networkpolicies | |
statefulsets | |
persistentvolumeclaims | pvc |
persistentvolumes | pv |
pods | po |
podsecuritypolicies | psp |
podtemplates | |
replicasets | rs |
replicationcontrollers | rc |
cronjob | |
secrets | |
serviceaccounts | |
service | svc |
storageclasses | sc |
thirdpartyresources | |
3.flags参数列表
选项 | 作用 |
--alsologtostderr[=false] | 同时输出日志到标准错误控制台和文件 |
--api-version="" | 和服务端交互使用的API版本 |
--certificate-authority="" | 用以进行认证授权的.cert文件路径 |
--client-certificate="" | TLS使用的客户端证书路径 |
--client-key="" | TLS使用的客户端密钥路径 |
--cluster="" | 指定使用的kubeconfig配置文件中的集群名 |
--context="" | 指定使用的kubeconfig配置文件中的环境名 |
--insecure-skip-tls-verify[=false] | 如果为true,将不会检查服务器凭证的有效性,这会导致你的HTTPS链接变得不安全 |
--kubeconfig="" | 命令行请求使用的配置文件路径 |
--log-backtrace-at=:0 | 当日志长度超过定义的行数时,忽略堆栈信息 |
--log-dir="" | 如果不为空,将日志文件写入此目录 |
--log-flush-frequency=5s | 刷新日志的最大时间间隔 |
--logtostderr[=true] | 输出日志到标准错误控制台,不输出到文件 |
--match-server-version[=false] | 要求服务端和客户端版本匹配 |
--namespace="" | 如果不为空,命令将使用此namespace |
--password="" | API Server进行简单认证使用的密码 |
-s, --server="" | Kubernetes API Server的地址和端口号 |
--stderrthreshold=2 | 高于此级别的日志将被输出到错误控制台 |
--user="" | 指定使用的kubeconfig配置文件中的用户名 |
--token="" | 认证到API Server使用的令牌 |
--username="" | API Server进行简单认证使用的用户名 |
--v=0 | 指定输出日志的级别 |
--vmodule= | 指定输出日志的模块,格式如下:pattern=N,使用逗号分隔 |
更多推荐
所有评论(0)