![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
企业自动化运维架构
Summer-skq
记录每一个对自己有用的信息!
展开
-
k8s(2)--k8s的pod管理
一、Pod是什么Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是最流行的容器环境。单容器Pod,最常见的应用方式。 多容器Pod,对于多容器Pod,Kubernetes会保证所有的容器都在同一台物理主机或虚拟主机中运行。多容器Pod是相对高阶的使用方式,除非应用耦合特别严重,一般不推荐使用这种方式。一个Po原创 2020-11-05 11:07:35 · 951 阅读 · 0 评论 -
企业自动化运维工具ansible(1)--ansible的介绍,安装与基本命令测试
一、Ansible是什么ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansi原创 2020-11-02 22:45:16 · 181 阅读 · 1 评论 -
ELK大数据日志分析平台--(3)kibana数据可视化的部署与分析
一、kibana简介Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。将地理数据融入任何地图:精选的时序性 UI,对您Elasticsearch 中的数据执行高级时间序列分析。利用 Graph 功能分析数据间的关系:Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。二、kibana安装与配置kibana下载:https://elasticsearch.cn/download/注意:下载的版本要和es和l原创 2020-10-05 16:15:05 · 275 阅读 · 0 评论 -
ELK大数据日志分析平台--(2)Logstash数据采集和分析
一、logstash简介Logstash是一个开源的服务器端数据处理管道。logstash拥有200多个插件,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(大多都是 Elasticsearch。)Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。输入输入:采集各种样式、大小和来源的数据Logstash 支持各种输入选择 ,同时从众多常用来源捕捉事件。 能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数原创 2020-10-05 16:05:42 · 676 阅读 · 0 评论 -
ELK大数据日志分析平台--(1)elasticsearch介绍及部署
一、elasticsearch简介简介Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据基础模块基础模块cluster:管理集群状态,维护集群层面的配置信息。 alloc原创 2020-09-30 11:15:59 · 244 阅读 · 0 评论 -
k8s---(1)Kubernetes介绍及部署(v1.19.1)
一、认识Kubernetes – k8sKubernetes是什么?Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”。K8s是将8个字母“ubernete”替换为“8”的缩写。通过Kubernetes你可以:快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用Kubernetes的目标是促进完善组件和工具的生态系统,以减轻应原创 2020-09-13 17:42:35 · 1570 阅读 · 1 评论 -
ansible 自动化构建系统负载均衡高可用架构项目流程详解
1.ansible roles简介Ansible roles是为了层次化、结构化地组织Playbookroles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们roles一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等相当于函数的调用把各个功能切割成片段来执行2.roles目录结构role_name 定义的rol原创 2020-09-11 22:28:41 · 230 阅读 · 1 评论 -
Docker---(13)Docker三剑客中的Docker Swarm
一、什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的DockerClient(compose,docker-py等)均可以直接与Swarm通信,甚至Docker本身都可以很容易的与Swarm集成,这大大方原创 2020-09-11 11:16:15 · 226 阅读 · 0 评论 -
Docker-(12)Docker三剑客中的Docker Compose
一、什么是Docker ComposeCompose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/compose上我们知道使用Dockerfile模板文件可以让用户很方便的定义一个单独的应用容器,其实在工作中,经常会碰到需要多个容器相互配合来完成的某项任务情况,例如工作中的web服务容器本身,往往会在后端加上数据库容器,甚至会有负责均衡器,比如LNMP服务Compose 就是来做这个事情的,它允许用户通.原创 2020-09-11 11:12:13 · 153 阅读 · 2 评论 -
Docker-(11)Docker三剑客中的Docker Machine
一、什么是Docker MachineDocker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https://github.com/docker/machine。Docker Machine 是一个工具,它允许你在虚拟宿主机上安装Docker,并使用docker-machine命令管理这个宿主机,可以使用Docker Machine在本地的MAC或者windows box、公司网络,数据中心或者AWS这样的云原创 2020-09-11 11:09:52 · 373 阅读 · 0 评论 -
Docker - (10)docker中的容器资源控制和安全加固
一、背景在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会导致主机和集群资源耗尽,服务完全不可用。docker 作为容器的管理者,自然提供了控制容器资源的功能。正如使用内核的 namespace 来做容器之间的隔离,docker 也是通过内核的 cgroups原创 2020-09-11 11:06:43 · 325 阅读 · 0 评论 -
Docker-(9) docker 安全
理解docker的安全1.Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:Linux内核的命名空间机制(namespace)提供的容器隔离安全 Linux控制组机制对容器资源的控制能力安全(cgroup)。 Linux内核的能力机制所带来的操作权限安全 Docker程序(特别是服务端)本身的抗攻击性。 其他安全增强机制对容器安全性的影响。2.命名空间隔离的安全当docker run启动一个容器时,Docker将在后台为容器原创 2020-09-11 11:03:07 · 116 阅读 · 0 评论 -
Docker-(8)docker数据卷
一、docker数据卷bind mount 模式其中 -v选项指定的路径,如果不存在,挂载时会自动创建,也可指定多个挂载。bind mount 示例:[root@server1 ~]# docker run -d --name vm1 -v /opt/website:/usr/share/nginx/html nginx92684dd0d2e25d8f0f458783e5ca6324f5d775e80df441faca0387eb84f8a59c[root@server1 ~]#原创 2020-09-07 22:31:20 · 127 阅读 · 0 评论 -
Docker-(7)docker网络
一、docker网络概述Docker作为目前最火的轻量级容器技术,有很多功能,如Docker的镜像管理,不足的地方比如网络方面。Docker自身的4种网络工作方式,和一些自定义网络模式安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host,可以使用以下命令查看:[root@server1 ~]# docker network lsNETWORK ID NAME DRIVER原创 2020-09-06 18:00:14 · 472 阅读 · 0 评论 -
Docker-(6)docker中harbor的安装与部署
一、HarborHarbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心原创 2020-09-06 17:22:35 · 782 阅读 · 0 评论 -
Docker-(5)docker的仓库 (公有,私有仓库)及用户的认证加密详解
一、仓库是什么仓库(Repository)就是存放镜像的地方。类似于 Node 的 npm; Python 的 PyPi。注册服务器(Registry)的概念比较容易与仓库混淆。实际上注册服务器是用来管理仓库的服务器,一个服务器上可以存在多个仓库,而每个仓库下可以有多个镜像。例如对于仓库地址 hub.dockerpool.com/nginx 来说,hub.dockerpool.com 是注册服务器的地址,nginx 是仓库名。二、Docker registry工作原理一次docker p原创 2020-09-05 09:23:21 · 578 阅读 · 0 评论 -
Docker-(4)docker镜像的优化
使用Dockerfile构建一个镜像用来安装nginx:vim Dockerfile FROM rhel7COPY dvd.repo /etc/yum.repos.d/ADD nginx-1.18.0.tar.gz /mntWORKDIR /mnt/nginx-1.18.0RUN rpmdb --rebuilddbRUN yum install -y gcc make pcre-devel zlib-develRUN sed -i.bak 's/CFLAGS="$CFLAGS -g"/原创 2020-09-04 17:52:25 · 121 阅读 · 0 评论 -
Docker-(3)Docker容器的分层原理及镜像使用详解
一、什么是docker 镜像就是把业务代码,可运行环境进行整体的打包二、如何创建docker镜像:现在docker官方共有仓库里面有大量的镜像,所以最基础的镜像,我们可以在公有仓库直接拉取,因为这些镜像都是原厂维护,可以得到即使的更新和修护。Dockerfile:我们如果想去定制这些镜像,我们可以去编写Dockerfile,然后重新bulid,最后把它打包成一个镜像,这种方式是最为推荐的方式包括我们以后去企业当中去实践应用的时候也是推荐这种方式。Commit :当然还有另外一种方原创 2020-09-04 17:34:59 · 929 阅读 · 0 评论 -
Docker-(2)Docker容器的基本操作指令使用
一、Docker 客户端docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 docker可以通过命令docker command --help更深入的了解指定的 Docker 命令使用方法。例如我们要查看 docker stats 指令的具体使用方法:docker stats --help二、容器使用获取镜像如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubu..原创 2020-09-04 16:32:54 · 163 阅读 · 0 评论 -
Docker-(1)docker的介绍及安装部署
一、Docker简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise原创 2020-09-04 16:01:22 · 111 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(7)用saltstack自动化部署nginx和zabbix
用saltstack自动化部署nginx和zabbix原创 2020-08-30 12:22:48 · 111 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(6) Saltstack中的salt-ssh部署,salt-syndic部署,salt-api 配置
一.salt-ssh部署1.salt-ssh简介salt-ssh可以独立运行的,不需要minion端。salt-ssh 用的是sshpass进行密码交互的。以串行模式工作,性能下降,即类似与ansible的模式。2.部署salt-ssh实验前关闭一个minion端:[root@server3 ~]# systemctl stop salt-minion安装salt-ssh:[root@server1 ~]# yum install -y salt-ssh配置r原创 2020-08-30 11:57:35 · 193 阅读 · 0 评论 -
企业自动化运维工具Saltstack(5)-job管理和外部数据库缓存信息
一、Job简介master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。Job缓存默认保存24小时:[root@server1 master]# vim /etc/salt/master1master端Job缓存目录:/var/cache/salt/原创 2020-08-30 11:46:04 · 132 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(4)Saltstack中jinjia模版的使用
一、Jinja模板简介Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja模板来做一些操作。通过jinja模板可以为不同服务器定义各自的变量。两种分隔符:{% ... %}和{{ ... }},前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上(引用)。二、Jinja模板使用方式使用控制结构包装条件Jinja最基本的用法是使用控制结构包装条件:[root@server1 salt]# vim test.sls[roo...原创 2020-08-30 11:39:28 · 197 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(3)Saltstack中的grains和pillar
Saltstack中的grains和pillar原创 2020-08-27 22:47:45 · 132 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(2)Saltstack的远程操作和连接
一、命令方式Salt命令由三个主要部分构成:salt '<target>' <function> [arguments]target: 指定哪些minion, 默认的规则是使用globe匹配minion id.salt内置的执行模块列表:http://docs.saltstack.cn/ref/modules/all/index.html[root@server1 minions]# salt '*' test.pingserver2: True原创 2020-08-27 17:34:47 · 130 阅读 · 0 评论 -
企业自动化运维工具Saltstack-(1)Saltstack简介及部署
Saltstack简介及部署一、Saltstack简介saltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。Salt的核心功能:使命令发送到远程系统是并行的而不是串行的 使用安全加密的协议 使用最小最快的网络载荷 提供简单的编程接口Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机原创 2020-08-27 17:26:16 · 133 阅读 · 0 评论 -
企业监控系统--zabbix_proxy的分布式部署实现对系统的监控
一.zabbix_proxy的介绍当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?其实,zabbix天生就有处理这种问题的能力,因为za原创 2020-08-26 20:35:00 · 132 阅读 · 0 评论 -
企业监控系统-abbix监控添加JMX实现对tomcat的监控,zabbix结合 Cloud Alert 睿象云实现邮件报警配置
zabbix监控添加JMX实现对tomcat的监控一、配置server21.安装jdk和tomcat首先,下载安装软件jdk-8u121-linux-x64.rpm和apache-tomcat-8.5.24.tar.gz;[root@server2 4.4]# rpm -ivh jdk-8u121-linux-x64.rpm[root@server2 4.4]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/[root@server原创 2020-08-26 20:08:30 · 256 阅读 · 0 评论 -
企业监控系统--zabbix实现对nginx的监控(自定义监控项),zabbix实现对 mysql的监控
一.zabbix实现对nginx的监控(自定义监控项)1.配置客户端在客户端编译安装nginx,配置nginx并打开nginx服务<1>编译安装nginx[root@server3 ~]# tar zxf nginx-1.18.1.tar.gz[root@server3 ~]# cd nginx-1.16.1 [root@server3 nginx-1.18.1]# yum install gcc pcre-devel zlib-devel -y #解决依赖性[roo原创 2020-08-25 21:37:59 · 222 阅读 · 0 评论 -
企业监控系统- Linux下通过API接口管理Zabbix所监控主机
一.API简介API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将 API 分为四种类型: 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应原创 2020-08-24 23:08:55 · 196 阅读 · 0 评论 -
CDN——Varnish详解及反向代理实现、负载均衡实现、cdn加速实现
CDN内容分发网络(Content Delivery Network,简称 CDN),将源内容同步到全国各边缘节点,配合精准的调度系统,将用户的请求分配至最适合他的节点,使用户可以以最快的速度取得他所需的内容,解决网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问的响应速度。工作原理CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求原创 2020-08-24 10:51:50 · 339 阅读 · 0 评论 -
企业监控系统-zabbix的安装与3种添加主机的方式(自动添加,手动添加,自动注册)
。。。待更新原创 2020-08-23 22:38:06 · 808 阅读 · 0 评论 -
企业监控系统-zabbix详细介绍
1.为什么要使用zabbix?对于运维人员来说,监控是非常重要的,因为如果想要保证公司的线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等原创 2020-08-23 21:55:53 · 700 阅读 · 0 评论 -
LNMP(16)-配置redis的主从复制和redis的高可用,Redis的集群实现
一.redis的编译与安装(5.0.8)[root@server1 Desktop]# tar zxf redis-5.0.8.tar.gz [root@server1 Desktop]# cd redis-5.0.8/[root@server1 redis-5.0.8]# make && make install上述表示Redis安装完毕。修改配置文件:[root@server1 utils]# cd /etc/redis/[root@server1 redis]# .原创 2020-08-23 16:01:46 · 178 阅读 · 0 评论 -
lnmp(15)- MySQLProxy实现mysql的读写分离
一.读写分离的作用1.什么是读写分离?MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行数据的读写分离。读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。简单来说,读写分离的基本原理就是,在主服务器上修改,数据会同步到从服务器,从服务器只能提供读取数据,不能写入,实现备份的同时也实原创 2020-08-21 23:04:32 · 146 阅读 · 0 评论 -
lnmp(14)- Redis的基础介绍
一.redis介绍redis是什么1.redis是一个开源的,遵守BSD协议,是一个高性能的key-value数据库,内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列的代理。支持字符串,哈希表,列表,集合,有序集合,位图,hyperloglogs等数据类型。内置复制,lua脚本,LRU收回,事务以及不同级别磁盘持续化功能,同时通过redis sentinel提供了高可用,通过redis cluster提供了自动分区。Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以原创 2020-08-21 22:57:33 · 123 阅读 · 0 评论 -
LNMP架构(13)- mysql的高可用负载均衡(组复制 + mysql路由器)+ mysql的MHA
1.mysql路由器MySQL Router最早是作为MySQL-Proxy的替代方案出现的。作为一个轻量级中间件,MySQL Router可在应用程序和后端MySQL服务器之间提供透明路由和负载均衡,从而有效提高MySQL数据库服务的高可用性与可伸缩行。 MySQL Router 2.0是其初始版本,适用于MySQL Fabric用户,但已被弃用,不再支持。MySQL Router 2.1为支持MySQL InnoDB Cluster而引入,MySQL Router 8.0则是MyS...原创 2020-08-19 17:27:04 · 191 阅读 · 0 评论 -
LNMP架构(12)-mysql组复制集群的配置(分布式存储的数据库)
一.mysql组复制(同步复制)组复制是一种可用于实现容错系统的技术。 复制组是一个通过消息传递相互交互的 server 集群。通信层提供了原子消息(atomic message)和完全有序信息交互等保障机制。 这些是非常强大的功能,我们可以据此架构设计更高级的数据库复制解决方案。复制组由多个 server成员构成,并且组中的每个 server 成员可以独立地执行事务。但所有读写(RW)事务只有在冲突检测成功后才会提交。只读(RO)事务不需要在冲突检测,可以立即提交。换句话说,对于任何 RW 事务,原创 2020-08-19 14:27:32 · 168 阅读 · 0 评论 -
LNMP架构(12)mysql的半同步复制原理及配置
server2:主机的配置mysql -p mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';Query OK, 0 rows affected (0.02 sec)mysql> show variables like 'rpl%';+-------------------------------------------+------------+| Variable_name .原创 2020-08-18 13:46:19 · 72 阅读 · 0 评论