自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于Jenkins构建生产CICD环境(第三篇)

在以上配置完成后,回到 Jenkins 首页,选择“新建任务”,然后输入一个任务名称 “probe-docker”,并选择“Maven project”配置项,点击当前页面下方的“确定”按钮。然后点击刚才创建的工程任务“probe-docker“->” Build new”直至任务构建完成。可以看到此工程任务已构建成功,并且在构建后,创建用于docker项目的 Docker Web 环境命令也执行成功。在点击“确定”按钮,选择“源码管理”并选中“Git”,设置“Repository URL”地址。

2023-08-24 17:01:11 557 1

原创 基于Jenkins构建生产CICD环境(第二篇)

开发人员发起代码上线的需求(邮件中包含开发做好的WAR包)-->运维人员连接线上负载调度器(Nginx)--> 隔离一组服务器(Tomcat)--> 连接服务器(Tomcat)--> 备份旧代码(tar打包)--> 删除旧代码目录 --> 上传新的WAR包 --> 外网测试 --> 测试不通过则通过备份回滚代码 --> 测试通过则利用rsync的脚本推送代码到其他服务器--> 统一外网测试 -->连接调度器恢复隔离机制 --> 隔离另一组服务器实施上线步骤 --> 上线完成。跳转到“添加域”页面。

2023-08-24 14:27:39 615

原创 基于Jenkins构建生产CICD环境(上篇)

于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享 JARs。有时候,持续部署也与持续交付混淆。持续交付(英语:Continuous delivery,缩写为 CD),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。持续部署(英语:Continuous Deployment,缩写为 CD),是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

2023-08-21 18:23:54 404

原创 Kubernetes二进制部署方案

启动 Etcd 主节点。上传 flannel-v0.12.0-linux-amd64.tar.gz 软件包,解压 Flannel 二进制并分别拷贝到 Node 节点。在 k8s-node1 与 k8s-node2 主机上分别编辑 flanneld 配置文件。在 k8s-node01 与 k8s-node02 主机上配置 Docker 启动指定网段,修改 Docker 配置脚本文件。在 k8s-master 主机上依次进行如下操作,部署 Kubernetes-master 组件,具体操作如下所示。

2023-08-18 17:06:56 650 1

原创 Kuebernetes资源控制管理

容器资源创建完成,就需要完成发布工作,确保 Pod 能够对外提供服务,保证客户端能够正常访问,使用 kubectl expose 命令可以实现该目的。Kubectl 是一个用于操作 Kubernetes 集群的命令行工具,利用 Kubectl 的各种子命令可以实现各种功能,在管理 Kubernetes 集群过程中kubectl是非常实用的工具。基于 YAML 配置文件创建容器资源的方式,优点在于配置文件提供了创建资源的模板,能够重复部署,可以像管理代码一样管理部署,适合正式的、跨环境的、规模化部署。

2023-08-17 21:24:01 228

原创 Kubernetes网络组件详解

而在云计算的世界中,计算是最基础的,存储是最重要的,网络则是最复杂的。源主机的 flanneld 服务将原本的数据内容 UDP 封装后根据自己的路由表投递给目的节点的 flanneld 服务,数据到达以后被解包,然后直接进入目的节点的 flannel0 虚拟网卡,之后被转发到目的主机的 docker0 虚拟网卡,最后就像本机容器通信一下的有 docker0 路由到达目标容器。它的功能是让集群中的不同节点主机创建的 Docker 容器都具有全集群唯一的虚拟 IP 地址。

2023-08-17 18:41:29 332

原创 基于Prometheus监控Kubernetes集群

在 ports 中定义暴露的端口库号列表,对外暴露访问的端口是 80,容器内部的端口也是 80。Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。

2023-08-17 14:09:32 705

原创 Kubernetes+EFK构建日志分析平台

由于 Kubernetes 在容器编排领域的强势领先,使得越来越多的企业将业务迁至基于 Docker+Kubernetes 技术栈打造的容器管理平台,所以在 Kubernetes 集群环境下如何打造高效、可靠的业务日志收集系统也成为企业必须面临的问题。Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。Elasticsearch 具有如下特点。

2023-08-17 10:33:15 1327

原创 Kubernetes 企业级高可用部署

