自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mongodb

什么是mongodb?mondgodb是由c++语言编写的,是一个基于分布式文件存储的开源数据库系统在高负载的情况下,添加更多的节点,可以保证服务器新能mongodb指在web应用的场景提供可扩展的搞性能数据存储解决方案mongodb将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。主要特点主要特点MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。 你可

2021-08-31 16:01:32 467

原创 Kubernetes基础

Pod是什么?Pod是Kubernetes中能够创建和部署(运行)的最小逻辑单元(原子单元),是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是最流行的容器环境。单容器Pod,最常见的应用方式。 多容器Pod,对于多容器Pod,Kubernetes会保证所有的容器都在同一台物理主机或虚拟主机中运行。多容器Pod是相对高阶的使用方式,除非应用耦合特别严重,一般不推荐

2021-08-24 01:09:45 174

原创 podman

podman简介Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias docker = podman来使用podman。Podman控制下的容器可以由root用户运行,也可以由非特权用户运行

2021-08-12 13:16:08 229

原创 Docker Private Registry

Docker Private RegistryDocker Registry网上有很多的Registry服务器都支持第三方用户注册,而后基于用户名去做自己的仓库,但是使用互联网上的Registry有一个缺陷,那就是我们去推送和下载镜像时都不会很快,而在生产环境中很可能并行启动的容器将达到几十、上百个,而且很有可能每个服务器本地是没有镜像的,此时如果通过互联网去下载镜像会有很多问题,比如下载速度会很慢、带宽会用很多等等,如果带宽不够的话,下载至启动这个过程可能要持续个几十分钟,这已然违背了使用容器会更

2021-08-10 13:35:27 89

原创 dockerfile制作apache镜像

基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息 维护者信息 镜像操作指令 容器启动时默认要执行的指令例如:# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng# Command format

2021-08-06 13:36:03 362

原创 Docker存储卷

Docker存储卷COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。img对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制

2021-08-05 21:08:58 48

原创 docker四种网络配置

bridge模式配置[root@localhost ~]# docker run -it --name t1 --rm busybox /bin/sh/ # ifconfigeth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02 inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULT

2021-08-04 14:03:40 428

原创 docker网络配置

Linux内核实现名称空间的创建ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip netns he

2021-07-30 01:22:30 167

原创 docker虚拟化,网络

虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块分给第三个名称.

2021-07-29 21:32:03 171

原创 Docker镜像管理基础

镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源 rootfs:位于bootfs之上,表现为docker容器的根文件系统 传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读”模..

2021-07-29 12:25:45 194

原创 docker的基础用法

什么是dockerdocker中的容器:lxc --> libcontainer --> runC OCI&OCFOCI开放容器倡议由Linux基金会主导于2015年6月创刊 注重围绕容器格式和运行时制定开放的工业化标准 包含两个规格 运行时规范(runtime-spec) 图像规范(image-spec) OCF开放式容器格式runC 是一个 CLI 工具,用于根据 OCI 规范生成和运行容器容器作为 runC 的子进程启动,可以嵌入.

2021-07-28 13:41:21 399

原创 docker容器

01.Docker起源Docker 的前身是一家名叫 dotCloud 的公司。dotCloud :主要提供基于Pass的云计算技术服务,具体说来就是与 LXC 有关的容器技术。作为一家创业小公司,dotCloud 在行业竞争中步履维艰!于是dotCloud 的几个创始人就聚一起想啊想,想啊想,想着想着决定开源!既然养不起了,就把 dotCloud的内部保密程序源代码开放给所有人,让大家一起参与进来养活它·····2013年3月,dotCloud 的创始人决定将 Golang 编写的 Doc

2021-07-27 11:55:53 217

原创 运维发布/上线的方式

运维的各种发布方式蓝绿发布 金丝雀发布(灰度发布) 滚动发布 红黑发布应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除

2021-07-19 22:46:20 443

原创 saltstack之salt-ssh

