Kubectl常用命令

管理资源(查看、创建、更新、删除)

查看node资源

kubectl get nodes

查看命名空间

kubectl get ns

查看service资源

-n 指明所属的命名空间,不写默认看命名空间为default下的所有service

kubectl get svc -n default

查看pod资源

-n 指明所属的命名空间,不写默认看命名空间为default下的pod

kubectl get pods -n test

-o wide :查看资源列表的更多信息

kubectl get pods -o wide 

查看某个资源的详情

例如:查看 pod名为 pod-nginx的详细信息
-n 指明pod-nginx所属的命名空间

kubectl describe pod pod-nginx -n test

创建新的命名空间

例如:创建名为 dev 的命名空间

kubectl create ns dev

创建资源

kubectl create -f resource.yaml

更新资源(变更了镜像)

kubectl apply -f resource.yaml

删除资源

kubectl delete -f resource.yaml

删目录下所有yaml文件定义的所有资源

kubectl delete -f .

强制删除

kubectl delete -f resource.yaml --force --grace-period=0

管理资源标签

例如:查看节点名为 k8s-node1 上的所有标签

kubectl get nodes k8s-node1 --show-labels

给 k8s-node1 节点打个具有 “node-type=worker” 的标签

kubectl label nodes k8s-node1 node-type=worker

列出命名空间为test下 标签key是 “release” 的Pod(-l:仅过滤不显示标签)

kubectl get pods -n test -l release

列出命名空间为test下 标签key包含 “release” 或 “app” 的Pod(-L:显示对应的标签值)

kubectl get pods -n test -L release,app

列出命名空间为test下 标签key是 “release”、值是 “v1” 的 Pod(不显示标签)

kubectl get pods -n test -l release=v1

删除命名空间为test下 标签key是“release”、值是 “v1” 的 Pod

kubectl delete pods -n test -l release=v1

删除资源的某个标签

例如:删除 “k8s-node2” 节点上的 “node-type”标签

kubectl label nodes k8s-node2 node-type-

查看pod日志

例如:查看pod名为foobar的日志

kubectl logs foobar

查看pod中具体容器日志

例如:查看名为foobar的pod,它里面的nginx容器的日志

kubectl logs foobar -c nginx

进入pod的容器内

(1)pod里只有一个容器,使用参数exec -it ,直接登录到pod中

例如:查看pod名为foobar

kubectl exec -it foobar -- bash

(2)pod里有多个容器,加-c指定进入到pod具体容器里

kubectl exec -it foobar -c nginx --  bash

管理 pod 扩缩容

scale命令用于手动横向扩展

kubectl scale --replicas=3 deployment nginx

autoscal命令用于自动扩展确认,会根据负载进行调解。
这条命令可以对Deployment进行设定,通过最小值和最大值的指定进行设定。

kubectl autoscale deployment nginx --min=2 --max=5

节点维护-指定 node 节点不可用

例如:将 k8s-node1 节点设置为不可用,然后重新调度该节点上的所有 Pod

1、设置节点是不可调度状态

kubectl cordon k8s-node1    

2、驱逐节点上的pod资源

kubectl drain k8s-node-1 --delete-emptydir-data --ignore-daemonsets --force

检查可用节点数量

检查集群中有多少节点为 Ready 状态(不包括被打上 Taint:NoSchedule 的节点)

  • -i 是忽略大小写,-v 是排除在外, -c 是统计查出来的条数
kubectl describe nodes | grep -i Taint | grep -vc NoSchedule

监控 pod 的 cpu

例如:找出标签是 name=cpu-user 的 Pod,并按 CPU使用的程度正向排序

前提:安装部署metrics

1、master上放 metrics-server.yaml
2、node上解压镜像:ctr -n k8s.io i import metrics-server-amd64-0-3-6.tar.gz
3、查看服务:kubectl get pods -n kube-system

以上1、2中,metrics 部署资源 下载

链接: https://pan.baidu.com/s/1AcGtMjXFk9_iEHRuPnR5WQ?pwd=r2km
提取码: r2km
在这里插入图片描述

  • 没有指定的 namespace。需要使用 -A 看所有 namespace下
kubectl top pod -l name=cpu-user --sort-by=cpu -A

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/464172.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何解决宝塔面板软件安装慢的问题

如果你正在使用宝塔面板管理你的服务器,并且在安装软件时遇到了下载速度缓慢的问题,不用担心,这可能是由于默认的下载节点出现了异常。幸运的是,宝塔提供了一种快速修复的方法。 问题表现 在宝塔面板安装软件时,你可…

嵌入式开发基础总结

学习目标 1.了解嵌入式开发 2.开发环境的搭建 3.Linux操作系统的基本操作 一、了解嵌入式开发 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 1.嵌入式可以干…

盒子IM开源仿微信聊天程序源码,可以商用

安装教程 1.安装运行环境 安装node:v14.16.0安装jdk:1.8安装maven:3.6.3安装mysql:5.7,密码分别为root/root,运行sql脚本(脚本在im-platfrom的resources/db目录)安装redis:5.0安装minio,命令端口使用9001,并创建一个名为”box-im”的bucket&#xff0c…

力扣59. 螺旋矩阵 II

思路:此题思路就是绕圈遍历,全靠条件处理技巧,重点要清楚的就是循环不变量:左闭右开(即拐弯处的一个数,留给第二行处理) 以下是代码随想录的作者的一张图片,每次for循环,…

新!PCA+DBO+K-means聚类,蜣螂优化算法DBO优化K-means,适合学习,也适合发paper。

