自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【CI/CD】Jenkins + Docker +SpringCloud微服务项目持续集成

代码提交:开发人员将代码推送至 GitLab 仓库。镜像构建:Jenkins 拉取代码,编译打包为 WAR/JAR,并构建 Docker 镜像。镜像推送:将镜像上传至 Harbor 私有仓库。部署应用:Jenkins 通过 SSH 触发生产服务器从 Harbor 拉取镜像并启动容器。用户访问:通过容器暴露的服务访问应用。

2025-02-26 13:38:31 1345 1

原创 【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查

【代码】【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查。

2025-02-25 09:14:57 2121

原创 【CI/CD】CI/CD环境搭建流程和持续集成环境配置

【代码】【CI/CD】CI/CD环境搭建流程和持续集成环境配置。

2025-02-25 09:13:49 1123

原创 【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查

【代码】【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查。

2025-02-21 16:34:58 2265

原创 【CI/CD】CI/CD环境搭建流程和持续集成环境配置

【代码】【CI/CD】CI/CD环境搭建流程和持续集成环境配置。

2025-02-21 16:33:19 1544

原创 【CI/CD】持续集成及 Jenkins

指在研发过程中自动执行一系列脚本来降低开发引入bug的概率,在新代码从开发到部署的过程中,尽量减少人工的介入。这一策略加快了代码提交到功能上线的速度,保证新的功能能够第一时间部署到生产环境并被使用。持续集成过程中很重视自动化测试验证结果,以保障所有的提交在合并主线之后的质量问题,如果构建或测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。假设现在有个应用的代码存储在仓库上,每天开发人员都会提交很多次新代码,针对每次提交,我们可以创建一系列脚本进行自动测试,降低往应用里引入错误的概率。

2025-02-20 09:17:00 1113

原创 【云平台监控】Prometheus AlertManager yaml

安装与配置Alertmanager修改配置文件创建Systemd服务并启动验证Alertmanager运行配置Prometheus告警规则创建告警规则文件修改Prometheus配置配置钉钉告警部署钉钉Webhook插件配置钉钉机器人修改插件配置文件启动钉钉服务修改Alertmanager配置测试告警触发实例宕机告警等待1分钟后检查邮件和钉钉群消息。验证告警状态邮件未收到钉钉告警失败告警规则未加载

2025-02-20 09:15:01 344

原创 【云平台监控】Prometheus PromQL

定义:时间序列是 Prometheus 的数据模型,表示一个监控指标在多维标签条件下的表达式。格式指标名称{标签集}。样本值:时间序列在某个时间戳下的监控指标数据。案例步骤PromQL 表达式案例1:求每个主机的CPU个数1. 确定指标名称。2. 过滤空闲模式的 CPU 时间序列。3. 按instance分组并计数。案例2:求每个主机的CPU使用率1. 确定指标名称。2. 计算空闲率。3. 计算使用率并转换为百分数。案例3:计算每个节点的总内存1. 过滤节点时间序列。2. 按。

2025-02-19 11:13:16 1065

原创 【k8s应用管理】kubernetes HPA+rancher

Kubernetes HPA(Horizontal Pod Autoscaling)可以根据Pod的CPU利用率自动调整Deployment、Replication Controller或ReplicaSet中的Pod数量。本文将指导您如何部署HPA,包括前置条件(metrics-server的部署)和HPA的实际部署。

2025-02-19 11:12:18 777

原创 【云平台监控】Prometheus 监控平台部署与应用

定义:开源服务监控系统 & 时序数据库,提供通用数据模型、高效采集、存储和查询接口。核心组件数据采集:定期从静态配置或服务发现的目标中拉取数据(HTTP Pull,默认15秒/次)。数据存储:内存暂存后持久化到磁盘(默认2小时回刷),支持WAL日志崩溃恢复。告警处理:根据规则计算指标,触发告警后发送至Alertmanager。数据源Exporter:部署于被监控主机,暴露HTTP接口供Prometheus拉取指标。:接收短期任务主动推送的数据,供Prometheus拉取。服务发现。

2025-02-14 16:06:52 1224

原创 【k8s应用管理】kubernetes 安全机制

Kubernetes 的安全机制围绕保护 API Server 设计,所有请求需通过认证(Authentication)鉴权(Authorization)准入控制(Admission Control)三关才能创建资源。metadata:目的:确定请求方对资源的访问权限。鉴权策略AlwaysDeny:拒绝所有请求(用于测试)。:允许所有请求(用于测试或无需鉴权的场景)。ABAC:基于属性的访问控制,配置复杂,需重启 API Server。Webhook:通过外部 REST 服务进行鉴权。RBAC。

