K8S常用kubectl命令汇总(持续更新中)
天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
- 1. 命名空间namespace相关
- 1.1 创建命名空间
- 1.2 查询命名空间
- 2. 节点node相关
- 2.1 查看集群节点
- 2.2 查看节点健康状态
- 3. 容器pod相关
- 3.1 查看pods
- 3.2 删除pod
- 3.3 查看pod详细信息
- 3.4 查看pod描述信息
- 3.5 查看deployment的日志信息
- 3.6 查看问题pod
- 3.7 进入pod
- 3.8 退出pod
- 4. 持久化存储pvc相关
- 4.1 查看pvc
- 4.2 删除pvc
- 5. 服务svc相关
- 5.1 查看svc
- 5.2 删除svc
- 6. 查看全部服务
- 7. 部署服务
- 7.1 部署所有yml文件
- 7.2 部署某个yml文件
- 8. 初始化集群主节点命令
- 8.1 配置镜像列表
- 8.2 拉取镜像
- 8.3 初始化kubeadm
- 8.4 其他节点加入集群
- 8.5 生成join命令
- 8.6 重置kubeadm
- 8.6.1 重置kubeadm
- 8.6.2 移除文件
命令中使用到的一些自定义参数表示的含义如下
namespacename 命名空间名称
podname pod的名称
selectorname 指yaml中定义的selector参数的值
pvcname 表示pvc的名称
deploymentname 表示deployment的名称
svcname 表示service的名称
1. 命名空间namespace相关
1.1 创建命名空间
kubectl create namespace namespacename
如创建一个名为ns-sb的命名空间
kubectl create namespace ns-sb
1.2 查询命名空间
查看全部命名空间
kubectl get namespace -A
2. 节点node相关
2.1 查看集群节点
kubectl get nodes
2.2 查看节点健康状态
kubectl get cs
3. 容器pod相关
3.1 查看pods
查看所有pod
kubectl get pod -A
查看指定命名空间中的pod
kubectl get pods -n namespacename
如查看命名空间为ns-sb的所有pod
kubectl get pods -n ns-sb
3.2 删除pod
未设置副本数或者副本数设为0则可用常规删除命令
kubectl delete pod podname -n namespacename
若设置副本数大于等于1时,则需要删除deployment
kubectl delete deployment name -n namespacename
3.3 查看pod详细信息
查看pod的名称、状态、所在集群的ip、所在节点等信息
kubectl get pod -o wide -n namespacename
3.4 查看pod描述信息
查看所有pod的详细信息(包含日志信息)
kubectl describe pod -n namespacename
查看指定pod的详细信息(包含日志信息)
kubectl describe pod podname -n namespacename
3.5 查看deployment的日志信息
查看deployment的日志
kubectl logs deploymentname -n namespacename
3.6 查看问题pod
查看有问题的pod
kubectl get pods -l selectorname -n namespacename
注:selectorname 指yaml中定义的selector参数的值
3.7 进入pod
进入pod
kubectl exec -it podname -n namespacename -- /bin/bash
3.8 退出pod
退出pod
exit
4. 持久化存储pvc相关
4.1 查看pvc
查看全部pvc
kubectl get pvc -A
查看指定命名空间的pvc
kbuectl get pvc -n namespacename
4.2 删除pvc
kubectl delete pvc pvcname -n namespacename
5. 服务svc相关
即查看service
svc是service的缩写,两者都可用
5.1 查看svc
查看全部svc
kubectl get svc -A
查看指定命名空间的svc
kubectl get svc -n namespacename
5.2 删除svc
kubectl delete svc svcname -n namespacename
6. 查看全部服务
查看全部服务,包含可选pvc、deploy、pod、svc等,也可全选,如下
kubectl get pvc,deploy,pod,svc -A
7. 部署服务
7.1 部署所有yml文件
部署所有yml文件
kubectl apply -f .
7.2 部署某个yml文件
如部署当前文件夹gitlab-yaml下的redis.yml文件
kubectl apply -f ./gitlab-yaml/redis.yml
以下为拓展
8. 初始化集群主节点命令
初始化使用的是kubeadm命令
8.1 配置镜像列表
kubeadm config images list
指定版本
kubeadm config images list --kubernetes-version v1.23.0
8.2 拉取镜像
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
8.3 初始化kubeadm
kubeadm init \--apiserver-advertise-address=172.30.0.224 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.23.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--ignore-preflight-errors=all
–apiserver-advertise-address 集群通告地址(master 机器IP,这里用的万兆网)
–image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
–kubernetes-version K8s版本,与上面安装的一致
–service-cidr 集群内部虚拟网络,Pod统一访问入口,可以不用更改,直接用上面的参数
–pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致,可以不用更改,直接用上面的参数
8.4 其他节点加入集群
加入集群节点的命令(包含token)在初始化完成时输出的内容中,复制保存使用即可
kubeadm join 172.30.0.224:6443 --token 4uhwg7.ldccrwsxmplqahbc \--discovery-token-ca-cert-hash sha256:cf6e896414b3d3169774b38f435d7789a1466c83064c173fc56537ba7e949e81
8.5 生成join命令
如果token过期或忘记加入集群的命令,使用以下命令生成新的加入集群命令(包含token)
kubeadm token create --print-join-command
8.6 重置kubeadm
如果初始化失败,或者需要重新初始化,可执行以下两个命令
8.6.1 重置kubeadm
kubeadm reset
8.6.2 移除文件
移除相关文件,不然会重置失败
sudo rm -fr ~/.kube/ /etc/kubernetes/* var/lib/etcd/*
代理访问dashboard
使用该命令可以将dashboard的服务定位到本机的8001端口
kubectl proxy
会输出Starting to serve on 127.0.0.1:8001

然后访问代理地址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
查看访问权限
kubectl auth can-i create deployments --namespace=kubernetes-dashboard
输出yes表示当前用户有权限创建deployments的权限,如果是no则表示没有权限

删除pod
感谢阅读,祝君暴富!
相关文章:
K8S常用kubectl命令汇总(持续更新中)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
加密和签名的区别及应用场景
原文网址:加密和签名的区别及应用场景_IT利刃出鞘的博客-CSDN博客 简介 本文介绍加密和签名的区别及应用场景。 RSA是一种非对称加密算法, 可生成一对密钥(私钥和公钥)。(RSA可以同时支持加密和签名)。 …...
双非二本找实习前的准备day3
学习目标: 每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了 今日碎碎念: 1)偶尔还是贪玩游戏&…...
又挖到宝了!国人团队研发的AI视频工具PixVerse,这么好用居然还完全免费!(强烈推荐)
昨天发了一款国产免费的 AI 绘画工具 Dreamina 的介绍: 居然才发现!字节跳动旗下国产AI绘画工具Dreamina,这么好用居然还免费!(强烈推荐) 发现大家对国产 AI 工具还挺感兴趣的。今天继续帮大家挖国产的 A…...
勒索病毒普通用户防范建议
勒索病毒普通用户防范建议 定期备份存储在计算机上的数据,这样勒索软件感染不会永远破坏您的个人数据。 最好创建两个备份副本:一个存储在云中(记住使用一个自动备份文件的服务),另一个物理存储(便携式硬…...
Zabbix“专家坐诊”第231期问答
问题一 Q:用docker-compose部署zabbix,部署完后如果要修改zabbix的配置应该要改docker-compose文件里的环境变量吧?改了环境变量之后只能重建容器才能生效吗?能不能在不影响已经配好的那些监控项的情况下让新的环境变量生效&#…...
【.NET Core】深入理解IO - FileSteam流
【.NET Core】深入理解IO - FileSteam流 文章目录 【.NET Core】深入理解IO - FileSteam流一、IO流概述二、文件流FileStream2.1 FileStream概述2.2 FileStream检测流位置更改2.3 FileStream构造函数2.4 FileStream常用属性2.5 FileStream.Read方法2.6 FileStream.Write方法2.7…...
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码 1、进文件 vi /etc/my.cnf2、加skip-grant-tables设置跳过密码 在[mysqld]下面加 skip-grant-tables3、mysql -u root -p直接回车无密码进去mysql mysql -u root -p3、先更新,不执行这…...
深度学习 精选笔记(8)梯度消失和梯度爆炸
学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…...
linux操作docker
docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…...
k8s Pod 进阶(资源限制,健康检查探针详解,启动退出,pod生命周期,)
目录 资源限制 查看资源控制字段 Pod 资源限制方式 Pod 和容器中定义资源请求和限制的具体字段 CPU资源单位 内存资源单位 示例 健康检查(探针) 探针的三种规则 存活探针(Liveness Probe) 就绪探针(Readines…...
SpringBoot整合ActiveMQ步骤
SpringBoot整合ActiveMQ主要涉及以下几个步骤: 添加依赖:在SpringBoot项目的pom.xml文件中添加ActiveMQ的依赖。 <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-spring</artifactId><ver…...
MySQL的单表和多表查询
我们在前面曾构建过三个用于实验的表格,下面将基于这三个表进行实践。 # 建立一个用于实验的三个表格 mysql> create table emp (-> empno varchar(10),-> ename varchar(50),-> job varchar(50),-> mgr int,-> hiredate timestamp,-&…...
攻防世界例题wp
1.看到_wakeup()函数第一反应要么触发,要么绕过在这里绕过 2.构造payload实例化一个对象后反序列化 3构造脚本如下: 4.因为它是一个绕过的方法所以我们要使用绕过的方法。 5.继续构造payload将上图的1换成2进行绕过 最终的payload为 O:4:"xctf…...
仿牛客网项目---显示评论和添加评论功能的实现
这篇文章,我来介绍一下我的项目中的另外一个功能:显示评论和添加评论。 其实这两个功能都不怎么重要,我感觉最重要的应该是用户注册登录功能,这个也了解一下,知道这么一回事儿就好。 首先设计DAO层。 Mapper public …...
idea集成git详解教程(实用篇)
0.Git常用命令 Git常用命令-CSDN博客 1.下载git Git - Downloads 一路傻瓜式安装即可(NEXT) 2.软件测试 在Windows桌面空白处,点击鼠标右键,弹出右键菜单 Git软件安装后,会在右键菜单中增加两个菜单 Git GUI He…...
搭建LNMP环境并配置个人博客系统
LNMP是Linux(操作系统)、Nginx(Web服务器)、MySQL(数据库)和PHP(脚本解释器)的组合,常用于部署高性能的动态网站,如WordPress等博客平台 一、安装Linux操作系…...
为什么网络安全缺口这么大,还是这么缺网络安全工程师?
为啥网安领域缺口多达300多万人,但网安工程师(白帽黑客)却很少,难道又是砖家在忽悠人??? 主要原因为这三点: 首先是学校的原因,很多学校网络安全课程用的还都是十年前的老教材&…...
创新洞察|诺奖获得者埃德蒙·费尔普斯谈未来:中国创新从何而来?
当下,全球宏观经济形势正在发生深刻变化,以创新推进高质量发展被推向前所未有的高度。作为多年与中国经济结伴而行的经济学家、2006年诺贝尔经济学奖得主,埃德蒙费尔普斯认为:创新无处不在,而中国人具有巨大的创新活力…...
SpringMVC 学习(六)之视图
目录 1 SpringMVC 视图介绍 2 JSP 视图 3 Thymeleaf 视图 4 FreeMarker 视图 5 XSLT 视图 6 请求转发与重定向 6.1 请求转发 (Forward) 6.2 重定向 (Redirect) 7 视图控制器 (view-controller) 1 SpringMVC 视图介绍 在 SpringMVC 框架中,视图可以是一个 J…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...
2025.6.9总结(利与弊)
凡事都有两面性。在大厂上班也不例外。今天找开发定位问题,从一个接口人不断溯源到另一个 接口人。有时候,不知道是谁的责任填。将工作内容分的很细,每个人负责其中的一小块。我清楚的意识到,自己就是个可以随时替换的螺丝钉&…...
鸿蒙Navigation路由导航-基本使用介绍
1. Navigation介绍 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(Nav…...