1. salt-ssh介绍 1.1 salt-ssh的特点 1.2 salt-ssh远程管理的方式 2. salt-ssh管理 2.1 通过使用用户名密码的SSH实现远程管理 2.2 通过salt-ssh初始化系统安装salt-minion 1. salt-ssh介绍.1 salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令 salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-ssh salt-ssh不会取代标准的Sal

2021-07-08 22:06:31 167

原创 saltstack之return与job管理

1. SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的

2021-07-08 21:55:37 577

原创 saltstack常用模块

2.6 SaltStack常用模块之file 2.6.1 file.access 2.6.2 file.append 2.6.3 file.basename 2.6.4 file.dirname 2.6.5 file.check_hash 2.6.6 file.chattr 2.6.7 file.chown 2.6.8 file.copy 2.6.9 file.ditectory_exists 2.6.10 file.diskusage 2.6.11 file.fi

2021-07-08 10:29:17 90

原创 saltstack常用模块

1. SaltStack模块介绍 2. SaltStack常用模块 2.1 SaltStack常用模块之network 2.1.1 network.active_tcp 2.1.2 network.calc_net 2.1.3 network.connect 2.1.4 network.default_route 2.1.5 network.get_fqdn 2.1.6 network.get_hostname 2.1.7 network.get_route

2021-07-07 00:10:12 90

原创 saltstack配置管理和数据系统

YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很YAML语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone

2021-07-05 17:51:52 239

原创 常见的管理工具

puppet 特点: puppet与其他手工操作工具有一个最大的区别是 puppet的配置具有稳定性,因此你可以多次执行puppet,一旦你更新了你的配置文件,puppet就会根据配置文件来更改你的机器配置,通常每30分钟检查一次. puppet会让你的系统状态同配置文件所要求的状态保持一致. 比如你配置文件里面要求ssh服务必须开启. 假如不小心ssh服务被关闭了,那么下一次执行puppet的时候,puppet会发现这个异常,然后会开启 ssh 服务. 以使系统状态和配置文件保持一致.puppet

2021-07-02 12:33:46 66

原创 saltstack自动化

SaltStack介绍https://docs.saltproject.io/en/getstarted/1.1 自动化运维工具作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。常用的自动化运维工具有:puppet ansible saltstack此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的

2021-07-02 12:32:38 124

原创 Prometheus部署

下载地址https://prometheus.io/download/#prometheus关闭防火墙[root@prometheus ~]# systemctl stop firewalld[root@prometheus ~]# setenforce 0安装prometheus[root@prometheus ~]# wegt https://github.com/prometheus/prometheus/releases/download/v2.28.0/pro..

2021-07-01 14:06:05 113

原创 nginx实现负载均衡和动静分离

实验环境主机名 IP 服务 nginx 192.168.137.128 nginx lnmp 192.168.137.132 lnmp httpd 192.168.137.129 httpd 部署nginx[root@nginx ~]# useradd -r -M -s /sbin/nologin nginx安装依赖环境[root@nginx ~]# yum -y install pcre-devel opens...

2021-06-30 22:19:35 68

原创 rewrite和if语句

rewriteRewite 规则作用Rewrite规则可以实现对url的重写,以及重定向作用场景:URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等SEO优化维护:后台维护、流量转发等安全语法:rewrite regex replacement flag;,如:...

2021-06-29 00:43:34 82

原创 nginx访问控制、用户认证、https

nginx访问控制、用户认证、https访问控制可以用在http, server, location, limit_exceptallow:设定允许哪台或哪些主机访问,多个参数间用空格隔开deny:设定禁止哪台或哪些主机访问,多个参数间用空格隔开示例:拒绝192.168.137.132访问[root@localhost ~]# cd /usr/local/nginx/conf/[root@localhost conf]# vim nginx.conf locat

2021-06-28 10:56:19 176

原创 nginx平滑升级