因为haproxy运行在master节点上,当master节点异常后,haproxy服务也会停止,为了避免这种情况,我们在每一台master节点都部署haproxy服务,达到haproxy服务高可用的目的。由于多master节点会出现投票竞选的问题,因此master节点的数据最好是单数,避免票数相同的情况。每台master节点中的配置均相同,配置中声明了后端代理的每个master节点服务器,指定了haproxy的端口为16443,因此16443端口为集群的入口。此处的vip节点为k8s-master1。

2023-08-16 09:19:36 867

原创 部署K8S集群

4)发现最先创建的pod运行在k8s-master节点上,下载镜像速度太慢没法运行。1)在k8s-master节点安装flannel。5)在master节点检测node节点状态。5)在master节点检测node节点状态。2)node2连接k8s-master。2)配置node1节点flannel网络。2)node1连接k8s-master。2)安装k8s-master节点。1)配置k8s-master节点。2)配置k8s-node1节点。3)配置k8s-node2节点。1)安装etcd配置etcd。

2023-08-11 15:57:55 853

原创 Kubernetes集群部署(第二篇)

默认这个部署文件当中,会单独创建一个名为kubernetes-dashboard的命名空间,并将kubernetes-dashboard部署在该命名空间下。如果要删除这些资源,执行 kubectl delete deployment nginx-deployment 或者 kubectl delete -f nginx-deployment.yaml。(1)用kubectl命令直接创建,在命令行中通过参数指定资源的属性。代码仓库当中,有给出安装示例的相关部署文件,我们可以直接获取之后,直接部署即可。

2023-08-10 18:17:43 191

原创 Kubernetes集群部署

Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。[kubelet-start] :生成kubelet 的配置文件”/var/lib/kubelet/config.yaml”,没有这个文件kubelet无法启动,所以初始化之前的kubelet 实际上启动失败。很多镜像都是在国外的服务器上,由于网络上存在的问题,经常导致无法拉取镜像的错误,所以最好将镜像拉取地址设置成国内的。

2023-08-09 20:26:25 317

原创 Kubernetes工作原理

传统部署时代: 早期是在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配出现问题。例如:如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况,结果可能会导致其他应用程序的性能下降。一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展,并且组织维护许多物理服务器的成本很高。虚拟化部署时代: 虚拟化功能允许在单个物理服务器上运行多个虚拟机(VM)。虚拟化功能可以实现应用程序在VM之间隔离

2023-08-09 13:48:27 671 1

原创 构建Docker容器监控系统(Cadvisor +Prometheus+Grafana)

Cadvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行Cadvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

2023-08-08 16:49:37 1059

原创 构建Docker容器监控系统(Cadvisor +InfluxDB+Grafana)

容器信息采集及监控的方案有很多,有docker自身的docker stats命令、Scout、Data Dog、Prometheus等,本次为大家分享两款比较经典的容器开源监控组合方案Cadvisor +InfluxDB+Grafana和Cadvisor +Prometheus+Grafana。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。

2023-08-08 15:31:45 2213 1

原创 Harbor企业镜像仓库部署

最近公司将项目全部打包成镜像有部署私有仓库服务的需求,经过几轮商讨,最终选择 Docker Harbor,Docker Harbor 有可视化的 Web 管理界面可以方便管理Docker 镜像操作也很方便简单,又提供了多个项目的镜像权限管理控制功能等。出现这问题的原因是 Docker 自从 1.3.X 之后 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。另外,默认情况下Harbor 将镜像存储在本地文件系统上。

2023-08-07 21:38:06 467

原创 Docker网络模型详解

设想一下后端容器需要调用一个数据库环境,数据库容器和后端服务容器如果使用上下文中的暴露端口或者映射端口来通信,势必会把数据库的端口也暴露在外网中,导致数据库容器的安全性大大降低,为了解决这个问题,docker允许用户建立一个独立的网络来放置相应的容器,只有在该网络中的容器才能相互通信,外部容器是无法进入这个特定网络中的。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。端口映射的用途是宿主机网络与容器的通信,而容器互联是容器之间的通信。

2023-08-04 15:35:16 222

原创 Docker-Compose编排与部署

即orchestration,它根据被部署的对象之间的耦合关系,以及被部署对象环境的依赖,制定部署流程中各个动作的执行顺序,部署过程所需要的依赖文件的存储位置和获取方式,以及如何验证部署成功。接下来,启动容器的方法也很简洁,这个方法中完成了一个Docker容器启动所需的主要参数的封装,并在container模块执行启动。,即deployment,它是指按照编排所指定的内容和流程 ,在目标机器上执行编排指定环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认联署成功。

