Linux
文章平均质量分 90
见习宇航员*
迭代是有执行条件的,而且随时可以return或者break
展开
-
K8S的基础概念
用于自动部署、扩展和管理“容器化( containerized) 应用程序”的开源系统可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是–个生态极其丰富的容器编排框架工具由来:k8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经G0语言延用Borg的思路重写并捐献给CNCF基金会开源含义:词根源于希腊语的舵手、飞行员官网:https://kubernetes.ioGitHub: https://github.com/kubern原创 2023-06-19 08:51:18 · 1387 阅读 · 0 评论 -
Docker-compose
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。原创 2023-06-19 08:49:06 · 3175 阅读 · 0 评论 -
ansible的剧本(playbook)
playbooks 本身由以下各部分组成(1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行(2)Variables:变量(3)Templates:模板(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作(5)Roles:角色2.2 修改配置文件并放入/opt/目录下在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务原创 2023-06-19 08:45:59 · 1198 阅读 · 0 评论 -
ansible的部署和命令模块
Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。原创 2023-06-13 08:50:18 · 1640 阅读 · 0 评论 -
Docker安全
(文件描述符:简称fd,当应用程序请求内核打开/新建一个文件时,内核会返回 一个文件描述符用于对应这个打开/新建的文件,文件描述符本质上就是一个非负整数,读写文件也是需要使用这个文件 描述符来指定待读写的文件的。文件描述符是一个重要的系统资源,理论上系统内存多大就应该可以打开多少个文件描述符,但是实际情况是,内核会有系统级限制,以及用户级限制,不让某一个应用程序进程消耗掉所有的文件资源,可以使用ulimit -n 查看)如果证书验证通过,就会生成一个随机的密钥对,用证书的公钥加密。原创 2023-06-13 08:47:28 · 1637 阅读 · 0 评论 -
Docker consul的容器服务更新与发现
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。原创 2023-06-13 08:48:21 · 1686 阅读 · 0 评论 -
Docker-harbor私有仓库
• Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务• Harbor以 Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成、以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。原创 2023-06-13 08:44:39 · 2696 阅读 · 1 评论 -
Docker 搭建本地私有仓库
v: 把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。在容器中启动私有镜像仓库并将私有仓库的存储目录挂载到宿主机指定目录中,这样做的目的是,如果容器被删除了,存储在容器中的镜像就不会被删掉(no:默认策略,在容器退出时不重启容器。原创 2023-06-13 08:45:28 · 2651 阅读 · 0 评论 -
Dockerfile构建镜像
升级所有包,系统版本和内核,改变软件设置和系统设置。这里因为升级太浪费时间,所以没升级。yum -y update(所有都升级和改变)原创 2023-06-13 08:42:56 · 138 阅读 · 0 评论 -
Docker的数据管理
• 但是当编写一个新的Dockerfile文件来基于A镜像构建一-个镜像( 比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。容器其实是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写到这个读写层。(5) 镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件,只是这个文件在Docker容器中不可见了。原创 2023-06-13 08:43:43 · 1406 阅读 · 0 评论 -
Docker的资源控制管理
使用--cpu-period即可设置调度周期,使用--cpu-quota即可设置在每个周期内容器能使用的CPU时间。#创建两个容器为 c1 和 c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为1/3和2/3。CFS周期的有效范围是1ms~1s, 对应的--cpu-period的数值范围是1000~1000000。容器的CPU 配额必须不小于1ms,即--cpu-quota 的值必须>= 1000。可以设置每个容器进程的调度周期,以及在这个周期内各个容器最多能使用多少CPU时间。原创 2023-06-13 08:40:56 · 991 阅读 · 0 评论 -
ELK+FileBeat日志分析系统
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。原创 2023-06-05 09:17:35 · 892 阅读 · 1 评论 -
分布式存储Ceph的部署及应用(创建MDS、RBD、RGW 接口)
存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。原创 2023-06-05 09:12:30 · 1613 阅读 · 0 评论 -
初识Docker
• Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源• Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”• Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。原创 2023-06-05 08:58:13 · 650 阅读 · 0 评论 -
基于zookeeper的kafka中间件
Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。原创 2023-06-05 08:54:57 · 702 阅读 · 0 评论 -
Docker网络模式
Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是 每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过 Container-IP 访问到容器。原创 2023-06-05 08:53:22 · 603 阅读 · 0 评论 -
zabbix监控系统
作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以:●通过一个友好的界面进行浏览整个网站所有的服务器状态●可以在 Web 前端方便的查看监控数据●可以回溯寻找事故发生时系统的问题和报警情况案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息明确需要执行的 linux 命令。原创 2023-05-24 09:07:58 · 2600 阅读 · 0 评论 -
rsync远程同步
rsync,remote synchronize顾名思义就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。作用:做数据备份。原创 2023-05-22 09:01:01 · 1023 阅读 · 0 评论 -
Redis主从复制,哨兵模式和集群模式
哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式,所有节点上都需要部署哨兵模式,哨兵模式会监控所有的Redis 工作节点是否正常,当Master 出现问题的时候,因为其他节点与主节点失去联系,因此会投票,投票过半就认为这个 Master 的确出现问题,然后会通知哨兵间,然后从Slaves中选取一个作为新的 Master。• 自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。原创 2023-05-22 08:58:41 · 855 阅读 · 0 评论 -
Redis的五大数据类型
1 . string类型写命令通过set关键字实现,set [key] [value]读命令通过get关键字实现,get [key]2 . list列表类型通过rpush、lpush,将一个或多个值向右或向左推入。rpush [key] [value1] [value2],将value值推入到列表的右端。lpush [key] [value1] [value2],将value值推入到列表的左端lrange level 0 -1 ,查看列表key为level的所有元素。原创 2023-05-16 10:34:36 · 1631 阅读 · 0 评论 -
Redis配置、优化以及相命令
Redis(远程字典服务器)是一个开源的、使用C语言编写的NoSQL数据库Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;原创 2023-05-16 10:32:44 · 470 阅读 · 0 评论 -
MHA高可用及故障切换
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。原创 2023-05-16 10:30:59 · 511 阅读 · 0 评论 -
MySQL主从复制与读写分离
MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。从库使用高性能主机。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高。提供NTP对时的服务器有很多,比如微软的NTP对时服务器,利用NTP服务器提供的对时功能,可以使我们的设备时钟系统能够正确运行。原创 2023-05-16 10:27:10 · 582 阅读 · 0 评论 -
MySQL高级语句(三)
存储过程是一组为了完成特定功能的SQL语句集合存储过程在使用过程中是将常用或者复杂的工作预先使用 SQL 语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中,当需要使用时,只需要调用即可存储过程在执行上比传统SQL速度更快、执行效率更高。原创 2023-05-15 09:02:05 · 952 阅读 · 0 评论 -
MySQL高级语句(一)
语法:SELECT "字段1", SUM("字段2") FROM "表格名" GROUP BY "字段1" HAVING (函数条件);语法:SELECT "字段" FROM "表名" [WHERE "条件"] ORDER BY "字段" [ASC, DESC];语法:SELECT "表格別名"."字段1" [AS] "字段別名" FROM "表格名" [AS] "表格別名";语法:SELECT "字段1", SUM("字段2") FROM "表名" GROUP BY "字段1";原创 2023-05-15 08:59:47 · 1444 阅读 · 0 评论 -
MySQL日志管理、备份与恢复
mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000005 #查看二进制日志文件。##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的。mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql。原创 2023-05-15 08:58:14 · 764 阅读 · 0 评论 -
MySQL存储引擎
• MyISAM不支持事务,也不支持外键约束,只支持全文索引,数据文件和索引文件是分开保存的• 访问速度快,对事务完整性没有要求• MyISAM适合查询、插入为主的应用• MyISAM在磁盘上存储成三个文件,文件名和表名都相同,但是扩展名分别为:▷ .frm文件存储表结构的定义▷ 数据文件的扩展名为.MYD (MYData)▷ 索引文件的扩展名是.MYI (MYIndex)• 表级锁定形式,数据在更新时锁定整个表• 数据库在读写过程中相互阻塞▷ 会在数据写入的过程阻塞用户数据的读取。原创 2023-05-15 08:56:07 · 651 阅读 · 0 评论 -
MySQL事务
在事务管理中,原子性是基础,隔离性是手段,一致性是目的,持久性是结果。原创 2023-05-15 08:55:47 · 729 阅读 · 0 评论 -
MySQL索引
需要满足最左原则,因为 select 语句的 where 条件是依次从左往右执行的,所以在使用 select 语句查询时 where 条件使用的字段顺序必须和组合索引中的排序一致,否则索引将不会生效。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。●索引需要占用额外的磁盘空间。索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。原创 2023-05-15 08:53:33 · 664 阅读 · 0 评论 -
MySQL数据库用户管理以及数据库用户授权
来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.bbc.com”、“192.168.229.%”等。'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;原创 2023-05-15 08:50:02 · 976 阅读 · 0 评论 -
MySQL数据库管理
临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;注意:与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。(1)以公共关键字作主键的表为主键表(父表、主表)(2)以公共关键字作外键的表为外键表(从表、外表)行(记录):用来描述一个对象的信息。列(字段):用来描述对象的一个属性。外键约束(foreign key)原创 2023-05-15 08:47:46 · 880 阅读 · 0 评论 -
MySQL的概念、编译安装,以及自动补全
• 面向Windows操作系统• 简单、易用非关系数据库大部分以键值对的方式进行存储(例如:name=xxx),之间没有特定的联系,安全性不是很高,非关系数据库很多将数据是写在内存当中,所以读写速度快一款深受欢迎的开源关系型数据库Oracle旗下的产品遵守GPL协议,可以免费使用与修改特点:性能卓越、服务稳定开源、无版权限制、成本低多线程、多用户基于C/S(客户端/服务器)架构安全可靠。原创 2023-05-15 08:45:46 · 816 阅读 · 0 评论 -
Haproxy集群
LVS不支持正则处理,不能实现动静分离对于大型网站LVS的事实配置较为复杂,维护成本相对较高Haproxy是一款可以供高可用性、负载均衡和基于TCP和HTTP应用的代理软件适用于负载较大的站点运行在硬件上可支持数以万计的并发连接请求默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。需要修改rsyslog配置,为了便于管理。原创 2023-05-05 08:45:25 · 570 阅读 · 0 评论 -
Haproxy集群
LVS在企业中康复在能力很强,但存在不足:LVS不支持正则处理,不能实现动静分离对于大型网站LVS的事实配置较为复杂,维护成本相对较高Haproxy是一款可以供高可用性、负载均衡和基于TCP和HTTP应用的代理软件适用于负载较大的站点运行在硬件上可支持数以万计的并发连接请求默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。原创 2023-05-04 19:29:53 · 629 阅读 · 0 评论 -
LVS+Keepalived 群集部署
keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS集群中各个服务节点的状态,后来又加入了可以实现高可用的 VRRP 功能。因此,keepalived 除了能够管理 LVS集群外,还可以为其他服务(例如:Nginx、Haproxy、MySQL等)实现高可用。keepalived 软件主要是通过 VRRP 协议实现高可用功能的。原创 2023-05-04 11:26:32 · 392 阅读 · 0 评论 -
部署LVS-DR集群
1、LVS/DR如何处理请求报文的,会修改IP包内容吗?vs/dr本身不会关心IP层以上的信息,即使是端口号也是tcp/ip协议栈去判断是否正确,vs/dr本身主要做这么几个事:接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip;以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;在hash table中记录连接信息。原创 2023-05-04 07:54:14 · 554 阅读 · 0 评论 -
部署LVS-NAT群集实验
负载调度器:内网关 ens33:192.168.109.12,外网关 ens37:12.0.0.1外网Web节点服务器1:192.168.109.13Web节点服务器2:192.168.109.14NFS服务器:192.168.109.11客户端:12.0.0.10。原创 2023-04-23 23:01:22 · 444 阅读 · 0 评论 -
LVS负载均衡集群
互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器无法满足负载均衡及高可用的需求。原创 2023-04-23 22:51:38 · 668 阅读 · 0 评论 -
Nginx+Tomcat负载均衡、动静分离群集
本篇主要描述了实验的具体步骤,nginx与tomcat组合在实际生产中经常用到,动静分离可以充分发挥nginx与tomcat的优势,负载均衡可以大大减少一个服务器的压力,减少高并发风险。原创 2023-04-23 22:41:02 · 596 阅读 · 0 评论 -
Tomcat多实例部署实验
Tomcat多实例与虚拟主机不同,虚拟主机的本质是在一个服务下有多个相对独立的目录,但是多实例却存在了多个服务。原创 2023-04-23 22:33:50 · 735 阅读 · 0 评论