自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小鲸鱼大梦想

心怀若谷,无风自渡

  • 博客(119)
  • 收藏
  • 关注

原创 k8s集群部署 | 二进制三节点(复用)高可用集群部署过程

OS 版本:CentOS Linux release 7.9.2009 (Core)初始内核版本:3.10.0-1160.71.1.el7.x86_64配置信息:2C2G 150G硬盘文件系统:xfs网络:外网权限k8s 版本:1.25.9。

2023-05-10 09:04:23 795 1

原创 k8s集群部署 | 三节点(复用)高可用集群过程参考

自我环境的一个可用于生产环境的高可用k8s集群,三master节点复用,记录了搭建过程

2023-05-08 11:01:30 2192 1

原创 使用 pigz 多线程特性提高解压缩速度

通过 pigz 方式加速打包通过传统 tar 方式进行压缩打包通过 pigz 方式加速打包感觉也不是很快,不过我在生产环境实际操作的时候,要快得多,验证的时候可能还有其他因素影响了

2024-01-29 10:18:20 214

原创 k8s 进阶实战笔记 | 应用的蓝绿、金丝雀发布笔记

金丝雀发布就是先发一个新版应用,但是是一个小比例范围,也叫灰度测试,如结果灰度测试通过,就把其余的v1版本全部替换程v2版本。如果测试没通过,就直接回退。副本集一起Terminating,一起Pending,一起ContainerCreating,一起Running。RollingUpdate:默认滚动升级,不停机升级策略。Recreate:同时删除所有副本,停机升级策略。接下来我们修改一下镜像版本,进行停机更新升级。灰度测试成功,我们逐渐将流量切入过去即可。存在某个时间段服务不可用。

2024-01-29 10:10:37 746

原创 k8s 进阶实战笔记 | Scheduler 调度策略总结

