- 博客(56)
- 收藏
- 关注
原创 Podman应用
Podman使用拉取镜像[root@localhost ~]# podman pull nginxResolving "nginx" using unqualified-search registries (/etc/containers/registries.conf)Trying to pull docker.io/library/nginx:latest...Getting image source signaturesCopying blob c90b090c213b done Co
2021-08-13 13:46:51
508
原创 podman
podmanPodman简介 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。Podman工作机制Pod
2021-08-12 13:16:30
543
原创 基于Docker-compose.yml部署lnmp
基于Docker-compose.yml部署lnmp安装docker-compose[root@node1 ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose[root@node1 ~]# chmod +x /usr/local/bin/docker-compose
2021-08-11 13:33:03
372
原创 Docker Private Registry
Docker Private Registry网上有很多的Registry服务器都支持第三方用户注册,而后基于用户名去做自己的仓库,但是使用互联网上的Registry有一个缺陷,那就是我们去推送和下载镜像时都不会很快,而在生产环境中很可能并行启动的容器将达到几十、上百个,而且很有可能每个服务器本地是没有镜像的,此时如果通过互联网去下载镜像会有很多问题,比如下载速度会很慢、带宽会用很多等等,如果带宽不够的话,下载至启动这个过程可能要持续个几十分钟,这已然违背了使用容器会更加轻量、快速的初衷和目的。因此,很
2021-08-10 13:03:10
141
原创 docker存储卷
docker存储卷docker数据卷应用场景在多个容器之间共享数据,多个容器可以同时以只读或者读写的方式挂载统一个数据卷,从而共享数据卷中的数据当宿主机不能保证一定存在某一个目录或一些固定的文件路径时,使用数据卷可以规避这种限制带来的问题当想把容器中的数据存储在宿主机之外的地方时,比如远程主机上和云存储上当你需要把容器数据在不同宿主机之间备份、恢复或迁移时,数据卷是很好的选择背景:一个程序,对于容器来说,启动时依赖于可能不止一层的镜像,联合挂载启动而成,使用overlay2文件系统,引导最上
2021-08-05 11:05:06
161
原创 Docker储存卷应用
储存卷应用Docker存储卷 COW机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实
2021-08-04 12:32:43
135
原创 Docker容器虚拟化
Docker容器虚拟化虚拟化网络Network Namespace 是 Linux内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同NetworkNamespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三
2021-08-03 13:14:28
401
原创 镜像的概念
镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs:位于bootfs之上,表现为docker容器的根文件系统传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读”模式,完整性自检
2021-07-28 23:22:57
5379
1
原创 docker的基础用法
docker基础用法什么是 DockerDocker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的Go 语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0协议,项目代码在GitHub 上进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其RHEL6.5 中集中支持 Docker;Google 也在其 Pa
2021-07-27 23:22:13
1182
5
原创 docker容器技术基础入门
docker容器技术基础入门容器(Container)传统虚拟化与容器的区别Linux容器技术Linux NamespacesCGroupsLXCdocker基本概念docker工作方式docker容器编排容器(Container)- 容器是一种基础工具;泛指任何可以用于容纳其他物品的工具,可以部分或完全封闭,被用于容纳、储存、运输物品;物体可以被放置在容器中,而容器则可以保护内容物;- 人类使用容器的历史至少有十万年,甚至可能有数百万年的历史;- 容器的类型 - 瓶 -
2021-07-26 20:53:40
211
原创 SaltStack分布式架构
SaltStack分布式架构salt-syndic的优劣势优势:可以通过syndic实现更复杂的salt架构减轻master的负担劣势:syndic的/srv目录下的salt和pillar目录内容要与最顶层的master下的一致,所以要进行数据同步,同步方案同salt-master高可用最顶层的master不知道自己有几个syndic,它只知道自己有多少个minion,并不知道这些minion是由哪些syndic来管理的salt-syndic部署环境主机IP主
2021-07-22 22:33:38
282
1
原创 SaltStack进阶
SaltStack进阶[root@master base]# vim test.sls{% for user in ['test1','test2'] %}{{ user }}: user.present{% endfor %}[root@master base]# salt '*' state.sls testminion1:---------- ID: test1 Function: user.present Result: True
2021-07-21 22:23:40
114
原创 SaltStack状态间的关系
1、unless状态间的条件判断,如果判断成功则不执行所在id的指令,判断失败则执行2、onlyif状态间的条件判断,如果判断失败则不执行所在id的指令,判断成功则执行3、require此状态依赖于另一个状态(我依赖某个状态,也就是某个状态失败了,我也就不执行name)4、require_in此状态被另一个状态所依赖5、watch我的状态关注某一个状态 (可以用于监控某个文件是否改变,如果改变则执行某个指令)6、watch_in我的状态被某一个状态所关注7.extend扩展某个S.
2021-07-15 13:34:18
141
原创 saltstack——return与job管理
什么是job??master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。在saltstack中执行任何一个操作都会在master上产生一个jid号,minion端接收到指令开始执行时,会在cache目录下地proc目录创建一个以jid命名的文件这个文件的内容就是本次操
2021-07-09 00:51:21
219
1
原创 SaltStack常用模块——file
检查指定路径是否存在[root@master ~]# salt '*' cmd.run 'ls /usr/src'192.168.136.132: debug group kernels passwd shadow[root@master ~]# salt '*' file.access /usr/src/tjj f192.168.136.132: False检查指定文件的权限信息[root@master ~]# salt '*' cmd.ru
2021-07-08 12:41:09
443
3
原创 saltstack常用的模块
1. SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStackModule来实现的。当安装好Master和Minion包后,系统上会安装很多Module,大家可以通过以下命令查看支持的所有Module列表://查看所有module列表[root@localhost ~]# salt '192.16
2021-07-07 12:51:12
519
原创 SaltStack数据系统
SaltStack有两大数据系统GrainsPillargrains简介Grains是SaltStack的一个组件,存放在SaltStack的minion端。当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion重启时才会进行数据的更新。由于grains是静态数据,因此不推荐经常去修改它。应用场景:信息查询,可用作CMDB。在target中使用,匹配minion。在state系统中使用,配置管理模块自定义grains有两种方法,第一种
2021-07-05 02:14:31
176
1
原创 saltstack
> 自动化运维工具> 作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。> > 常用的自动化运维工具有:> > puppet ansible saltstack> 此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中a
2021-07-01 20:58:48
466
原创 nginx反向代理与负载均衡
反向代理与负载均衡nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力。nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,就直接从nginx发布的路径去读取,而不需要从后台服务器获取了。但是要注意,这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。如果要使用proxy_cache,需要集成第三方的ngx_cache_purge模块,用来清除指定的URL缓存
2021-06-30 13:12:49
199
2
原创 Nginx的rewrite和if rewrite
rewrite语法:rewrite regex replacement flag;,如:rewrite ^/images/(.*\.jpg)$ /tj/$1 break;此处的$1用于引用(.*.jpg)匹配到的内容,又如:rewrite ^/bbs/(.*)$ http://www.idfsoft.com/index.html redirect;如上例所示,replacement可以是某个路径,也可以是某个URL常见的flagflag作用last基本上都用这个fl
2021-06-29 00:39:30
163
1
原创 用zabbix监控nginx
用zabbix监控nginx服务端客户端主机名t1t2IP192.168.136.132192.168.136.134部署zabbix在客户端t2部署nginx创建nginx系统用户[root@t2 ~]# useradd -r -M -s /sbin/nologin nginx安装环境[root@t2 ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ wge
2021-06-27 22:22:36
96
原创 location应用
location应用没有修饰符[root@localhost ~]# cd /usr/local/nginx/conf/[root@localhost conf]# vim nginx.conf location /abc { echo "abc"; }[root@localhost conf]# nginx -s reload[root@localhost ~]# curl 192.168.136.132/abcabc[root@l
2021-06-27 20:43:51
276
1
原创 nginx平滑升级
创建nginx系统用户[root@localhost ~]# useradd -r -M -s /sbin/nologin nginx安装依赖环境[root@localhost ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ wget make[root@localhost ~]# yum -y groups mark install 'Development Tools'创建日志存放目录[roo
2021-06-27 18:48:24
100
原创 nginx访问控制、用户认证、https
nginx访问控制、用户认证、https 访问控制可以用在http, server, location, limit_exceptallow:设定允许哪台或哪些主机访问,多个参数间用空格隔开deny:设定禁止哪台或哪些主机访问,多个参数间用空格隔开示例:拒绝192.168.136.134访问[root@localhost ~]# cd /usr/local/nginx/conf/[root@localhost conf]# vim nginx.conf location /
2021-06-27 18:37:38
133
原创 nginx
nginx简介 nginx(发音同enginex)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx1.0.4发布。nginx的.
2021-06-24 00:19:09
382
原创 zabbix监控脑裂
简介在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。 对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:添加冗余的心跳线,例如:双线条线(心
2021-06-23 11:31:00
320
原创 Keepalived
Keepalived简介Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。它与HeartBeat实现类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专业的、功能完善的高可用软件,它提供HA软件所需的基本功能,比如:心跳检测、资源接管,检测集群中的服务,在集群节点转移共享IP地址的所有者等等。HeartBeat功能强大,但是部署和使用相对比较麻烦,与HeartBeat相比,Keepa
2021-06-22 02:49:41
1571
原创 KVM部署
kvm部署简介KVM(Kernel-Based Virtual Machines)是一个基于Linux内核的虚拟化技术,可以直接将Linux内核转换为Hypervisor(系统管理程序)从而使得Linux内核能够直接管理虚拟机, 直接调用Linux内核中的内存管理、进程管理子系统来管理虚拟机KVM在2007年2月被收录进Linux 2.6.20版本的内核虚拟化分为两种类型:1:Hypervisor直接运行在硬件上 (例如:kvm)2:Hypervisor运行在OS上 (例如:vm
2021-06-21 02:42:36
535
1
原创 Jenkins流水线
什么是CICD?CI/CD 的出现改变了开发人员和测试人员发布软件的方式。本文是描述这一变化的系列文章第一篇,这些文章将提供各种工具和流程的讲解,以帮助开发人员更好的使用 CI/CD。从最初的 瀑布模型,到后来的 敏捷开发,再到今天的 DevOps,这是现代开发人员构建出色产品的技术路线。随着 DevOps 的兴起,出现了持续集成,持续交付(CI/CD)和持续部署的新方法,而传统的软件开发和交付方式在迅速变得过时。过去的敏捷时代里,大多数公司的软件发布周期是每月、每季度甚至每年(还记得那
2021-06-18 00:52:24
501
原创 Jenkins介绍
[root@localhost ~]# cat /root/.jenkins/secrets/initialAdminPasswordafb605a3181446acb54b71260c58c3ca
2021-06-17 01:18:25
81
原创 jenkins部署
jenkins部署前提是部署lamt[root@localhost ~]# wget https://get.jenkins.io/war-stable/2.289.1/jenkins.war[root@localhost ~]# mv jenkins.war /usr/local/tomcat/webapps/[root@localhost ~]# cd /usr/local/tomcat/webapps/[root@localhost webapps]# lsdocs examples
2021-06-16 00:25:09
111
1
原创 常见的中间件有哪些
什么是中间件中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)我
2021-06-16 00:03:55
734
原创 lamt部署
LAMTlamt部署主机IP服务192.168.136.135httpd-2.4.43 、 mysql-5.7 、 tomcat-9.0.46关闭防火墙和selinux[root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0安装httpd创建apache服务的用户和组[root@localhost ~]# useradd -r -
2021-06-16 00:03:47
92
原创 haproxy
haproxyhaproxy简介HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。 HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。其支持从4层至7层的网络交换,即覆盖.
2021-06-15 18:36:41
7137
2
原创 gitlab
gitlabGitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,A
2021-06-15 01:29:34
221
原创 LVS...
Lvs简介LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持TCP/UDP 的负载均衡。 LVS 的转发主要通过修改 IP 地址(NAT 模式,分为源地址修改 SNAT 和目标地址修改DNAT)、修改目标 MAC(DR 模式)来实现。那么为什么 LVS 是在第四层做负载均衡? 首先 LVS 不像 HAProxy
2021-06-15 00:23:57
142
原创 rsync
什么是 rsync?rsync 在传输数据的过程中可以实行压缩及 解压缩 操作,因此可以使用更少的带宽。 安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 支持匿名传输,以方便进行网站镜像。1、认识Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
2021-06-07 22:50:17
296
原创 NFS..
配置步骤服务端安装启动nfs并关闭防火墙和selinux[root@localhost ~]# dnf -y install nfs-utilsCentOS Stream 8 - AppStream 1.3 kB/s | 4.4 kB 00:03 CentOS Stream 8 - AppStream 1.5 MB/s | 9.6 MB 00:06
2021-06-06 15:43:58
153
原创 运维发布的方式
运维部署:各种发布方式蓝绿部署灰度发布(金丝雀发布)滚动发布红黑部署蓝绿部署蓝绿部署涉及两个生产环境,蓝色环境指当前正在使用的生产环境,绿色环境指将要发布新版本的环境(热备环境),通过在两个生产环境中切换流量来实现应用版本的更新。应用更新时,蓝色环境仍然对外提供服务,绿色环境升级应用版本,测试通过后,通过负载均衡变更,将流量指向绿色环境。首先,这是用于0 downtime应用上线时的一套部署策略。其次,要知道蓝绿部署无需停机,不停止老版,额外搞一套新版本,等测试发现新版本OK.
2021-05-25 18:53:51
310
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人