2023-08-03 21:40:10 2388

原创 基于Dockerfile构建镜像应用

要完成整个操作需要两个步骤,首先在Dockerfile使用EXPOSE设置需要映射的容器端口,然后在运行容器的时候指定-p选项加上EXPOSE设置的端口,这样EXPOSE设置的端口号会被随机映射成宿主机器中的一个端口号。设置指令,使容器中的一个目录具有持久化存储数据的功能,该目录可以被容器本身使用,也可以共享给其他容器使用。一个完整的镜像可以支撑多个容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最常见的操作就是在容器中安装应用服务。需要记住该容器的ID号。

2023-08-03 16:29:53 683

原创 docker容器创建私有仓库(第三篇)

用户需要在容器之间共享一些持续性更新的数据时,可以使用数据卷容器。数据容器也是一个普通的容器。里边带有设置好的数据卷,专门提供给其他容器挂载使用。通过--volumes-from 数据卷容器名来实现。

2023-08-02 19:52:04 414

原创 docker容器操作(第二篇)

执行完毕后容器被终止运行。在迁移过程中,首先需要将已经创建好的容器导出为文件,可以使用docker export 命令实现,无论这个容器是处于运行状态还是停止状态均可导出。Docker 默认的存储目录为/var/lib/docker,Docker的镜像、容器、日志等内容全部都存储在此,可以单独使用大容量的分区来存储这些内容,并且一般选择建立LVM 逻辑卷。docker start|stop|restart|kill //运行已停止的容器|停止一个正在运行的容器|重启一个容器|杀死一个正在运行的容器。

2023-08-01 19:14:12 206

原创 docker容器认识及安装(linux系统)

客户(老板)-产品-开发-测试-运维à项目周期不断延后,项目质量差。随着云计算和DevOps生态圈的蓬勃发展,产生了大量优秀的系统和软件。软件开发人员可以自由选择各种软件应用环境。但同时带来的问题就是需要维护一个非常庞大的开发(Dev)、测试(Test)、预上线(UAT)和生产环境(Pro)。面对这种情况,Docker容器技术横空出世、提供了简单、灵活、高效的解决方案,不需要过多地改变现有的使用习惯,就可以和已有的工具进行整合。因此,掌握Docker相关技术也是途径云计算的必经之路。

2023-07-31 16:28:06 745

原创 zabbix钉钉报警

登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内.然后点击群右上角 的"群机器人"->"添加机器人"->"自定义",记录该机器人的webhook值。添加机器人 在钉钉群中,找到只能群助手 添加机器人 选择自定义机器人 添加 添加两个自定义关键字 [故障][恢复] 完成 将链接地址记住 钉钉报警脚本 Python版本 切记,脚本中的webhook一定要把里边的内容换成刚才机器人的链接地址测试 点击右上角头像-->报警媒介-->添加类型:dingding收件人:钉钉

2023-07-22 14:27:43 489

原创 zabbix通过JMX监控tomcat

在server.zabbix.com中我们在编译时已经添加--enabled-java选项并布置好了java环境所以不再做过多描述。

2023-07-21 15:48:30 252

原创 Zabbix邮件报警(163网易邮箱)

二、二、

2023-07-21 15:22:23 291

原创 Grafana图形web监控的安装与配置

此处是httpd设置的网址。

2023-07-21 14:34:16 509

原创 Zabbix自定义监控项

以上关联的模板基本涵盖了所有系统层面的监控,包括了我们最关注的几项:ping、load、cpu使用率、memory、disk、网卡流量等等,当然有些触发器的阀值可能需要根据服务器的自身情况进行修改。下面添加自定义服务器内存使用检测项,在此配置一个监控项为:内存使用70M进行警告提醒:1.修改客户端zabbix_agentd.conf配置文件,最后一行添加:语法:UserParameter=key,shell command。

2023-07-21 14:08:21 122

原创 安装及配置zabbix_agent代理端(监控FTP服务器)

监控agent的linux主机我们在之前的文章里已经做好了 现在直接安装ftp服务即可。

2023-07-21 13:37:23 569

原创 Zabbix-server监控mysql及httpd服务

自此模板就导入成功了 现在为。

2023-07-21 12:10:37 823

原创 Zabbix监控linux主机(agent端)

【代码】Zabbix监控linux主机(agent端)