平滑升级用二进制格式的方式安装nginx不仅仅是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 -..

2021-06-28 10:45:29 76

原创 lnmp搭建

关闭防火墙[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0[root@localhost ~]# nginx的安装//创建系统用户nginx[root@localhost ~]# useradd -r -M -s /sbin/nologin nginx/安装依赖环境[root@localhost ~]# yum -y install pcre-devel openssl o

2021-06-25 13:09:03 53

原创 nginx

nginx简介nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。nginx.

2021-06-24 14:00:25 136

原创 Keepalived脑裂产生的原因及解决方案

脑裂在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。  对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:添加冗余的心跳线,例如:双线条线(心跳

2021-06-23 14:09:08 360

原创 LVS+Keepalived实现高可用和负载均衡

1.1 keepalived是什么?Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议...

2021-06-22 12:40:09 260

原创 kvm部署

1. 虚拟化介绍虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的程序实现的。根据 Hypervisor 的实现方式和所处的位置,虚拟化又分为两种:全虚拟化 半虚拟化

2021-06-21 12:39:22 62

原创 ESXI部署

回车安装F11同意授权协议继续安装

2021-06-21 12:39:02 115

原创 常见的中间件有哪些

常见的中间件有哪些1.一般本地开发的话,小项目,或者是个人开发建议使用tomcat。2.linux系统建议使用jetty或apache hpptd3.大型的项目就用JBOSS或webloigc4.大项目或者商业项目一般采用:weblgoic/webshere,其他的还有jboss、glasshfish等5.一些示例项目或者小项目常采用jetty6.tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了Tomcat是Sun的JSWDK(.

2021-06-16 12:44:40 3640

原创 jenkins部署

Jenkins概念Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。官网:https://jenkins.io/ 官方文档:https://jenkins.io/doc/Jenkins特性:开源的java语言开发持续集成工具,支持CI,CD;易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便w

2021-06-16 05:46:13 791

原创 lamt部署

LAMT部署1.Apache 安装 2.Mysql 安装 3.Tomcat 安装 4.配置LAMT1.Apache 安装//安装开发工具包yum groups mark install 'Development Tools'//安装依赖包yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make//创建apache服务的用户和组[root@localhost ~]# g..

2021-06-15 18:57:42 113

原创 haproxy

安装依赖包

2021-06-15 14:17:04 68

原创 lvs模型搭建

ipvs的集群服务:支持TCP, UDP,AH,EST,AH_EST, SCTP等诸多协议ipvs集群服务的特点:一个ipvs主机可以同时定义多个cluster service 定义是指名lvs-type (lvs的模式) 以及lvs scheduler (调度器)一个cluster service上至少应该有2gereal serveripvsadm的用法:管理集群服务:ipvsadm -A|E -t|u|f service-address [-s schendule...

2021-06-14 22:51:45 253 2

原创 lvs四种模式和常用算法

LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡。LVS 的转发主要通过修改 IP 地址(NAT 模式,分为源地址修改 SNAT 和目标地址修改 DNAT)、修改目标 MAC(DR 模式)来实现。那么为什么 LVS 是在第四层做负载均衡?首先 LVS 不像 HAProxy 等七层软负载面向的是 HTTP 包,所以七层负载可以做的 URL 解析等工作,LVS 无法完成。其次,某次用户访问是与服务

2021-06-11 14:02:26 251 1

原创 gitlab部署

1. 版本控制介绍版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过

2021-06-10 11:40:10 782

原创 rsync

1. rsync简介rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。2. rsync特性rsync支持很多特性:可以镜像保存整个目录树和文件系统 可以很容易做到保持原来文件的权限、时间、软硬链接等等 无须特殊权限即可安装 快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽 安全:

2021-06-08 14:10:06 83

原创 NFS服务

1. nfs简介1.1 nfs特点NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样 nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能 nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上 nfs服务只能基

2021-06-07 12:17:20 630

空空如也

空空如也

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

TA关注的人

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