自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 k8s(12) — 版本控制和滚动更新(金丝雀部署理念)

和为 Kubernetes 滚动更新提供了灵活的控制机制,特别适合需要精细验证或调整的生产环境。通过暂停更新,你可以在关键阶段进行人工干预,确保变更安全;通过恢复更新,你可以继续完成变更流程,实现平滑过渡。合理使用这两个命令,有助于提升集群稳定性和发布效率。

2025-05-15 11:02:16 1193 1

原创 k8s(11) — 探针和钩子

钩子(Hooks):它是与容器生命周期特定阶段相关联的回调机制。主要用于在容器启动后或者停止前执行特定操作,比如初始化配置、清理资源等,让用户能够自定义容器生命周期中的行为。探针(Probes):这是 Kubernetes 用来检查容器健康状况的一种机制。其目的在于判断容器是否正常运行、是否准备好接收流量,从而确保应用的可用性和可靠性。只有当启动探针状态正常后才会去执行存活探测和就绪探针,当yaml中全部定义3中类型的探针时需要所有的探针都探针成功pod才能处于正常被调度的状态。

2025-05-08 19:26:37 1114

原创 Nginx — 防盗链配置

通过目录访问限制的方法可以将不同的资源放到对应的目录下这样可以实现对资源的控制统一控制。三、第三方模块ngx_http_accesskey_module 补充?

2025-05-03 21:48:48 856

原创 Nginx — 跨域问题演示以及解决方法

同源是指两个 URL 的协议、域名、端口号都相同。因为它们都使用 HTTP 协议,域名都是,且端口号都采用了 HTTP 协议的默认端口号 80(在 URL 中未显式指定时默认使用 80 端口)。:协议为 HTTPS,与前面的 HTTP 协议不同。:域名是,与不同。:指定了端口号 8080,与默认的 80 端口不同。同源策略是浏览器安全的基石,它限制了不同源的文档或脚本之间的交互,防止恶意网站通过脚本访问其他网站的敏感信息,从而保护用户的隐私和数据安全。

2025-05-03 11:34:31 1471

原创 Nginx — http、server、location模块下配置相同策略优先级问题