2023-07-21 11:40:29 331

原创 Zabbix监控网络设备

pwd=q1b8提取码:q1b8pwd=4jlx4jlx。

2023-07-21 11:24:10 257

原创 Zabbix监控windows主机windows10

2.将需要的文件拖到该文件夹内(bin/win64和conf下的所有文件).win.conf 以写字版的方式打开。1.首先在C盘根目录下创建zabbix的文件夹。修改windows配置文件。

2023-07-21 10:13:57 702

原创 zabbix的认识及部署监控自己

在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行状况,以便及时发现问题,尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便,快捷的获得监控信息,通常会借助于一些集中监测软件。想要实时的了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方就少不了监控系统,现有的监控系统软件很多,但是zabbix可灵活的监控服务器资源,并且集cacti与nagios两者的优点于一身且功能更强大,实现企业级分布式监控,所以在市场应用更广。

2023-07-21 10:05:07 288

原创 Ansible Playbook剧本配置文件

mariadb:mysql角色apache:httpd角色nginx:nginx角色file:存放copy或script等模块调用的文件templates:存放template模块查找所需要的模板文件的目录,如mysql配置文件等模板tasks:任务存放目录handlers:存放相关触发执行器的目录vars:变量存放的目录meta:用于存放此角色元数据default:默认变量存放目录,文件中定义了此角色使用的默认变量。

2023-07-18 20:48:33 912 2

原创 Ansible自动化运维工具的认识

Ansible是最近非常火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误,Ansible可以通过本身集成的非常丰富的模块实现各种管理任务,其自带模块数量已超过上千个,更为重要的是,它的操作非常简单,即使新手也比较容易上手,Ansible提供的功能却非常丰富,在运维领域,几乎可以实现任何事情。。

2023-07-18 11:57:13 468

原创 LNMP架构及应用部署(搭建电影网站)

访问:http://192.168.2.222/mysql.php。目录下的install目录,防止下次登录清除网站界面信息。在location也要加一个index.php。

2023-07-07 10:47:28 1322

原创 Mongodb基础及应用、部署(超详细)

MongoDB是由C++语言编写一个基于分布式文件存储的开源NoSQL数据库系统。MongoDB提供了一个面向文档存储方式,操作起来比较简单和容易,可以存储比较复杂的数据类型。是一个面向集合的,模式自由的文档型数据库。分片也属于MongoDB集群技术,分片目的为了突破单点数据库服务器的I/O能力限制,对数据库存储进行水平扩展,满足MongoDB数据量大量增长的需求。严格地说,每一个服务器或者实例或者复制集就是一个分片。

2023-07-05 20:54:03 3665

原创 redis基础及哨兵集群部署、故障切换

一、概述 Redis是一个开源的,使用C语言编写,支持网络,可基于内存工作亦可持久化(AOF、RDB)的日志型,key-values(键值对)数据库,一个速度极快的非关系型数据库,也就是我们所说的NoSQL数据库,他可以存储(key)与5种不同类型的值(value)之间的映射(mapping),可以将存储在内存的键值对持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展性能,并且它还提供了多种语言的API。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存

2023-07-04 20:17:34 809

原创 MHA高可用数据库集群部署及模拟故障

现在node1(主服务器)是node2(备用主)的从,也是node2的备用主;(注意:为了尽可能的减少主库硬件损坏宕机造成的数据丢失,因此在配置MHA的同时建议配置成MySQL 5.5的半同步复制;Master High Availability(MHA)优秀的作为MySQL高可用性环境下故障切换和主从角色提升的高可用软件。apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于其他的slave。从变成主之后要清除,否则会影响SQL线程,主服务不需要。

2023-07-03 09:32:49 126

原创 MySQL主从复制及读写分离

(一台主服务器,多台从数据服务器,主服务器开启日志功能,且建立一个允许从数据服务器访问的账号,从数据服务器开启从服务,主服务器所以产生的数据记录在日志文件里保存到本地磁盘,当日志文件发生变化时,从数据服务器通过IO线程同步变化的数据,把变化的二进制文件传到从数据服务器并告知主数据服务数据没有问题然后保存到本地磁盘,从数据服务器和主数据服务有一样的数据,所以当读取数据时通过SQL线程调用从数据服务器,而主服务器只负责写,减轻主数据服务器压力)

2023-06-28 21:55:21 231 2

空空如也

空空如也

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

TA关注的人

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