2025-02-14 16:05:52 1075

原创 【k8s应用管理】kubernetes lngress资源管理

作用:作为 Kubernetes 集群的接入层,接收外部请求并根据规则(域名或 URL 路径)将请求转发到相应的 Service 和 Pod。特点支持七层代理(HTTP/HTTPS)。提供灵活的流量管理(如基于域名、路径的转发)。支持 TLS 加密、认证、重写路径等高级功能。功能:现代 HTTP 反向代理和负载均衡工具,专为微服务架构设计。特点实时与 Kubernetes API 交互,自动感知后端 Service 和 Pod 的变化。支持自动服务发现和配置更新。

2025-02-13 16:28:02 1106

原创 【k8s应用管理】kubernetes 配置资源管理

Secret是 Kubernetes 中用于存储敏感信息的资源对象。可以通过命令行或 YAML 文件创建 Secret。Secret 可以通过挂载 Volume 或环境变量的方式在 Pod 中使用。使用 Secret 可以有效减少敏感信息的暴露风险,并方便管理。Secrets。作用:存储非加密的配置数据(如应用配置、环境变量),与 Secret 类似,但用于非敏感信息。应用场景:管理应用的配置参数(如数据库地址、日志级别)。核心特点支持从文件、目录或字面值创建。

2025-02-13 16:27:25 1124

原创 【k8s应用管理】kubernetes Pod控制器

作用:用于管理 Pod 的中间层,确保 Pod 资源符合预期状态。当 Pod 出现故障时,控制器会尝试重启或重建 Pod。常见类型ReplicaSet:确保指定数量的 Pod 副本运行。Deployment:管理无状态应用,支持滚动更新和回滚。DaemonSet:确保每个节点运行一个 Pod 副本。:管理有状态应用,支持稳定的网络标识和持久化存储。Job:运行一次性任务。CronJob:运行周期性任务。

2025-02-10 12:43:10 1095

原创 【k8s应用管理】kubernetes 存储管理

特性emptyDirhostPathnfs功能实现 Pod 内容器之间的目录数据共享。将 Node 节点上的目录或文件挂载到 Pod 容器中使用。将 NFS 服务的共享目录挂载到 Pod 容器中使用。持久化能力无持久化能力,数据随 Pod 删除而丢失。具备持久化能力,但数据仅绑定到单个 Node 节点。具备持久化能力,数据存储在 NFS 服务器上。数据共享范围仅限于 Pod 内容器之间共享。仅限于 Pod 所在 Node 节点上的容器使用。支持跨 Node 节点的容器共享数据。适用场景。

2025-02-10 12:41:55 957 1

原创 【k8s应用管理】kubernetes 群集调度管理

在 Kubernetes 中,亲和性(Affinity)和反亲和性(Anti-Affinity)用于定义 Pod 调度到节点的规则。节点亲和性(Node Affinity):定义 Pod 与节点的关系。Pod 亲和性(Pod Affinity)和Pod 反亲和性(Pod Anti-Affinity):定义 Pod 与 Pod 之间的关系。硬策略(requiredDuringSchedulingIgnoredDuringExecution):必须满足的条件,不满足则 Pod 无法调度。

2025-02-09 13:30:00 1126 5

原创 【k8s集群应用】kubernetes pod资源控制管理(二)

PS:在买硬盘的时候,操作系统报的数量要比产品标出或商家号称的小一些,主要原因是标出的是以 MB、GB为单位的,1GB 就是1,000,000,000Byte,而操作系统是以2进制为处理单位的,因此检查硬盘容量时是以MiB、GiB为单位,1GiB=2^30=1,073,741,824,相比较而言,1GiB要比1GB多出1,073,741,824-1,000,000,000=73,741,824Byte,所以检测实际结果要比标出的少一些。:过滤不满足条件的节点。:直接指定节点名称。:通过节点标签选择。

2025-02-09 10:00:00 1097

原创 【k8s应用管理】kubernetes pod资源控制管理(一)

在静态 Pod 的管理目录下准备 Pod 的 YAML 文件。Kubernetes 直接管理的是 Pod,而不是容器。静态 Pod 是由 kubelet 直接管理的一类特殊 Pod,它们不通过常规的 API Server 进行控制。),kubelet 会周期性地扫描该目录,根据其中的配置文件自动创建、更新或删除 Pod。随后,kubelet 会检测到配置文件的删除,并自动停止并删除相应的 Pod。目录下的新配置文件,并根据该文件创建相应的 Pod。删除静态 Pod,直接删除其配置文件即可。

2025-02-08 11:20:25 815

原创 【k8s集群应用】kubenetes-YAML