PCADBOK-means聚类,蜣螂优化算法DBO优化K-means,适合学习,也适合发paper。 一、 蜣螂优化算法 摘要:受蜣螂滚球、跳舞、觅食、偷窃和繁殖等行为的启发,提出了一种新的基于种群的优化算法(Dung Beetle Optimizer, DBO…

应对磁盘管理挑战:Linux磁盘分区挂载命令实践指南

前言 在今天的技术世界中,Linux已成为广泛使用的操作系统之一,而对于运维人员和开发人员来说,磁盘分区挂载是一个至关重要的任务。正确地管理和配置磁盘分区挂载可以极大地提升系统的性能和可靠性,同时也能确保数据的安全性。 通…

初识Netty网络编程

Netty网络编程 对于高并发的Reactor线程模型,Netty是如何支持的? Netty线程模型是基于Reactor模型实现的,对Reeactor三种模式都有非常好的支持,并做了一定的改进,也非常的灵活,一般情况,在服务端…

【BUG 弹药库】二分模板的优化

文章目录 1. 为什么要优化二分算法?2. 如何去优化原来的二分模板?3. 案例分析 1. 为什么要优化二分算法? ① 平常学习的二分整数的算法模板边界的问题很容易出错,不知道什么时候用 l mid,r mid - 1;或者是…

内网渗透小结

域产生原因 简单来说就是为了安全和方便控制域内主机 一个具有一定规模的企业,每天都可能面临员工入职和离职,因此网络管理部门经常需要对域成员主机进行格式化消除磁盘的文件,然后重装系统及软件,以提供给新员工使用&#xff1…

python--剑指offer--中等--07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树: 3/ 9 20 / 15 7 …

Linux 下使用 socket 实现 TCP 客户端

目录 示例代码板级验证更多内容 套接字(socket)是 Linux 下的一种进程间通信机制(socket IPC),它不仅支持同一主机的不同进程间通信,还支持跨网络的不同主机的进程间通信。 socket 允许通过标准的文件描述…

HarmonyOS-鸿蒙系统概述

你了解鸿蒙系统吗? 你看好鸿蒙系统吗? 今年秋季即将推出的HarmonyOS Next 星河版热度空前,一起来了解一下吧。本文将从HarmonyOS 的应用场景、发展历程、架构、开发语言、开发工具、生态建设六个角度聊一聊个人的理解。 1、应用场景 鸿蒙…

C# 打开文件对话框(OpenFileDialog)

OpenFileDialog&#xff1a;可以打开指定后缀名的文件&#xff0c;既能单个打开文件也能批量打开文件 /// <summary>/// 批量打开文档/// 引用&#xff1a;System.Window.Fomrs.OpenFileDialog/// </summary>public void OpenFile(){OpenFileDialog dialog new Op…

Linux中文件和目录管理(创建删除移动复制)

目录 1——一次建立一个或多个目录&#xff1a;mkdir ​2——创建一个空文件&#xff1a;touch 3——移动和重命名&#xff1a;mv 4——复制文件和目录&#xff1a;cp 5—— 删除目录和文件&#xff1a;rmdir和rm 在学习文件与目录的管理的一些命令之前&#xff0c;我们先…

QT5.14.2对象树之魅力 -- 让Qt编程如行云流水

对象编程是现代编程语言中不可或缺的核心理念。在C等编程语言中&#xff0c;对象的生命周期管理一直是开发者头疼的难题。手动管理对象创建和销毁&#xff0c;而一不小心就有可能导致内存泄漏等严重问题。而Qt以其独有的对象树模型&#xff0c;为我们解决了这一烦恼&#xff0c…

并查集(详解+例题)

1、作用 将两个集合合并 询问两个元素是否在一个集合中 2、基本原理 每个集合用一颗树表示。树根的编号就是整个集合的编号。每个节点存储它的父节点&#xff0c;p[x]表示x的父节点。 3、实现 问题1&#xff1a;如何判断树根&#xff1a;if(p[x]x); 问题2&#xff1a;如何求…

WiFi7 MLO技术框架

在2019年7月份&#xff0c;关于WiFi7 MLO的开放式讨论已经基本完成了&#xff0c;关注点集中体现在band steering/balancing和multi band aggregation上面。 英特尔基于开放讨论的基础&#xff0c;提出了MLO的协议技术框架&#xff0c;尽量兼容已有的协议文本&#xff0c;并提…

大数据数据分析-scala、IDEA、jdk之间的搭配关系

Scala主要是一门面向对象编程语言和函数式编程语言。 一、大数据框架&#xff08;处理海量/流式数据&#xff09; - ---以HADOOP 2. x为系列的大数据生态系统处理框架 离线数据分析&#xff0c;分析的数据为N1天数据 -----MapReduce 并行计算框架&#xff0c;分而治之…

C语言基础数据结构——栈和队列

目录 1.栈 1.1栈的选型 1.2 实现代码 2.队列 2.1整体思路 2.2初始化和销毁 2.3出入队列 2.4取队列元素 2.5判断队列是否为空 2.6返回队列中元素个数 2.7 Test 1.栈 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数…

Docker入门二(应用部署、迁移与备份、DockerFile、docker私有仓库、Docker-Compose)

文章目录 一、应用部署1.MySQL部署2.Redis部署3.Nginx部署 二、迁移与备份1.容器做成镜像2.镜像备份和恢复(打包成压缩包&#xff09; 三、DockerFile0.镜像从哪里来&#xff1f;1.什么是DockerFile2.DockerFile 构建特征3.DockerFile命令描述4.构建一个带vim的centos镜像案例5…