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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
日志服务 SLS,月写入数据量 50GB 1个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: create根据文件或标准输入(stdin)创建资源。

集群管理命令


cluster-info

查看集群信息

kubectl cluster-info

查看更详细的集群信息。

kubectl cluster-info dump

top

显示CPU、内存、存储资源的使用情况。

显示节点(k8s-node)资源的使用情况

kubectl top node k8s-node

显示集群所有节点的资源的使用情况

kubectl top node

显示指定命名空间(如,logging)的pod的资源的使用情况

kubectl top pod -n logging

cordon

标记节点不可调度。

标记k8s-node节点不可调度

kubectl cordon k8s-node

uncordon

标记节点可调度。

标记k8s-node节点可调度

kubectl uncordon k8s-node

drain

排除某节点,准备进行维护

排除k8s-node节点,准备进行维护

kubectl drain k8s-node

故障排查和诊断命令

describe

显示特定资源或资源组的详细信息。

当我们发现一个pod迟迟无法创建时,展示一个pod的描述

kubectl describe pod xxx

显示集群节点资源(CPU/GPU/内存)的使用情况。

kubectl describe nodes

显示集群具体某个节点(如,node-work-2)资源的使用情况。

kubectl describe node node-work-2

logs

打印Pod中一个容器的日志。

查看指定Pod的日志

kubectl logs -f kube-dns-699984412-vz1q6 -n kube-system

查看指定pod的最后10行日志

kubectl logs --tail=10 nginx

指定Pod的其中一个容器查看日志

kubectl logs kube-dns-699984412-n5zkz -c kubedns --namespace=kube-system

查看指定Pod指定容器的最后10行的滚动日志

kubectl logs -f --tail=10 kube-dns-699984412-vz1q6 -c manager -n kube-system

exec

exec命令同样类似于docker的exec命令,为在一个已经运行的容器中执行一条shell命令,如果一个pod容器中,有多个容器,需要使用-c选项指定容器。

进入容器

kubectl exec -it codeleak-github-cron-1567581840-zsqpc /bin/bash

在指定命名空间(如,ns)已存在的容器中执行命令(只有一个容器的情况下)

kubectl exec nginx-pod -n ns -- ls /

在已存在的容器中执行命令(pod 中有多个容器的情况下,需要指定具体那个容器)

kubectl exec nginx-pod -c my-container -- ls /

注意: shell命令前,要加--号,不然shell命令中的参数,不能识别

高级命令

apply

按文件名或标准输入(stdin)将配置应用于资源

更新资源

kubectl apply -f rc-nginx.yaml

将控制台输入的JSON配置应用到Pod

cat pod.json | kubectl apply -f -

设置命令

label

更新(增加、修改或删除)资源上的标签。

如果--overwrite 为 true,则可以覆盖已有的 label,否则尝试覆盖 label 将会报错。

如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。

Label命名规范:

label 必须以字母或数字开头,可以使用字母、数字、连字符、点和下划线,最长63个字符。

操作节点标签:

# 查看所有节点和lable
kubectl get nodes --show-labels
# 为某个节点增加lable
kubectl label nodes 10.126.72.31 points=test
# 给节点node01添加disk标签
kubectl label nodes node01 disk=ssd      
# 修改节点node01的标签
kubectl label nodes node01 disk=sss –overwrite   
# 删除节点node01的disk标签
kubectl label nodes node01 disk-        
复制代码


操作pod标签:

# 给名为 tomcat 的 Pod 添加 label app=tomcat。
kubectl label pods tomca app=tomcat
# 把名为 tomcat 的Pod修改label 为 app=tomcat1,且覆盖现有的value
kubectl label --overwrite pods tomcat app=tomcat1
# 把 namespace 中的所有 pod 添加 label
kubectl label pods --all test=test
# 删除名为“app”的 label 。(使用“ - ”减号相连)
kubectl label pods tomcat app-
复制代码


annotate

更新资源的Annotations信息。

更新pod(如,foo),设置其注解'description'的值为'my frontend'。

kubectl annotate pods foo description='my frontend'

注:如果同一个注解被赋值了多次,只保存最后一次设置的值。

其他命令

version

查看客户端和服务端的版本信息。

kubectl version

api-versions

以“组/版本”的格式输出服务端支持的API版本。

kubectl api-versions

api-resources

输出服务端API支持的资源类型。

kubectl api-resources

参考文档

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