Scheduler一直监听着 api-server,如果获取到Pod.Spec.NodeName为空,会对每一个pod创建一个binding,表示放在哪一个节点上运行把 pod 按照预设的调度策略分配到集群的节点上公平资源高效利用效率灵活调度过程预选(predicate过滤步满足条件的节点PodFitsResources :节点上剩余的资源是否大于pod 请求的资源PodFitsHost :如果pod 指定了NodeName,检查节点名称是否和NodeName匹配。

2024-01-27 08:52:21 1678

原创 docker 构建应用

构建上下文以递归方式处理,本地路径包括其中的任何子目录,URL 包括仓库及其子模块

2024-01-26 20:39:50 1141 1

原创 docker 存储管理

存储驱动由存储驱动实现的联合文件系统外部挂载卷以外部挂载卷为代表的持久化存储存储驱动控制镜像和容器在 docker 主机上的存储和管理方式联合文件系统Union file systems (UnionFS),为Linux、FreeBSD、NetBSD 操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统,是 docker 重要的底层技术之一,可以通过创建层进行操作,轻巧和快速。联合文件系统的多种变体存储驱动联合文件系统实际是由存储驱动来实现的----》底层文件系统backing filesystem

2024-01-26 20:33:11 1104

原创 k8s 进阶实战笔记 | Pod 创建过程详解

kube-proxy 组件会为新创建的pod注册动态DNS到CoreDNS,给pod的svc添加iptables规则,用于服务发现和负载均衡,controller 会通过控制循环将当前 pod 状态与用户所期望状态一直对比,如果状态不同,则会修改为用户期望状态,亦或者删除重新创建pod。机制检查到新的部署信息,将部署信息加入内部工作队列,然后检查发现资源没有关联的 pod 信息等资源,启动对应的控制器创建相关资源,然后将这些创建的部署资源信息上报给 api-server。kubelet也是通过。

2024-01-26 14:16:27 371

原创 Markdown 基本语法

标识符:4个空格或者一个Tab键(难懂,好像编辑器有些不支持)也可以用 ```包裹一段代码,并且指定一种语言,也可以不指定。Typora这个支持就很好,直接右键新建表格即可。没有特殊的格式,直接编写文字即可,段落换行在。如果需要指定图片的高度与宽度,只能采用普通的。中直接回车即可或者2个以上空格加上回车。标识符:*、+、-再加空格都可以表示。下面的图片进行缩放处理,只能这样表示。标识符:文字两端加2个波浪线即可。标识符:`` 中间件加代码即可。分割不同的单元格,使用。符号加空格,可以嵌套。

2024-01-25 13:26:31 898

原创 docker 网络管理

docker 引擎默认生成的网桥信息:172.17.0.1/16在 /etc/docker/daemon.json 配置文件中指定可以使用 docker 网络驱动或外部网络驱动插件创建一个自定义的网络,多个容器连接到这个自定义的网络中,这样连接的容器可以使用IP通信,也可以使用名称通信docker 内置了bridge网络驱动的可以直接创建桥接网络生产环境不建议使用默认的桥接网络区别自定义提供了容器化应用之间更好的隔离和互操作性,自动互相暴露所有端口,但是不会暴漏在外部。

2024-01-25 09:33:00 1219

原创 docker 容器管理

命令语法:docker run [选项] 使用的镜像 [启动命令] [启动命令的参数]简称:CoW,又被叫做写时复制,是一个最高效率的文件共享和复制策略。基于 docker 的虚拟化应用以容器的形式来部署和运行。基于容器创建镜像:基于源镜像层数内容+容器可写层内容。-a:显示所有容器,包括停止和未运行的。–no-trunc:显示完整的容器信息。我猜想是:容器启动命令后,产生的日志。:显示当前主机正在运行的容器列表。容器=只读的镜像+可写的容器层。-n:显示最近创建的n个容器。:创建容器,但是不会运行。

2024-01-25 09:28:15 1082

原创 docker 镜像管理

默认使用 Dockerfile 文件来描述镜像,Docker 引擎通过读取文件中的指令自动构建镜像。IT 领域,镜像通常是指一系列文件或一个磁盘驱动器的精确副本,和 ZIP 压缩文件类似。【复制管理】:新建规则(每个选项都有一定的说明,根据实际情况选择即可)harbor实例复制到另一个 harbor 实例的过程。列出当前 Docker 主机所拥有的镜像列表。:也就是个镜像重命名一下,不影响原来的镜像。:可以搜索DockerHub中的镜像。创建修改 Harbor 证书请求文件。可以根据镜像的公开程度。

2024-01-24 13:27:04 1269

原创 docker 基础手册

原意“码头工人”,开发人员将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何运行容器引擎的环境中,以容器形式运行该应用程序

2024-01-24 11:42:49 1116

原创 Linux 性能分析笔记:平均负载的理解

uptime 命令所展示的平均负载分别为过去的1分钟、5分钟、15分钟的负载值,从这几个趋势值就可以的出来。服务器准备:stress(压力测试工具)、sysstat包(包含了Linux性能工具)

2023-09-23 17:54:14 221

原创 从0搭建夜莺v6基础监控告警系统(三):告警对接企业微信

告警规则通知模板从实验结果来看,最好提前配置告警人员信息后再进行告警规则的克隆或者生成官方自带的一些基础告警规则已经足够平常使用了,这对于基础监控,已经足够了,后续我将解锁一些更多的玩法玩法的第一阶段暂时就这样了。

2023-09-19 13:20:11 885

原创 从0搭建夜莺v6基础监控告警系统(二):采集数据、打通夜莺显示

使用 categraf 采集器来进行数据采集,然后推数据给夜莺,夜莺转存到时序库,并且后续对这些数据做可视化、告警等。首次只需要打通时序数据库与夜莺v6的连接,后续需要监控的主机只需要安装采集器 Categraf 即可Categraf 项目简介官方操作手册被监控主机的采集器可以使用脚本统一安装,这样方便一点下阶段只需要打通一下企业微信监控报警就稍微完美,实现了基础数据的监控报警。

2023-09-19 08:44:40 587

原创 从0搭建夜莺v6基础监控告警系统(一):基础服务安装

项目介绍架构介绍仪表盘黄埔营培训计划相关信息介绍Categraf 项目简介整个过程核心安装包都是采用二进制部署文件,适用于各种x86服务器操作系统,很轻便官方推送使用的时间序列数据库:VictoriaMetrics,相比之 Prometheus,性能较好,CPU、内存的占用较少,而且完全是兼容 Prometheus 的查询接口各服务和需要监控主机的节点都是需要配置时间同步服务的,这很重要采集器选择的是:Categraf;采用 All-in-one 的设计,更加方便管理。

2023-09-18 19:15:44 740

原创 【每日运维】文件系统损坏:shutting down filesystem

每日运维】文件系统损坏:shutting down filesystem。

2023-09-18 10:18:22 201

原创 Mysql 入门篇之二进制安装

环境说明:CentOS Linux release 7.6.1810 (Core) 4核4G。环境说明:CentOS Linux release 7.6.1810 (Core) 4核4G。

2023-09-08 21:59:53 487 1

原创 nginx 配置中 root 与 alias 关键字区别

今天在客户现场帮助调试的时候,发现配置了一个nginx的location块一直访问不到,之前一直没注意这地方的区别,所以有了这个记录过程。

2023-09-07 13:02:15 212

原创 【每日运维】U盘启动盘安装 ESXi 6.7.0 安装卡在 loading /bnxtroce.v00

ESXi 6.7.0 安装进度卡在loading /bnxtroce.v00 进度处

2023-09-04 18:43:17 1039

原创 【每日运维】RockyLinux8.6升级OpenSSH9.4p1

整个安装过程会擦除掉以前所有ssh相关信息和配置,需要注意这一点这可能作为一个通用的升级验证过程,以前总是各种编译安装openssh,各种依赖也不好解决如果没法直接控制台操作服务器,可以安装telnet工具,临时采用不安全连接方式进行升级openssh对上述验证过程中升级的各种底层依赖包,不知道是否有风险,所以最好还是在升级之前做好虚拟机快照备份。

2023-09-02 15:32:26 899 2

原创 【每日运维】RockyLinux8非容器化安装Mysql、Redis、RabitMQ单机环境

系统版本:RockyLinux 8.6安装方式:非容器化单机部署安装版本:mysql 8.0.32 redis 6.2.11 rabbitmq 3.11.11 elasticsearch 6.7.1前置条件:时间同步、关闭selinux、主机名、主机解析host环境说明:PC电脑+VMware Workstation。

2023-07-24 10:18:05 1067

原创 【每日运维】给你的vim自动加shell脚本头部

【代码】【每日运维】给你的vim自动加shell脚本头部。

2023-07-22 14:42:42 138

原创 【每日运维】判断服务器时间同步是否正常

这个命令将会列出 chronyd 使用的时间源和相关的详细信息,检查输出,确保时间源的状态是 ^* 或 ^+,表示该时间源被 chronyd 标记为首选或备选源,并且已经成功同步。

2023-07-21 13:27:36 486

原创 【每日运维】大文件的分割与合并

特殊单位需要将文件刻盘带入,并且刻盘有大小限制,所以有了这个需求。需要将一个按照100M分割后刻盘导入。

2023-07-17 18:20:36 315

原创 RabbitMQ 运维备忘录(一)

消息队列中间件(Message Queue Middleware,简称为 MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

2023-05-18 14:35:53 734

原创 k8s学习之路 | k8s 工作负载 Job

参考官网:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/依然存在,完成的 Job 通常不需要留存在系统中,在系统中一直保留它们会给 API 服务器带来额外的压力。在绝大多数场合,你都不需要为其赋值。Job 负载资源会创建一个或者多个。描述了任务执行的具体情况信息。的执行,直到指定数量的。还是老办法,官网说明加。发现 Job 完成以后,

2023-03-16 21:42:22 1147

原创 k8s学习之路 | k8s 工作负载 StatefulSet

是用来管理有状态应用的工作负载 API 对象,也是一种工作负载资源有状态和无状态无状态应用:当前应用不会记录状态(网络可能会变、挂载的东西可能会变、顺序可能会变)有状态应用:需要记录当前状态(网络不变、存储不变、顺序不变)sts管理某一类Pod集合的部署喝扩缩给这一类Pod提供持久存储和持久标识符对比 deploy都是管理着有相同容器规约的一组Podsts给这些Pod维护了一个有粘性的 ID,虽然这些Pod都是基于相同的规约来创建的,但是不能相互替换,不管怎么调度,每个Pod。

2023-03-12 16:17:06 1115 2

原创 k8s学习之路 | k8s 工作负载 DaemonSet

DaemonSet工作负载,确保了全部(某一些)节点运行一个Pod副本如果有节点加入集群,自动为该节点新增一个Pod如果有节点从集群中移除,该节点上的Pod就会被回收删除工作负载DaemonSet就会删除它创建的所有节点的Pod。

2023-03-09 20:45:29 1424

原创 k8s学习之路 | k8s 工作负载 ReplicaSet

虽然 RS 强大,但是我们也不直接写 RS;而是使用更多特性的 Deployment,Deployment 会自动产生 RS。

2023-03-07 20:31:15 1464 1

原创 k8s学习之路 | Day20 k8s 工作负载 Deployment(下)

有很多度量指标,参考最新版本的地址:https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics。你可以对其执行扩缩容、回滚到以前的修订版本等操作,或者在需要对 Deployment 的 Pod 模板应用多项调整时,将 Deployment 暂停。默认情况下,此值为 10。

2023-03-06 21:42:48 893 3

原创 k8s学习之路 | Day19 k8s 工作负载 Deployment(上)

Deployment属于k8s中的一种工作负载资源,一个Deployment为Pod和ReplicaSet我们只需要描述Deployment中的目标状态Deployment控制器以受控的速率(不间断)更改实际状态,使其变成我们所描述的目标期望状态(控制循环Deployment使Pod有自愈能力我们部署应用一般不会直接写Pod,而是部署一个Deployment。

2023-03-04 22:34:32 877 5

原创 Docker 数据迁移

docker存储目录磁盘空间不够了,需要迁移到新的磁盘。

2023-03-03 22:26:34 200

原创 k8s学习之路 | Day18 Pod 基础

Pod是可以在 k8s 中创建和管理的、最小的可部署的计算单元Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。

2023-03-02 12:50:04 554

原创 Ubuntu 18.04.6 LTS 服务版安装参考

磁盘分区类型1:系统自动布局磁盘分区,可选择是否使用LVM进行管理,一般不会选择加密磁盘分区类型2:【Custom storage layout】自定义存储布局自定义分区步骤参考进入自定义存储布局的界面:选择【Custom storage layout】后【Done】先设置boot,选中磁盘后,进行操作【Use As Boot Device】分1G给/bootswap 分区给3G剩下的通过LVM给根目录先将剩下的空间创建一个未格式化的分区​ 再通过LVM最终的一个分区效果。

2023-03-01 15:35:36 2417

原创 k8s学习之路 | Day17 k8s 工作负载

官方参考链接:https://kubernetes.io/docs/concepts/workloads/podsPodcontainers工作负载是在 k8s上运行的应用程序相对来说,一个应用程序又很复杂,可能由一个或者多个组件共同协同完成,这种情况我们都可以用一组Pod来表示一个应用,也就是一个工作负载之前我们学到的内容来看,Pod遵循预定义的生命周期,如果Pod所在节点出现致命错误,该节点上所有的Pod状态都会失败,即使这个节点恢复正常了,也是需要创建新的Pod来恢复应用打个比方。

2023-02-28 21:03:12 703

原创 k8s学习之路 | Day16 k8s 中的容器初探

k8s 集群中最小的管理单元就是一个Pod,而Pod里面才是容器,但是容器里面到底应该怎么写yaml呢?这个就是我今天学习的目标Pod。

2023-02-27 17:18:11 1192

原创 负载均衡:LVS 负载调度原理

数据包走向原理说明:客户端请求数据包报文源地址和目标地址:CIP、VIP负载均衡将客户端请求数据包报文的源 MAC 地址改为自己 DIP 的 MAC 地址,目前 MAC 地址改为 RIP 的 MAC 地址,并将这个数据包发送给后端服务器后端服务器和负载均衡服务器只能在一个局域网内,不能跨 VLAN后端服务器直接获取的是客户端的源IP地址后端服务器发现请求的数据包报文中的目标地址的 MAC 是自己,就接收了这个数据包,由于数据包的 MAC 地址被修改,因此后端服务器需要在 lo 网口绑定 VIP,处理完报文后

2023-02-26 10:50:13 742

原创 k8s学习之路 | Day15 k8s 中的 yaml 语法

来自百度百科的定义:YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。

2023-02-25 20:59:52 1080

RockyLinux8.6操作系统的openssh9.4p1的离线RPM升级包

升级步骤: 1. 控制台或者telnet操作卸载自带的低版本openssh服务 2. 安装所有的依赖rpm包 3. 安装最新版本的openssh安装包 4. 配置ssh配置文件 5. 重启后验证是否生效 6. 适用于标准的RockyLinux8.6操作系统 7. 可配置博客文章进行升级处理:http://t.csdn.cn/A6nXQ 8. 这可能成为一个通用的升级方案,可以看下上述相关博客地址 9. 更多注意事项,也可以参考博客描述 10. 祝君安好,永不宕机

2023-09-02

centos7.9最小化系统 基础软件离线RPM包(gcc gcc-c++ make等等)

1.此离线安装包包括了:device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl- devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack telnet ipvsadm 工具 2.rpm -Uvh *.rpm 即可 3.安装环境适用于centos7.9最小化系统

2023-02-05

分析swap空间使用的前10进程

统计各进程的swap使用情况 显示swap空间使用的前10进程后删除相关临时文件

2023-02-04

镜像仓库harbor安装包(注意版本号!)

镜像仓库harbor安装包(注意版本号!)

2023-02-02

NFS服务端/客户端+RPM离线包+CentOS7.9环境

NFS服务端/客户端+RPM离线包+CentOS7.9环境

2023-02-02

GCC编译环境+RPM离线包+CentOS7.9最小化环境安装

GCC编译环境+RPM离线包+CentOS7.9最小化环境安装

2023-02-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除