kubectl 常用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubectl 常用命令相关的知识,希望对你有一定的参考价值。

参考技术A # 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间

kubectl get pod

kubectl get pod -n kube 

kubectl get pod -o wide

# 查看 RC 和 service 列表, -o wide 查看详细信息

kubectl get rc,svc

kubectl get pod,svc -o wide 

kubectl get pod <pod-name> -o yaml

# 显示 Node 的详细信息

kubectl describe node <node-ip>

# 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志

kubectl describe pod <pod-name>

# 根据 yaml 创建资源, apply 可以重复执行,create 不行

kubectl create -f pod.yaml

kubectl apply -f pod.yaml

# 基于 xxx.yaml 定义的名称删除 pod

kubectl delete -f pod.yaml

# 删除所有包含某个 label 的pod 和 service

kubectl delete pod,svc -l name=<label-name>

# 删除所有 Pod

kubectl delete pod --all

# 查看 endpoint 列表

kubectl get endpoints

# 执行 pod 的 date 命令

kubectl exec <pod-name> -- date

kubectl exec <pod-name> -- bash

kubectl exec <pod-name> -- ping 10.24.51.9

# 通过bash获得 pod 中某个容器的TTY,相当于登录容器

kubectl exec -it <pod-name> -c <container-name> -- bash

# 查看容器的日志

kubectl logs <pod-name>

kubectl logs -f <pod-name> # 实时查看日志

kubectl log  <pod-name>  -c <container_name> # 若 pod 只有一个容器,可以不加 -c

Kubectl 常用命令大全

参考技术A

create 命令 :根据文件或者输入来创建资源

delete 命令 :删除资源

get 命令 :获得资源信息

run 命令 :在集群中创建并运行一个或多个容器镜像。

更详细用法参见 : http://docs.kubernetes.org.cn/468.html

expose 命令 :创建一个service服务,并且暴露端口让外部可以访问

更多expose详细用法参见 : http://docs.kubernetes.org.cn/475.html

set 命令 :配置应用的一些特定资源,也可以修改应用已有的资源

set 命令详情参见 : http://docs.kubernetes.org.cn/669.html

这个命令用于设置资源的一些范围限制。

资源对象中的 Pod 可以指定计算资源需求(CPU-单位m、内存-单位Mi),即使用的最小资源请求(Requests),限制(Limits)的最大资源需求,Pod将保证使用在设置的资源数量范围。

对于每个Pod资源,如果指定了 Limits (限制)值,并省略了 Requests (请求),则 Requests 默认为 Limits 的值。

可用资源对象包括(支持大小写) : replicationcontroller 、 deployment 、 daemonset 、 job 、 replicaset 。

例如 :

设置资源的 selector (选择器)。如果在调用"set selector"命令之前已经存在选择器,则新创建的选择器将覆盖原来的选择器。

selector 必须以字母或数字开头,最多包含63个字符,可使用:字母、数字、连字符" - " 、点"."和下划线" _ "。如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。

注意 :目前 selector 命令只能用于 Service 对象。

​用于更新现有资源的容器镜像。

可用资源对象包括: pod (po) 、 replicationcontroller (rc) 、 deployment (deploy) 、 daemonset (ds) 、 job 、 replicaset (rs) 。

explain 命令 :用于显示资源文档信息

edit 命令 : 用于编辑资源信息

label命令 : 用于更新(增加、修改或删除)资源上的 label(标签)

例 :

annotate命令 :更新一个或多个资源的Annotations信息。也就是注解信息,可以方便的查看做了哪些操作。

例子 :

completion命令 :用于设置 kubectl 命令自动补全

BASH

ZSH

rollout 命令 : 用于对资源进行管理

可用资源包括: deployments , daemonsets 。

子命令 :

rolling-update命令 : 执行指定ReplicationController的滚动更新。

该命令创建了一个新的 RC , 然后一次更新一个 pod 方式逐步使用新的 PodTemplate ,最终实现 Pod 滚动更新, new-controller.json 需要与之前 RC 在相同的 namespace 下。

scale命令 :扩容或缩容 Deployment 、 ReplicaSet 、 Replication Controller 或 Job 中 Pod 数量

scale 也可以指定多个前提条件,如:当前副本数量或 --resource-version ,进行伸缩比例设置前,系统会先验证前提条件是否成立。这个就是弹性伸缩策略。

autoscale命令 :这个比 scale 更加强大,也是弹性伸缩策略 ,它是根据流量的多少来自动进行扩展或者缩容。

指定 Deployment 、 ReplicaSet 或 ReplicationController ,并创建已经定义好资源的自动伸缩器。使用自动伸缩器可以根据需要自动增加或减少系统中部署的pod数量。

certificate命令 :用于证书资源管理,授权等

cluster-info 命令 :显示集群信息

top 命令 :用于查看资源的cpu,内存磁盘等资源的使用率

cordon命令 :用于标记某个节点不可调度

uncordon命令 :用于标签节点可以调度

drain命令 : 用于在维护期间排除节点。

taint命令 :用于给某个 Node 节点设置污点

describe命令 :显示特定资源的详细信息

logs命令 :用于在一个pod中打印一个容器的日志,如果pod中只有一个容器,可以省略容器名

参数选项 :

exec命令 :进入容器进行交互,在容器中执行命令

命令选项 :

attach命令 :连接到一个正在运行的容器。

参数选项 :

cp命令 :拷贝文件或者目录到pod容器中

用于 pod 和外部的文件交换,类似于 docker 的 cp ,就是将容器中的内容和外部的内容进行交换。

api-servions命令 :打印受支持的 api 版本信息

help命令 :用于查看命令帮助

config 命令 : 用于修改 kubeconfig 配置文件(用于访问api,例如配置认证信息)

设置 kubectl 与哪个 Kubernetes 集群进行通信并修改配置信息。查看 使用 kubeconfig 跨集群授权访问 文档获取详情配置文件信息。

version 命令 :打印客户端和服务端版本信息

plugin 命令 :运行一个命令行插件

apply命令 :通过文件名或者标准输入对资源应用配置

通过文件名或控制台输入,对资源进行配置。 如果资源不存在,将会新建一个。可以使用 JSON 或者 YAML 格式。

参数选项 :

patch命令 :使用补丁修改,更新资源的字段,也就是修改资源的部分内容

replace命令 : 通过文件或者标准输入替换原有资源

convert命令 :不同的版本之间转换配置文件

要以特定格式将详细信息输出到终端窗口,可以将 -o 或 --output 参数添加到支持的 kubectl 命令。

Kubectl 日志输出详细程度是通过 -v 或者 --v 来控制的,参数后跟了一个数字表示日志的级别。 Kubernetes 通用的日志习惯和相关的日志级别在 这里 有相应的描述。

以上是 kubectl 一些基本命令操作,需要时方便查阅。

以上是关于kubectl 常用命令的主要内容,如果未能解决你的问题,请参考以下文章

kubectl常用命令

kubectl 常用命令梳理

kubectl 常用命令

k8s kubectl常用命令总结

Kubectl 常用命令大全

Kubectl 常用命令大全