(3)遇到不懂的,善用kubectl explain …(1)多看别人(官方)写的,能读懂。Kubernetes 支持使用。(2)能照着现场的文件改着用。写yaml太累怎么办?

2025-02-08 11:19:50 1029

原创 【k8s集群应用】kubectl命令行工具管理-声明式管理

当apply不生效时,先使用delete清除资源,再apply创建资源。在线编辑资源配置清单并保存退出即时生效(如port: 888)PS:此修改方式不会对yaml文件内容修改。修改yaml文件,并用。

2025-02-07 16:51:42 167

原创 【k8s集群应用】kubectl命令行工具管理-陈述式管理

:指定命名空间:指定输出格式 或 :显示所有命名空间:显示资源标签:过滤标签为 的资源:仅显示包含app标签,且值为nginx的资源查看 master 节点状态查看命名空间:命令空间的作用:用于允许不同命名空间的相同类型的资源重名的查看default命名空间的所有资源创建命名空间app:删除命名空间app:创建 Deployment:在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl)

2025-02-07 16:51:03 845

原创 【k8s集群应用】kubeadm1.20高可用部署(3master)

使用这个 key 和之前生成的 token,可以执行类似于以下的命令来加入新的 master 节点。进行重新生成Token,再次加入集群,新生成的Token为 2小时。默认k8s的使用端口的范围为30000左右,作为对外部提供的端口。我们也可以通过对配置文件的修改去指定默认的对外端口的范围。命令可以生成 Kubeadm 的默认初始化配置文件,并将其重定向到指定文件路径,例如。当您需要将新的 master 节点加入到集群中时,需要获取。参数,并将其设置为所需的端口范围。替换为实际的节点名称。

2024-12-20 16:28:24 1196

原创 【k8s集群应用】kubeadm1.20(单master)

创建。

2024-12-20 10:50:41 1322

原创 【k8s集群应用】K8S二进制安装大致步骤(简略版)

将所有证书自动更新为十年有效期。在master节点执行脚本。

2024-12-19 11:08:54 967

原创 【k8s集群应用】Kubernetes二进制部署实例(master02+负载均衡)+Dashboard

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如deployment,job,daemonset等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。

2024-12-19 10:56:58 1081

原创 【自动化部署】Ansible循环

用于生成两个或多个列表的笛卡尔积(所有可能的组合)。在处理嵌套列表时有不同行为,前者拉平,后者不拉平。只处理最外层列表,建议使用。功能相同,可以互换使用。用于对齐合并两个列表。

2024-12-17 19:00:00 1149

原创 【自动化部署】Ansible Playbook 基础应用

在Ansible Playbook中,变量用于存储和管理在执行任务时需要用到的数据。定义变量:在vars部分,可以定义一系列的变量。每个变量都有一个键(key)和一个值(value)。vars:引用变量:在任务(task)中,可以使用{{key}}的格式来引用变量的值。tasks:命令行定义变量:在执行Playbook时,也可以通过命令行参数-e来定义变量。Roles 是 Ansible 中用于层次性、结构化地组织 Playbook 的一种机制。

2024-12-17 14:36:29 1243

原创 【k8s集群应用】Kubernetes部署安装-二进制部署实例

总结:关闭防火墙关闭SELinux关闭Swap设置主机名添加Hosts调整内核参数时间同步二、部署Docker引擎安装依赖添加Docker仓库安装Docker配置Docker启动并启用Docker服务验证Docker配置etcd 集群搭建安装 cfssl 工具下载并安装 、 和 工具。链接可能失效,此处自己上传的文件进行实验生成 etcd 证书创建目录并上传脚本。下载并解压 etcd

2024-12-12 16:26:23 1637 8

原创 【k8s集群应用】Kubernetes 容器编排系统

K8S资源对象资源对象描述PodK8S能够创建和管理的最小单元,一个Pod里可以包含一个或多个容器,容器间共享网络、存储等资源Deployment部署无状态应用,管理replicaset和Pod部署有状态应用DaemonSet在每个node节点上都部署同一类的PodJob一次性的部署短期任务的PodCronJob周期性的部署短期任务的PodService在K8S集群内部,为通过标签选择器关联的一组Pod提供统一的访问入口和负载均衡Ingress。

2024-12-12 15:44:09 1445

原创 【自动化部署】Ansible 基础命令行模块

【代码】【自动化部署】Ansible 基础命令行模块。

2024-12-10 14:00:00 906

原创 【自动化部署】Ansible基础以及部署安装指南

