
基础知识
文章平均质量分 88
爱笑的男孩0522
一名正在学习的初入博客
展开
-
基于Jenkins构建生产CICD环境(第三篇)
在以上配置完成后,回到 Jenkins 首页,选择“新建任务”,然后输入一个任务名称 “probe-docker”,并选择“Maven project”配置项,点击当前页面下方的“确定”按钮。然后点击刚才创建的工程任务“probe-docker“->” Build new”直至任务构建完成。可以看到此工程任务已构建成功,并且在构建后,创建用于docker项目的 Docker Web 环境命令也执行成功。在点击“确定”按钮,选择“源码管理”并选中“Git”,设置“Repository URL”地址。原创 2023-08-24 17:01:11 · 664 阅读 · 1 评论 -
基于Jenkins构建生产CICD环境(第二篇)
开发人员发起代码上线的需求(邮件中包含开发做好的WAR包)-->运维人员连接线上负载调度器(Nginx)--> 隔离一组服务器(Tomcat)--> 连接服务器(Tomcat)--> 备份旧代码(tar打包)--> 删除旧代码目录 --> 上传新的WAR包 --> 外网测试 --> 测试不通过则通过备份回滚代码 --> 测试通过则利用rsync的脚本推送代码到其他服务器--> 统一外网测试 -->连接调度器恢复隔离机制 --> 隔离另一组服务器实施上线步骤 --> 上线完成。跳转到“添加域”页面。原创 2023-08-24 14:27:39 · 731 阅读 · 0 评论 -
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 · 849 阅读 · 1 评论 -
Kuebernetes资源控制管理
容器资源创建完成,就需要完成发布工作,确保 Pod 能够对外提供服务,保证客户端能够正常访问,使用 kubectl expose 命令可以实现该目的。Kubectl 是一个用于操作 Kubernetes 集群的命令行工具,利用 Kubectl 的各种子命令可以实现各种功能,在管理 Kubernetes 集群过程中kubectl是非常实用的工具。基于 YAML 配置文件创建容器资源的方式,优点在于配置文件提供了创建资源的模板,能够重复部署,可以像管理代码一样管理部署,适合正式的、跨环境的、规模化部署。原创 2023-08-17 21:24:01 · 279 阅读 · 0 评论 -
Kubernetes网络组件详解
而在云计算的世界中,计算是最基础的,存储是最重要的,网络则是最复杂的。源主机的 flanneld 服务将原本的数据内容 UDP 封装后根据自己的路由表投递给目的节点的 flanneld 服务,数据到达以后被解包,然后直接进入目的节点的 flannel0 虚拟网卡,之后被转发到目的主机的 docker0 虚拟网卡,最后就像本机容器通信一下的有 docker0 路由到达目标容器。它的功能是让集群中的不同节点主机创建的 Docker 容器都具有全集群唯一的虚拟 IP 地址。原创 2023-08-17 18:41:29 · 552 阅读 · 0 评论 -
基于Prometheus监控Kubernetes集群
在 ports 中定义暴露的端口库号列表,对外暴露访问的端口是 80,容器内部的端口也是 80。Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。原创 2023-08-17 14:09:32 · 937 阅读 · 0 评论 -
Kubernetes+EFK构建日志分析平台
由于 Kubernetes 在容器编排领域的强势领先,使得越来越多的企业将业务迁至基于 Docker+Kubernetes 技术栈打造的容器管理平台,所以在 Kubernetes 集群环境下如何打造高效、可靠的业务日志收集系统也成为企业必须面临的问题。Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。Elasticsearch 具有如下特点。原创 2023-08-17 10:33:15 · 1618 阅读 · 0 评论 -
Kubernetes 企业级高可用部署
因为haproxy运行在master节点上,当master节点异常后,haproxy服务也会停止,为了避免这种情况,我们在每一台master节点都部署haproxy服务,达到haproxy服务高可用的目的。由于多master节点会出现投票竞选的问题,因此master节点的数据最好是单数,避免票数相同的情况。每台master节点中的配置均相同,配置中声明了后端代理的每个master节点服务器,指定了haproxy的端口为16443,因此16443端口为集群的入口。此处的vip节点为k8s-master1。原创 2023-08-16 09:19:36 · 943 阅读 · 0 评论 -
Kubernetes集群部署(第二篇)
默认这个部署文件当中,会单独创建一个名为kubernetes-dashboard的命名空间,并将kubernetes-dashboard部署在该命名空间下。如果要删除这些资源,执行 kubectl delete deployment nginx-deployment 或者 kubectl delete -f nginx-deployment.yaml。(1)用kubectl命令直接创建,在命令行中通过参数指定资源的属性。代码仓库当中,有给出安装示例的相关部署文件,我们可以直接获取之后,直接部署即可。原创 2023-08-10 18:17:43 · 274 阅读 · 0 评论 -
Kubernetes集群部署
Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。[kubelet-start] :生成kubelet 的配置文件”/var/lib/kubelet/config.yaml”,没有这个文件kubelet无法启动,所以初始化之前的kubelet 实际上启动失败。很多镜像都是在国外的服务器上,由于网络上存在的问题,经常导致无法拉取镜像的错误,所以最好将镜像拉取地址设置成国内的。原创 2023-08-09 20:26:25 · 408 阅读 · 0 评论 -
Kubernetes工作原理
传统部署时代: 早期是在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配出现问题。例如:如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况,结果可能会导致其他应用程序的性能下降。一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展,并且组织维护许多物理服务器的成本很高。虚拟化部署时代: 虚拟化功能允许在单个物理服务器上运行多个虚拟机(VM)。虚拟化功能可以实现应用程序在VM之间隔离原创 2023-08-09 13:48:27 · 942 阅读 · 1 评论 -
构建Docker容器监控系统(Cadvisor +Prometheus+Grafana)
Cadvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行Cadvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。原创 2023-08-08 16:49:37 · 1222 阅读 · 0 评论 -
构建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 · 2699 阅读 · 1 评论 -
Harbor企业镜像仓库部署
最近公司将项目全部打包成镜像有部署私有仓库服务的需求,经过几轮商讨,最终选择 Docker Harbor,Docker Harbor 有可视化的 Web 管理界面可以方便管理Docker 镜像操作也很方便简单,又提供了多个项目的镜像权限管理控制功能等。出现这问题的原因是 Docker 自从 1.3.X 之后 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。另外,默认情况下Harbor 将镜像存储在本地文件系统上。原创 2023-08-07 21:38:06 · 665 阅读 · 0 评论 -
Docker网络模型详解
设想一下后端容器需要调用一个数据库环境,数据库容器和后端服务容器如果使用上下文中的暴露端口或者映射端口来通信,势必会把数据库的端口也暴露在外网中,导致数据库容器的安全性大大降低,为了解决这个问题,docker允许用户建立一个独立的网络来放置相应的容器,只有在该网络中的容器才能相互通信,外部容器是无法进入这个特定网络中的。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。端口映射的用途是宿主机网络与容器的通信,而容器互联是容器之间的通信。原创 2023-08-04 15:35:16 · 363 阅读 · 0 评论 -
Docker-Compose编排与部署
即orchestration,它根据被部署的对象之间的耦合关系,以及被部署对象环境的依赖,制定部署流程中各个动作的执行顺序,部署过程所需要的依赖文件的存储位置和获取方式,以及如何验证部署成功。接下来,启动容器的方法也很简洁,这个方法中完成了一个Docker容器启动所需的主要参数的封装,并在container模块执行启动。,即deployment,它是指按照编排所指定的内容和流程 ,在目标机器上执行编排指定环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认联署成功。原创 2023-08-03 21:40:10 · 2602 阅读 · 0 评论 -
docker容器创建私有仓库(第三篇)
用户需要在容器之间共享一些持续性更新的数据时,可以使用数据卷容器。数据容器也是一个普通的容器。里边带有设置好的数据卷,专门提供给其他容器挂载使用。通过--volumes-from 数据卷容器名来实现。原创 2023-08-02 19:52:04 · 645 阅读 · 0 评论 -
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 · 1020 阅读 · 2 评论 -
Ansible自动化运维工具的认识
Ansible是最近非常火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误,Ansible可以通过本身集成的非常丰富的模块实现各种管理任务,其自带模块数量已超过上千个,更为重要的是,它的操作非常简单,即使新手也比较容易上手,Ansible提供的功能却非常丰富,在运维领域,几乎可以实现任何事情。。原创 2023-07-18 11:57:13 · 543 阅读 · 0 评论 -
MongoDB数据库
a、使用MongoDB的`mongodump`命令导出MongoDB的备份数据。- `bindIp`:绑定的 IP 地址。默认为 `127.0.0.1`,即本地访问,如果需要远程访问需要将其改为 `0.0.0.0`。(注:以上是在MongoDB中创建并设置管理员账户的步骤,注意密码的安全性和复杂度。绑定的IP地址,默认值为`0.0.0.0`,表示可以连接所有的IP地址。在实践中,备份和还原数据时需要谨慎操作,以确保数据的完整性和安全性。MongoDB数据库使用的文件夹路径,默认路径为`/data/db`原创 2023-06-13 20:10:08 · 554 阅读 · 0 评论 -
redis开源数据库的配置及应用
Redis 客户端工具 `redis-cli` 可以使用`SET`、`MSET`、`HSET`、`HMSET`等命令,同时还可以将数据保存在一个文本文件中,然后导入到数据库中。需要注意的是,AOF 持久化会带来一定性能损失,因尽量选择每秒同步一次的策略,来保证数据的安全性和性能表现的平衡)如果使用的是 RDB 持久化,可以找到最新的 dump.rdb 文件,在 redis-cli 下执行令即可。可以使用 Redis 自带的数据导入命令`SET`,以及相应的数据类型命令,将数据添加到 Redis 数据库中。原创 2023-06-12 20:46:48 · 959 阅读 · 0 评论 -
规划和实施一个生产环境跟基本流程
需要考虑CPU、内存、带宽等各种硬件资源的分配和配置,同时也需要考虑机器的物理分布和网络互连的规划,这样才能确保系统的高可用性。需要为每个虚拟机分配适当的CPU核数、内存大小、硬盘容量和网络带宽等资源,以满足各个虚拟机的运行需求。生产环境需要确保安全性和可靠性,包括对虚拟机的访问控制、防火墙配置、身份验证等方面进行注意和规划。需要考虑虚拟机和应用程序的监控、维护、更新和升级等方面,以确保生产环境的稳定性和可靠性。6、配置监控和维护系统,实时监控虚拟机和应用程序的运行状态,并采取必要的措施防止问题发生。原创 2023-06-09 20:32:28 · 209 阅读 · 0 评论 -
企业级MySQL部署方案及所用网络环境
yum -y install epel-release #安装软件包安装工具。5、安全控制:为了保障数据安全性,需要限制访问MySQL数据库的权限,限制用户访问数据库的权限,采用SSL加密进行通信等。4、数据备份和恢复:定期备份MySQL数据库是非常重要的,可以采用物理备份或逻辑备份的方式,以确保数据可靠性和安全性。(3)问题:开发自己创建数据库,写入数据,规划数据库表结构,没有分表,customer 用户,查询数据库,分表。原创 2023-06-08 16:17:53 · 676 阅读 · 0 评论 -
Linux系统MySQL数据库的主从配置实现数据同步
需两个虚拟机,都安装了MySQL数据库,网络环境一致(IP网段一致),关闭防火墙。接下来就可以主服务器数据一变更从服务器就跟着变更数据,实现自动同步数据;2、在主库服务器上创建一个用于从库访问的备份用户(创建一个远程用户)3、在主库服务器上获取二进制日志文件和位置信息。而从服务器更改数据,主服务器也会跟着变更数据。1、在主库服务器上开启二进制日志记录功能。5、在从库服务器上添加主库信息。6、启动从库的复制进程。原创 2023-06-07 14:53:26 · 541 阅读 · 0 评论 -
MySQL数据库的优化、备份及远程连接
(工具提取链接:https://pan.baidu.com/s/1vm6mWN5U-uoVeyOurB_WKw?下载 安装 MySQL Workbench(MySQL 官方工具);前提是配置好 MySQL数据库。打开 MySQL Workbench 并单击“+”按钮。提取完后直接安装就可以了)使用mysqldump工具。客户端远程连接服务端。1、win10远程连接。原创 2023-06-06 15:10:20 · 187 阅读 · 0 评论 -
Linux系统tomcat服务
Service 可以内嵌的元素为 : Listener、Executor、Connector、Engine,其中 : Listener 用于为Service添加生命周期监听器, Executor 用于配置Service 共享线程池,Connector 用于配置Service 包含的链接器, Engine 用于配置Service中链接器对应的Servlet 容器引擎。(tomcat 服务器的核心配置文件,包含了Tomcat的 Servlet 容器(Catalina)的所有配置。原创 2023-05-30 19:20:26 · 257 阅读 · 0 评论 -
Linux系统Rsync服务及配置
secreys file=/etc/rsync.passwd 指定认证用户密码。它可通过LAN/WAN快速同步堕胎主机间的文件和目录,并适当利用rsync算法减少数据的传输。(实时监控本机/var/www/heml目录的变化,可打开另一个终端进行实验)fake super=yes 用于允许非root用户,在备份目录创建文件。path=/backup 指定模块目录路径。rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及传递拷贝。lgnore errors 屏蔽错误报错。原创 2023-05-29 17:06:21 · 1996 阅读 · 3 评论 -
Linux系统nginx服务配置及实验
reload 重载。http{}:定义http传输的配置项。pid:定义进程pid文件路径。error_log:定义错误日志名称及日志级别。server{}:定义主机头信息。worker_processes:定义工作进程数量。events{worker_connectuins}:定义每个工作进程的链接数量。网页访问根文档路径:/usr/share/nginx/html。主机头配置文件:conf.d/default.conf。日志文件路径:/var/log/nginx。路径:/etc/nginx。原创 2023-05-29 16:58:27 · 273 阅读 · 1 评论 -
Linux系统apache服务
DocumentRoot "/usr/local/apache/htdocs/web1" #打开路径。修改主配置文件:vim /usr/local/apache/conf/httpd.conf。再配置:./configure --prefix=/usr/local/apache。配置文件:/usr/local/apache/conf/httpd.conf。主配置文件:/etc/httpd/conf/httpd.conf。ErrorLog”logs/error_log” (定义:错误日志路径;原创 2023-05-25 22:01:47 · 485 阅读 · 2 评论 -
搭建Linux系统iSCSI磁盘共享服务
iscsiadm -m discovery -t st -p 服务器IP:3260。6、 进入到/iscsi/iqn.20...909/tpg1/acls目录中创建访问控制规则。7、 进入到/iscsi/iqn.20...909/tpg1/portals目录中创建端口。5、 进入到/iscsi/iqn.20...909/tpg1/luns目录中创建逻辑单元。(注:要把原本的端口0.0.0.0:3260删除再创建,否则依然沿用原先端口)iscsiadm -m node -T 新iqn编号 -l。原创 2023-05-24 23:20:02 · 1041 阅读 · 0 评论 -
Linux系统DNS解析服务及实验解析
4. 切换到数据文件夹,将正向解析文件named.localhost和反向解析文件named.empty各复制一份,用命令cp -p复制,可保留原始文件的属性跟权限;然后进入复制的文件内进行更改。4.重启服务,在从服务器中的/var/named/slaves中有没有主服务器的修改过正反解析文件。第一种方法:在网卡配置文件中添加指定dns服务器的 地址:DNS1=服务器IP地址。从域名服务器:同步主服务器数据,提供访问,减轻主服务器的压力。配置文件:主配置文件:/etc/named.conf。原创 2023-05-23 20:45:40 · 799 阅读 · 0 评论 -
Linux系统FTP文件共享服务安装与验证
(被动模式下,客户端同样会开启n、n+1两个端口,不同的是在建立数据连接时由客户端发起连接建立)(主动模式下,客户端会开启n、n+1两个端口,n作为客户端的命令端口,n+1作为客户端的数据端口)匿名用户:是一种最不安全的模式,任何人都可无需密码验证而直接登陆到FTP服务器。工作目录:/var/ftp、/var/ftp/pub。FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输。命令连接(控制连接):客户端发起的请求,服务器响应默认一直保持连接。客户端安装ftp,否则无法使用ftp命令。原创 2023-05-22 22:33:51 · 834 阅读 · 0 评论 -
Linux系统配置DHCP服务器及相关知识
指定dhcp服务器 (dhcrelay 服务器IP地址)hardware ethernet 指定客户端的MAC地址:ifconfig(可查看到地址)更新不成功,继续使用至租约到期,客户端地址失效,重新发送discovery包获取新的网络参数。更新不成功,则租约期限再过半(75%)时,向服务器发送request包,请求更新租约。若之前的网络参数被占用,则发送nack包,客户端重新discovery。模板文件:/usr/share/doc/dhcp*/dhcpd.conf.example。原创 2023-05-18 17:46:45 · 596 阅读 · 0 评论