Kubernetes常用命令大全(持续更新)(上)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: create根据文件或标准输入(stdin)创建资源。

基本命令

create

根据文件或标准输入(stdin)创建资源。

创建资源

kubectl create -f ./nginx.yaml

创建当前目录下的所有yaml资源

kubectl create -f .

使用多个文件创建资源

kubectl create -f ./nginx1.yaml -f ./mysql2.yaml

使用目录下的所有清单文件来创建资源

kubectl create -f ./dir

使用 url 来创建资源

kubectl create -f xxx.git.io/vxxzso.yaml

run

在集群中运行特定镜像。

创建带有终端的pod

kubectl run -i --tty busybox --image=busybox

启动一个 nginx 实例

kubectl run nginx --image=nginx

启动多个pod实例

kubectl run mybusybox --image=busybox --replicas=5

explain

获取资源的文档。

获取 pod 和 svc 的文档

kubectl explain pods,svc

get

获取所有的resources,包括nodepodnamespaceservicedeployment等,可以展示一个或者多个资源。

查看nodes节点

kubectl get nodes

通过yaml文件查询资源

kubectl get -f xxx.yaml

查询资源

kubectl get resourcequota

查询endpoints

kubectl get endpoints

查看pods

查看指定空间kube-system的pods

kubectl get po -n kube-system

查看所有空间的pods的详细信息

kubectl get pods -o wide --all-namespaces

查看指定空间kube-system的pods的详细信息

kubectl get pod -o wide --namespace=kube-system

获取指定namespace信息

kubectl get namespaces
# 获取指定namespace的yaml格式和json格式信息
kubectl get namespaces kube-system -o yaml 
kubectl get namespaces kube-system -o json
复制代码

获取service(svc)

查看所有命令空间的service

kubectl get svc --all-namespaces

查看所有命令空间的service的其他写法

kubectl get services --all-namespaces

# 通过 yaml 方式导出所有 service
kubectl get service -o yaml > backup.yaml
# 通过 yaml 方式导出单个 service
kubectl get service serviceName -o yaml > backup.yaml
复制代码

查询事件(Event)

kubectl get events --all-namespaces

查看某个命名空间下的事件

kubectl get events -n kube-system

查看某个命名空间下的事件,并根据关键字过滤

kubectl get events -n kube-system | grep "name"

通过lable查询

kubectl get pods -l app=nginx -o yaml|grep podIP

# 查看所有pod对于指定标签的key是否有value,有则显示,没有则空白
kubectl get pods -L apps,run
# 获取含有指定标签key的pod
kubectl get pods -l apps --show-labels
# 获取含有指定标签key=value的pod
kubectl get pods -l release=stable --show-labels
复制代码


edit

在服务端编辑资源。

编辑名为 docker-registry 的 service

kubectl edit svc/docker-registry

delete

根据文件、标准输入(stdin)、资源名或者资源标签删除资源。

删除 pod.json 文件中定义的类型和名称的pod

kubectl delete -f ./pod.json

删除名为“baz”的 pod 和名为“foo”的 service

kubectl delete pod,service baz foo

删除具有 name=myLabel 标签的 pod 和 serivce

kubectl delete pods,services -l name=myLabel

删除具有 name=myLabel 标签的 pod 和 service,包括尚未初始化的

kubectl delete pods,services -l name=myLabel --include-uninitialized

删除 my-ns 命名空间下的所有 pod 和 serivce,包括尚未初始化的

kubectl -n my-ns delete po,svc --all

强制删除pod(如,prometheus-7fcfcb9f89-qkkf7)

kubectl delete pods prometheus-7fcfcb9f89-qkkf7 --grace-period=0 --force

cp

容器内与宿主机之间进行文件拷贝

# 拷贝容器内的文件或目录到本地
kubectl cp default/venus-registry-web-8cd94fc99-fws4b:demo.txt demo.txt
kubectl cp default/venus-registry-web-8cd94fc99-fws4b:/home/xxx /home/yyy
# 拷贝本地文件或目录到容器内
kubectl cp demo.txt default/venus-registry-web-8cd94fc99-fws4b:demo.txt
kubectl cp /home/yyy default/venus-registry-web-8cd94fc99-fws4b:/home/xxx
复制代码


部署命令


rollout

查看修订版本(revison)的历史记录

kubectl rollout history deployment nginx-deployment

回退到指定的某个版本

如果不加--to-revision=版本号,默认情况下,回退到上一个版本。

kubectl rollout undo deployment nginx-deployment --to-revision=1

scale

程序在负载加重或缩小时副本进行扩容或缩小。

扩展副本数到4

kubectl scale rc rc-nginx-3 —replicas=4

重新缩减副本数到2

kubectl scale rc rc-nginx-3 —replicas=2

autoscale

scale虽然能够很方便的对副本数进行扩展或缩小,但是仍然需要人工介入,不能实时自动的根据系统负载对副本数进行扩、缩容。

autoscale命令提供了自动根据pod负载对其副本进行扩缩的功能。

autoscale命令会给一个rc指定一个副本数的范围,在实际运行中根据pod中运行的程序的负载自动在指定的范围内对pod进行扩容或缩容。

如前面创建的nginx,可以用如下命令指定副本范围在1~4。

kubectl autoscale rc rc-nginx-3 —min=1 —max=4

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
6月前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
1804 0
|
6月前
|
Kubernetes 应用服务中间件 API
Kubernetes(K8S)命令指南
Kubernetes(K8S)命令指南
217 0
|
6月前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
93 3
|
6月前
|
iOS开发 MacOS Windows
|
1月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
|
3月前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
3月前
|
Kubernetes Docker 容器
Kubernetes(K8S) 常用命令
Kubernetes(K8S) 常用命令
40 0
|
3月前
|
Kubernetes 监控 Shell
掌握Kubernetes故障排除技巧:kubectl命令的基本指南
以上是使用 `kubectl` 进行故障排除的一些基本指南。熟悉这些命令能够帮助您快速定位和解决在Kubernetes集群中遇到的问题。在实际使用中,您可能还需要结合其他工具和资源,如官方文档、社区论坛以及第三方监控和日志服务来进行更深入的故障诊断和排除。
95 0
|
5月前
|
Shell Docker 容器
深入探索Docker容器管理:常用命令一览(1)
深入探索Docker容器管理:常用命令一览(1)
101 2
|
5月前
|
Kubernetes Cloud Native Shell
云原生 - K8s命令合集
云原生 - K8s命令合集
65 0

推荐镜像

更多