Ansible 是一个功能强大的自动化工具,它能够帮助系统管理员和开发人员自动化配置、部署和管理服务器。安装Ansible:Ansible目录结构Ansible的主要目录结构如下:配置主机清单导航到Ansible配置目录:编辑主机清单文件:在文件中添加主机组:配置密钥对验证生成SSH密钥对:这将生成一个无密码的SSH密钥对,用于无密码登录远程主机。安装sshpass(可选,用于自动化密码输入):使用sshpass自动复制公钥到远程主机:假设远程主机的root密码

2024-12-10 09:54:39 1639

原创 【docker集群应用】Docker + consul的容器服务更新与发现

Consul-Template 是一个基于 Consul 的应用,用于自动替换配置文件。它是一个守护进程,能够实时查询 Consul 集群信息,并更新指定模板,生成配置文件。更新完成后,可以选择运行 shell 命令执行更新操作,如重新加载 Nginx。Consul-Template 可以查询 Consul 中的服务目录、Key、Key-values 等,适合动态创建配置文件,如 Apache/Nginx Proxy Balancers、Haproxy Backends 等。

2024-12-09 16:42:21 729

原创 【docker集群应用】Docker Compose

Docker Compose 是 Docker 官方提供的一个工具,旨在简化多容器 Docker 应用程序的创建、配置和运行过程。-f, --file FILE :使用特定的 compose 模板文件,默认为 docker-compose.yml。),用户可以轻松定义多个容器、它们之间的依赖关系、网络配置、环境变量等,并使用。-p, --project-name NAME :指定项目名称,默认使用目录名称。: 定义一组服务,每个服务都对应一个或多个容器。: 定义自定义网络,允许容器之间进行通信。

2024-12-09 13:34:29 1293

原创 【docker集群应用】Docker--harbor私有仓库部署与管理

2、可选参数:这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动 Harbor 后在 Web UI 上进行更新。如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数的更新,Harbor.cfg 将被忽略。:Harbor以Docker公司开源的Registry为基础,并扩展了多种企业所需的功能,如图形管理UI、基于角色的访问控制等。:Harbor的每个组件都是以Docker容器的形式构建的,使用docker-compose进行部署。

2024-11-28 14:30:00 1109

原创 【docker集群应用】Docker配置文件

【代码】【docker集群应用】Docker配置文件。

2024-11-28 10:12:18 250

原创 【docker集群应用】Dockerfile相关操作命令及案例并搭建本地私有仓库

镜像:标签 “命令” > 镜像里的CMD指令指定的"命令"区别:ENTRYPOINT指定的容器启动命令优先级更高,如果ENTRYPOINT和CMD同时存在,那么CMD指定的内容将作为ENTRYPOINT指定的命令传入参数使用。5)构建镜像使用 docker build --no-cache 选项,表示构建新镜像时禁用缓存,确保每次构建的镜像都是最新的,避免因为缓存导致的问题。6)使用 .dockerignore 文件,指定不需要复制到镜像里的文件名或目录名,防止复制多余的文件到镜像中。

2024-11-27 14:00:00 1332

原创 【docker集群应用】Docker数据管理与镜像创建

详细来讲,因为对于精简的OS,rootfs可以很小,只需要包含最基本的命令、工具和程序库就可以了,因为底层直接用宿主机的kernel,自己只需要提供rootfs就可以了。详细来说,Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。(5)镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件,只是这个文件在 Docker 容器中不可见了。

2024-11-27 09:49:57 898

原创 【docker集群应用】Docker网络与资源控制

Docker 网桥是虚拟的,不是真实存在的网络设备,因此外部网络无法直接寻址到它,这意味着外部网络无法直接通过 Container-IP 访问容器。由于同一宿主机内的容器都连接到同一个网桥,因此容器之间可以通过各自的 Container-IP 直接通信。Docker 通过 Cgroups(Control Groups)机制来控制和限制容器使用的资源,包括 CPU、内存和磁盘 IO。的含义为:容器可以使用 300M 的物理内存,并且可以使用 700M(1G - 300)的 swap。

2024-11-26 13:30:00 1053

原创 【docker集群应用】Docker常用命令

在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为容器快照文件,无论这个容器是处于运行状态还是停止状态均可导出。docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。命令, 等同于先执行。

2024-11-26 09:16:18 1239

原创 【Docker集群应用】Docker基础与部署安装

Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵循 Apache 2.0 协议开源。它允许在 Linux 容器中运行应用程序,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker 的 Logo 设计Docker 的 Logo 设计为一条蓝色鲸鱼,拖着许多集装箱。鲸鱼代表宿主机,集装箱代表相互隔离的容器,每个集装箱中都包含自己的应用程序。Docker 的设计宗旨Docker 的设计宗旨是。

2024-11-21 13:57:28 1195

空空如也

空空如也

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

TA关注的人

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