K8S日常运维手册
Kubernetes(简称 K8S)是一种广泛使用的容器编排平台,能够自动化部署、扩展和管理容器化应用。对于运维人员来说,掌握 Kubernetes 的日常运维技能是确保系统稳定运行的关键。本文将介绍一些 Kubernetes 日常运维的基本操作与技巧,帮助你更好地管理和维护你的 Kubernetes 集群。
1. 集群健康检查
1.1 查看节点状态
确保所有节点都正常运行是 Kubernetes 运维的基础。使用以下命令可以查看节点的状态:
kubectl get nodes
输出示例:
sh
NAME STATUS ROLES AGE VERSION
node1 Ready master 10d v1.20.2
node2 Ready <none> 10d v1.20.2
node3 Ready <none> 10d v1.20.2
1.2 检查系统组件状态
系统组件(如 kube-apiserver、kube-scheduler 等)的健康状况也非常重要。可以通过以下命令查看:
kubectl get componentstatuses
输出示例:
sh
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true"}
2. 日志管理
2.1 查看 Pod 日志
当某个应用出现问题时,查看 Pod 的日志是定位问题的第一步。使用以下命令可以查看某个 Pod 的日志:
kubectl logs <pod-name>
如果 Pod 有多个容器,可以指定容器名称:
kubectl logs <pod-name> -c <container-name>
2.2 实时查看日志
可以使用 -f 选项实时查看日志输出:
kubectl logs -f <pod-name>
3. 资源管理
3.1 扩展/缩减 Deployment
根据业务需求,可能需要动态调整应用的副本数。可以使用以下命令扩展或缩减 Deployment:
sh
kubectl scale deployment <deployment-name> --replicas=<number>
3.2 更新镜像
当需要更新应用镜像时,可以使用以下命令:
sh
kubectl set image deployment/<deployment-name> <container-name>=<new-image>
4. 备份与恢复
4.1 备份 ETCD 数据
ETCD 是 Kubernetes 的数据存储核心,定期备份 ETCD 数据是非常重要的。可以使用以下命令备份 ETCD 数据:
sh
ETCDCTL_API=3 etcdctl snapshot save <backup-file>
4.2 恢复 ETCD 数据
如果出现数据丢失或损坏情况,可以使用以下命令恢复 ETCD 数据:
sh
ETCDCTL_API=3 etcdctl snapshot restore <backup-file> --data-dir /var/lib/etcd
5. 安全管理
5.1 创建 RBAC 角色和绑定
Kubernetes 使用 RBAC(基于角色的访问控制)来管理权限。以下是创建一个新角色及其绑定的示例:
创建角色:
yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: defaultname: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]
创建角色绑定:
yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-podsnamespace: default
subjects:
- kind: Username: "user1"apiGroup: rbac.authorization.k8s.io
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io
应用配置:
sh
kubectl apply -f role.yaml
kubectl apply -f rolebinding.yaml
结论
Kubernetes 日常运维涉及多个方面,从集群健康检查、日志管理、资源管理,到备份恢复和安全管理,每一个环节都至关重要。希望本文提供的操作指南能帮助你更高效地进行 Kubernetes 集群的日常运维工作。
记得定期更新你的 Kubernetes 版本,并关注官方更新的最佳实践,以确保你的集群安全、稳定地运行。
相关文章:
K8S日常运维手册
Kubernetes(简称 K8S)是一种广泛使用的容器编排平台,能够自动化部署、扩展和管理容器化应用。对于运维人员来说,掌握 Kubernetes 的日常运维技能是确保系统稳定运行的关键。本文将介绍一些 Kubernetes 日常运维的基本操作与技巧&a…...
现在的Java面试都这么扯淡了吗?
在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」, 点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!开发兼过半年面试官 刚开始…...
安全加固 MariaDB 和 MySQL 数据库
安全加固 MariaDB 和 MySQL 数据库 在今天的网络环境中,保护数据库安全至关重要,特别是像 MariaDB 和 MySQL 这样的流行数据库。本文将介绍一些关键的安全加固步骤,以确保数据库系统的安全性和稳定性。 1. 数据库版本和基础设置 首先&…...
【计算机毕业设计】167校园失物招领微信小程序
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...
yum的概念、相关命令、ftp http部署步骤;NFS共享文件操作步骤
目录 yum 配置文件 缓存功能操作步骤 创建并配置本地仓库文件 yum相关命令 yum install __ yum repolist yum list __ yum info __ yum search __ yum whatprovides __ yum remove __ yum -y update __ yum history yum grouplist yum groupinstall "__&q…...
Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层
借助Spire.PDF,我们可以在新建或现有pdf文档的任意页面中添加线条、图像、字符串、椭圆、矩形、饼图等多种图层。同时,它还支持我们从pdf文档中删除特定图层。 Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PD…...
【c语言】二级指针
1,定义 本质还是从指针的角度去理解,只不过存的指针的值 2,使用方法...
心理健康测试系统设计
心理健康测试系统设计需要综合考虑多个方面,以确保系统的准确性、易用性和有效性。以下是一个心理健康测试系统设计方案: 一、设计目标 准确性:确保测试结果能够准确反映被测者的心理健康状况。 易用性:设计简洁明了的界面和操作…...
webcomponents学习
一、新建index.html文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title>…...
2024会展行业发展趋势预测
在当今这个数字化浪潮汹涌的时代,会展行业也迎来了自己的变革时刻。 根据《2023中国会展主办机构数字化调研报告》,我们可以清晰地看到几个显著的趋势: 首先,数字化转型已经不再是一道选择题,而是必答题。 超过90%的…...
达梦(DM8)数据库备份与还原(逻辑备份)二
一、达梦数据库的逻辑备份分四种级别的导出(dexp)与导入(dimp)的备份 第一种是:数据库级:导出或导入数据库中所有的对象。主要参数是:FULL 第二种是:用户级别:导出或导…...
ThreeJS-截屏下载pdf或者图片时白屏
JS-页面截图下载为pdf 关于如何下载为 pdf 在上面的这篇文章中有写,大家可以看下,下载图片代码在最下面 这时我们发现 three 部分是空白的如下: 这就多少有点尴尬了,这时我们习惯性的看下后台报错 是不是发现了惊喜,…...
redis以后台的方式启动
文章目录 1、查看redis安装的目录2、Redis以后台的方式启动3、通过客户端连接redis4、连接后,测试与redis的连通性 1、查看redis安装的目录 [rootlocalhost ~]# cd /usr/local/redis/ [rootlocalhost redis]# ll 总用量 112 drwxr-xr-x. 2 root root 150 12月 6…...
力扣随机一题 哈希表 排序 数组
博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 2491.划分技能点相等的团队【中等】 题目: 给你一个正整数数组…...
昇思25天学习打卡营第01天|基本介绍
作为曾经的javaer,本着不断学习的初心,报名了昇思25天的课程,希望自己能学会点东西的目的。 昇思MindSpore介绍 昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。 其中,…...
问题:1、金属基复合材料界面的物理结合是指 #学习方法#媒体
问题:1、金属基复合材料界面的物理结合是指 A.与化学作用有关,既有化学键力存在,又有范德华力存在 B.是一种纯的物理作用,与化学作用无关,即无化学键力存在,但有范德华力存在 C&a…...
突发!OpenAI停止不支持国家API,7月9日开始执行
6月25日凌晨,有部分开发者收到了OpenAI的信,“根据数据显示,你的组织有来自OpenAl目前不支持的地区的API流量。从7月9日起,将采取额外措施,停止来自不在OpenAI支持的国家、地区名单上的API使用。” 但这位网友表示&am…...
大数据集群数据传输
简单的服务器间的通信示例 netcat,简写为 nc,是 unix 系统下一个强大的命令行网络通信工具,用于在两台主机之间建立 TCP 或者 UDP 连接,并提供丰富的命令进行数据通信。nc 在网络参考模型属于应用层。使用 nc 可以做很多事情&…...
css-vxe列表中ant进度条与百分比
1.vxe列表 ant进度条 <vxe-column field"actualProgress" title"进度" align"center" width"200"><template #default"{ row }"><a-progress:percent"Math.floor(row.actualProgress)"size"s…...
网络协议TCP/IP, HTTP/HTTPS介绍
TCP/IP协议 TCP/IP是一种基于连接的通信协议,它是互联网的基础协议。TCP代表传输控制协议,IP代表Internet协议。虽然这两个协议通常一起提及,但它们实际上是分开的:IP负责在网络中从一台计算机向另一台计算机发送数据包࿰…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