配置在http块下配置日志http {...#配置日志...server {............server配置server {#这里设置内部重定向,将http开头的请求重定向到根目录下# 开启目录列表展示功能# 以可读格式显示文件大小# 以本地时间显示文件修改时间server {listen 80;# 替换为你的域名gzip on;#配置日志# 网站根目录,即要暴露内容的目录。

2025-04-30 22:47:54 756

原创 k8s(10) — 指定pod运行在固定的节点上

正常情况下,创建 6 个副本,应该是两个节点进行平分,因为我们指定了具体的运行节点,所以全部在 node1 上进行了创建。将node1上的k8s服务关掉模拟node1故障,再次部署上述清单,查看是否会调度在其他的节点上。查看到pod处于Pending状态。

2025-04-28 21:39:21 434

原创 k8s(9) — zookeeper集群部署(亲和性、污点与容忍测试)

在 Kubernetes(K8s)里,(PDB)是一种非常重要的资源对象,它主要用于保障应用的高可用性,避免因计划内的中断(比如节点维护、集群升级等)而导致过多的 Pod 同时被终止。下面为你详细介绍。

2025-04-25 20:02:00 949

原创 Nginx — nginx.pid打开失败及失效的解决方案

1.1.2.1 情况一:如果出现端口被占用表示nginx的进程还在,如过需要重新reload nginx 则将主进程中的pid,加到nginx.pid文件中。nginx: [emerg] bind() to 0.0.0.0:8080 failed (98: Address already in use) #端口被占用说明进程存在#步骤一:查看主进程的pid[root@master conf]# ps -ef | grep nginx #查看主进程的pid。

2025-03-30 21:28:58 554

原创 Nginx — Nginx日志割切(定时)

在实际运营过程中,业务访问量是很大的,如果某一客户出现了访问失败的问题需要对其访问的内容进行分析,如果不对nginx的日志进行割切回到导致日志量过大查询时的效率变低,再者nginx产生的日志量时很大的如果不按时清理数据则会导致系统的存储资源的浪费。

2025-03-30 21:20:32 333

原创 Nginx — Nginx处理Web请求机制解析

假设一个client在进行请求的时候由worker1来进行处理,在处理的过程中用时比较长而且卡住了,客户端的请求就会被阻塞,假设在阻塞的过程中又有新的请求进来(假设client2、client3也同时连接到worker)要去处理。用到的模型为epoll,(如果用到epoll那么一个worker进程可以处理6~8w的请求量,并且不会产生很多的开销),那么需要越高的并发量只需要增加服务器的配置就可以了(有钱解决)。的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。

2025-03-30 21:07:42 941

原创 Nginx—nginx.conf 配置结构详解

HTTP相关的配置放在:/usr/local/nginx/conf/conf.d/http 目录下TCP相关的配置放在:/usr/local/nginx/conf/conf.d/tcp 目录下user root;events {...#TCP相关配置(不能放在下边的HTTP模块中不然会报错);这里的include是指包含/usr/local/nginx/conf/conf.d/tcp路径下所有的.conf。http {...#HTTP相关配置(需要放在HTTP模块中不然会报错);

2025-03-30 20:42:40 2171

原创 Nginx — Nginx版本升级

【代码】Nginx — Nginx版本升级。

2025-03-30 19:57:06 648

原创 Nginx — Nginx安装证书模块(配置HTTPS和TCPS)

当使用 Nginx 时遇到 400 错误(Bad Request),意味着客户端发送的请求存在问题,Nginx 无法理解该请求。上述配置将最大请求头缓冲区数量设置为 4,每个缓冲区大小为 8KB。分别配置没有证书(TCP)和有证书(TCPS)场景。浏览器输入:192.168.72.130。继续以HTTP访问出现400报错。

2025-03-30 19:47:44 996

原创 Nginx — 高可用部署(Keepalived+Nginx)

Nginx 高可用部署通常借助 Keepalived 实现,Keepalived 能通过 VRRP(虚拟路由冗余协议)让多个 Nginx 服务器组成一个热备集群,当主服务器故障时自动切换到备用服务器,保障服务不间断。

2025-03-30 18:14:52 917

原创 Nginx — Nginx安装

Nginx 是一款轻量级的高性能 HTTP 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的 Igor Sysoev 开发。自 2004 年首次公开发布以来,凭借其卓越性能、高并发处理能力以及丰富的功能特性,在全球范围内得到广泛应用。

2025-03-30 11:19:20 640

原创 HTTPS协议通信流程分析

例如,当用户访问一个使用 HTTPS 协议的安全网站时,浏览器和网站服务器之间会进行 TLS 握手,在握手过程中会包含 Change Cipher Spec 消息的交换,以确保后续传输的网页内容、用户登录信息等数据的安全性。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的“对话密钥",而不必重新生成一把。双方就都有三个一模一样的随机数,前两个是明文发送的,最后客户端生成的这个是使用证书中的公钥密文发送的。

2025-03-30 10:57:05 760

原创 Docker—Docker环境安装部署

Docker 是一个开源的应用容器引擎,它可以让开发者将应用程序及其依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

2025-03-10 13:12:35 1058

原创 CI/CD—Jenkins实现自动构建Docker镜像运行Java程序

Finished: UNSTABLE” 常见于持续集成 / 持续部署(CI/CD)工具的构建或任务执行结果反馈中,如 Jenkins、GitLab CI/CD 等。它表示任务已完成,但处于 “不稳定” 状态,这意味着构建过程虽然结束,但存在一些不符合预期的情况,不过尚未达到构建失败的严重程度。要实现多个目录下的文件传输再添加一个Transfer Set。5.3、结果为:Finished: UNSTABLE情况分析。发现test用户没有docker命令的执行权限。中的 ”二、安装docker“ 步骤。

2025-03-10 12:49:56 900

原创 CI/CD—Jenkins配置Poll SCM触发自动构建

在实际的开发环境中选择分支时最好是选择主分支,因为每个版本都需要合并代码,如果配置成主分支以外的分支可能会频繁的触发自动构建的条件,对系统资源造成浪费,同时也会导致测试环境的不稳定。勾选后会出现一个文本框,用于输入轮询的时间规则。登录 Jenkins 控制台,在项目列表中找到要配置的项目,点击项目名称进入项目主页。输入完轮询时间规则后,向下滚动页面,点击 “保存” 按钮,保存项目配置。在项目主页的左侧菜单中,点击 “配置” 选项,进入项目配置页面。在项目配置页面中,向下滚动找到 “构建触发器” 部分。

2025-03-10 11:54:31 662

原创 CI/CD—Jenkins cron定时任务表达式

H” 用于根据特定条件进行负载分散,只有满足特定条件的请求才会按照相应规则处理。“*” 是一个通用的匹配规则,会将所有请求都纳入负载分散的范围。

2025-03-10 11:40:25 1242

原创 CI/CD—GitLab钩子触发Jenkins自动构建项目

浏览器上访问:http://192.168.72.131:8080/job/first-test/build?token=test@1234,就相当于自动提交了一次POST请求自动去构建first-test项目测试机器上可以看出构建的结果上述步骤请求是在Jenkins平台正常登录的情况下进行的,所以在浏览器上访问:http://192.168.72.131:8080/job/first-test/build?token=test@1234 不需要登录,如果换成其他的浏览器或者Jenkins长时间不登录再执行

2025-03-10 11:26:32 1573

原创 CI/CD—Jenkins配置一次完整的jar自动化发布流程

要创建自动化发布,需要准备一台测试服务器提前安装好java运行所需的环境,JDK版本最好和Windows开发机器上的版本一致,在Jenkins上配置将构建好的jar上传到测试服务器上,测试服务器自动启动构建好的jar,这些步骤只需要在Jenkins完成相关的配置即可。

2025-03-10 10:39:08 1367

原创 CI/CD—Jenkins配置Maven+GitLab自动构建jar包

报错:无法连接仓库:Error performing git command: git ls-remote -h。分支权限这里选择的是公开所以不需要配置认证。改成8989 再次提交代码,重新构建。

2025-03-10 09:24:35 571

原创 CI/CD—Jenkins、Maven安装

Maven 是一个基于项目对象模型(POM,Project Object Model)的项目管理和构建自动化工具,由 Apache 软件基金会开发。它主要用于 Java 项目,但也可以用于其他语言的项目。依赖管理:Maven 能够自动下载项目所需的依赖库,并处理依赖之间的版本冲突。开发者只需在项目的 POM 文件中声明所需的依赖,Maven 会从中央仓库或其他指定的仓库中下载这些依赖。项目构建:Maven 定义了一套标准的项目构建生命周期,包括清理、编译、测试、打包、部署等阶段。

2025-03-10 00:05:14 1250

原创 CI/CD—IDEA上提交代码到GitLab

因为默认端口是8080和其他端口发生冲突的概率比较大。步骤二:在上述的软件包下创建一个Java类。步骤三:编写Hello World代码。token填写上边创建的令牌。点击运行出现下图说明运行成功。

2025-03-09 23:12:12 700

原创 CI/CD—GitLab部署

Puma 的主要作用就是接收来自客户端(如浏览器)的 HTTP 请求,然后将这些请求转发给 GitLab 的 Rails 应用进行处理,最后把 Rails 应用生成的响应返回给客户端。在 GitLab 里,Puma 是一款高性能的 Ruby Web 服务器,被用作 GitLab Rails 应用的后端服务器,负责处理来自客户端的 HTTP 请求。编写如下代码:(注意:在修改路径前,要将原 GitLab 的数据存放目录下的文件拷贝到新目录中。当修改了 Puma 的配置文件后,可使用此命令重启服务使配置生效。

2025-03-09 22:04:18 1153

原创 MongoDB—(一主、一从、一仲裁)副本集搭建

MongoDB 副本集是由多个MongoDB实例组成的集群,其中包含一个主节点(Primary)和多个从节点(Secondary),用于提供数据冗余和高可用性。以下是搭建 MongoDB 副本集的详细步骤,以在 Linux 系统(假设为 Ubuntu)上为例,可以根据实际情况进行调整。

2025-02-27 23:12:12 1046 1

原创 MySQL—授权与权限回收

【代码】MySQL—授权与权限回收。

2025-02-27 22:01:19 385

原创 MySQL—密码设置相关

符号表示在后台运行该进程。

2025-02-27 21:50:09 1481

原创 MySQL—使用binlog日志恢复数据

在 MySQL 中,使用二进制日志(binlog)恢复数据是一种常见的用于故障恢复或数据找回的方法。my.cnfmy.inilog-binValueONxxxxxx例如,可以解析这个日志文件。常用的选项包括和来指定时间范围,和来指定日志位置范围。例如,只恢复某个时间段内的操作,可以使用。5.:将解析后的 SQL 语句应用到目标数据库中,可以将解析结果通过管道直接输入到mysql客户端来执行。假设用户名是root,密码是123456,要恢复这个日志文件中的数据,可以执行。

2025-02-27 20:45:24 4883

原创 MySQL—Keepalived+MySQL双主复制实现MySQL高可用

综上所述,Keepalived 通过 VRRP 协议实现高可用性,通过健康检查机制确保服务器的正常运行,通过与 LVS 结合实现负载均衡,为网络服务提供了可靠的保障。

2025-02-27 20:11:31 1035

原创 KubeSphere部署redis集群

在args变量之后添加下边的内容env:valueFrom:fieldRef:valueFrom:fieldRef:valueFrom:fieldRef:- name: TZ根据在yaml中添加环境变量生成如下内容,但是在KubeSphere中找不到fieldRef选项所以在yaml中添加即可。

2025-02-25 23:56:18 857 1

原创 KubeSphere安装mysql

MySQL部署分析部署方法按照Docker Hub官网部署mysql的步骤进行,官网地址:https://hub.docker.com/docker部署mysql命令如下:用于连接阿里云私有镜像仓库因为mysql是开源服务所以最好是选择有状态副本集 数据插入成功!!在部署时选用的是nfs-client存储类,该存储类对应的NFS共享路径为:192.168.72.130:/opt/nfs/data/kubesphere,那么设想:mysql运行时产生的数据应该都存在这台服务器的这个路径下

2025-02-25 10:08:40 1079

原创 KubeSphere平台安装

KubeSphere 是一款功能强大的容器管理平台,以下是其简介:在 KubeSphere 部署中,NFS 和其他常见存储方案(如本地磁盘、Ceph、Longhorn)对比如下:前面实验已经安装过参考博客:k8s基础(6)—Kubernetes-存储_kubectl delete pvc-CSDN博客 作用:因为NFS没有可以提供动态卷供应的能力,安装NFS Subdir External Provisioner 插件,NFS 能为 KubeSphere 提供动态卷供应能力。当有新的 Persiste

2025-02-24 23:29:11 1496

原创 Docker—搭建Harbor和阿里云私有仓库

Harbor是一个开源的企业级管理项目,由VMware公司开发。‌它的主要用途是帮助用户迅速搭建一个企业级的Docker Registry服务,提供比Docker官方公共镜像仓库更为丰富和安全的功能,特别适合企业环境使用。‌12‌基于角色的访问控制(RBAC)‌:用户和仓库通过“项目”进行组织管理,用户在项目中可以拥有不同的权限。‌镜像复制‌:镜像可以在多个Harbor实例之间进行复制(同步),特别适合负载均衡、高可用、混合云和多云的场景。‌AD/LDAP集成。

2025-01-22 00:24:06 1553 1

原创 k8s基础(8)—Kubernetes-Secret

Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。这样的信息可能会被放在规约中或者镜像中。使用 Secret 意味着你不需要在应用程序代码中包含机密数据。由于创建 Secret 可以独立于使用它们的 Pod, 因此在创建、查看和编辑 Pod 的工作流程中暴露 Secret(及其数据)的风险较小。Kubernetes 和在集群中运行的应用程序也可以对 Secret 采取额外的预防措施, 例如避免将敏感数据写入非易失性存储。Secret 类似于但专门用于保存机密数据。

2025-01-21 18:18:23 757

原创 k8s基础(7)—Kubernetes-ConfigMap

ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时,

2025-01-20 23:54:46 1075

原创 k8s基础(6)—Kubernetes-存储

Kubernetes的持久卷(PersistentVolume, PV)和持久卷声明(PersistentVolumeClaim, PVC)为用户在Kubernetes中使用卷提供了抽象。PV是集群中的一块存储,PVC是对这部分存储的请求。PV是集群中的一个资源,就像节点或者pod一样。PVC是对PV资源的请求,类似于Pod是对节点资源的请求。Pod可以请求特定的资源量,PVC可以请求特定的存储大小和访问模式(例如,可以被多个节点并发访问或者仅被单个节点访问)。

2025-01-13 21:37:45 1297

原创 k8s基础(5)—Kubernetes-Ingress

foo/bar 匹配/foo/bar/baz, 但不匹配。

2025-01-13 20:59:32 829

原创 k8s基础(4)—Kubernetes-Service

‌k8s的Service是一种抽象层,用于为一组具有相同功能的Pod提供一个统一的入口地址,并通过负载均衡将网络流量分发到这些Pod上。‌ Service解决了Pod动态变化的问题,例如Pod的IP地址和端口可能会发生变化,通过Service可以提供稳定的访问地址和负载均衡功能,从而屏蔽后端Endpoint的变化。‌‌VIP(虚拟IP)‌:VIP是一个全局唯一的虚拟IP地址,用于集群内部服务的访问。它不是一个物理IP地址,而是通过负载均衡器或DNS解析来指向实际的物理服务器或服务实例。

2025-01-04 00:13:01 1390 1

空空如也

空空如也

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

TA关注的人

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