linux
文章平均质量分 64
晶核高手
这个作者很懒,什么都没留下…
展开
-
podman容器的开机自启
pdoman容器的开机自启使用podman generate --help查看用法[root@podman ~]# podman generate --helpGenerate structured data based on containers, pods or volumesDescription: Generate structured data (e.g., Kubernetes YAML or systemd units) based on containers, pods or原创 2021-12-15 14:27:28 · 1531 阅读 · 1 评论 -
podman
podmanpodman的安装[root@podman ~]# yum -y install podman普通用户使用podman的方式普通用户使用的配置在允许没有root特权的用户运行Podman之前,管理员必须安装或构建Podman并完成以下配置cgroup V2Linux内核功能允许用户限制普通用户容器可以使用的资源,如果使用cgroup V2启用了运行Podman的Linux发行版,则可能需要更改默认的OCI运行时。某些较旧的版本runc不适用于cgroup V2,必须切换到备用OC原创 2021-12-14 14:22:34 · 1418 阅读 · 0 评论 -
编写haproxy镜像
制作haproxy镜像结构[root@localhost ~]# tree haproxy/haproxy/├── Dockerfile└── files ├── haproxy-2.4.0.tar.gz ├── haproxy.cfg ├── install.sh └── start.sh[root@localhost ~]# tree /haproxy_config//haproxy_config/└── RSs.txtDockerfile[roo原创 2021-12-12 18:26:06 · 779 阅读 · 0 评论 -
使用dockerfile制作apache镜像
使用dockerfile制作apache镜像创建apache目录[root@localhost ~]# tree apache/apache/├── Dockerfile└── files ├── apr-1.7.0.tar.gz ├── apr-util-1.6.1.tar.gz └── httpd-2.4.49.tar.gz1 directory, 4 files编写Dockerfile[root@localhost apache]# cat Dockerf原创 2021-12-08 21:18:35 · 1535 阅读 · 0 评论 -
创建一个nginx容器(提供配置文件和网页文件)
创建一个nginx容器(提供配置文件和网页文件)创建一个nginx容器[root@localhost ~]# docker run -tid --name nginx centos81cd1d33c50f836b71caf4ed4477dc93411e7fc6dd90274e9d1a3cb2f68bd2b2[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS原创 2021-12-07 15:13:16 · 2693 阅读 · 0 评论 -
docker存储卷
docker存储卷COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实现。什么是存储卷原创 2021-12-06 16:06:31 · 125 阅读 · 0 评论 -
docker容器网络配置
docker容器网络配置Linux内核实现名称空间的创建ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip n原创 2021-12-05 13:28:06 · 158 阅读 · 0 评论 -
基于容器的方式制作一个nginx镜像、mysql镜像、php镜像
nginx[root@localhost ~]# docker run -tid --name nginx centos4fc4c145ed73916c7893e39837a5a04b3fbbc18dba0cf09f85c9e4f4efb588c1[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES4fc原创 2021-12-04 00:33:36 · 878 阅读 · 0 评论 -
docker容器网络
docker容器网络docker容器网络Docker在安装后自动提供3种网络,可以使用docker network ls命令查看[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPEcd97bb997b84 bridge bridge local0a04824fc9b6原创 2021-12-03 21:42:34 · 59 阅读 · 0 评论 -
docker容器虚拟化
docker容器虚拟化虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块分给原创 2021-12-03 21:37:58 · 44 阅读 · 0 评论 -
docker的基本用法
docker的基本用法OCI&OCFOCIOpen Container-initiative由Linux基金会主导于2015年6月创立旨在围绕容器格式和运行时制定一个开放的工业化标准contains two specificationsthe Runtime Specification(runtime-spec)the Image Specification(image-spec)OCFOpen Container FormatrunC is a CLI tool f原创 2021-12-01 15:42:11 · 1999 阅读 · 0 评论 -
salt-syndic分布式架构
salt-syndic分布式架构1.salt-syndic架构图2.salt-syndic的优劣势优势:可以通过syndic实现更复杂的salt架构减轻master的负担劣势:syndic的/srv目录下的salt和pillar目录内容要与最顶层的master下的一致,所以要进行数据同步,同步方案同salt-master高可用最顶层的master不知道自己有几个syndic,它只知道自己有多少个minion,并不知道这些minion是由哪些syndic来管理的3.sa原创 2021-11-30 18:32:49 · 166 阅读 · 0 评论 -
SaltStack进阶
SaltStack进阶1. masterless1.1 应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态传统的 SaltStack 是需要通过 master 来执行状态控制 minion 从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。有了masterless,即使你只有一台主机,也能玩saltstack,而不需要原创 2021-11-29 13:32:40 · 127 阅读 · 0 评论 -
部署prometheus
部署prometheus1. 环境主机IP监控机192.168.72.141被监控机192.168.72.1392. 部署2.1 安装go环境[root@master prometheus]# dnf -y install go上次元数据过期检查:4:22:23 前,执行于 2021年11月24日 星期三 21时00分43秒。依赖关系解决。============================================ 软件包 架构 版原创 2021-11-25 15:28:52 · 628 阅读 · 0 评论 -
saltstack系统初始化
saltstack系统初始化[root@master base]# tree init/init/├── chrony│ ├── files│ │ └── chrony.conf│ └── main.sls├── firewalld│ └── main.sls├── history│ └── main.sls├── kernel│ ├── files│ │ ├── limits.conf│ │ └── sysctl.conf│ └原创 2021-11-15 08:53:39 · 677 阅读 · 0 评论 -
saltstack部署zabbix
saltstack部署zabbix[root@master ~]# tree /srv/salt/prod//srv/salt/prod/├── modules│ ├── application│ │ └── php│ │ ├── files│ │ │ ├── index.php│ │ │ ├── install.sh│ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_6原创 2021-11-10 19:22:26 · 2665 阅读 · 0 评论 -
SaltStack之return与job管理
SaltStack之return与job管理1. SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需原创 2021-11-07 11:20:14 · 67 阅读 · 0 评论 -
SaltStack常用的模块
SaltStack常用的模块1. SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。当安装好Master和Minion包后,系统上会安装很多Module,大家可以通过以下命令查看支持的所有Module列表://查看所有module列表[root@master ~]# sa原创 2021-11-03 13:47:19 · 341 阅读 · 0 评论 -
saltstack高级状态的使用、top file的使用、数据系统grains和pillar的使用
saltstack高级状态的使用、top file的使用、数据系统grains和pillar的使用1. YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: family: name: Doe parents: - John - Jane chi原创 2021-11-03 08:37:13 · 354 阅读 · 0 评论 -
saltstack的部署、认证机制|、远程执行、目标匹配
saltstack的部署、认证机制、远程执行、目标匹配(写博客)1. SaltStack介绍1.1 自动化运维工具作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。常用的自动化运维工具有:puppetansiblesaltstack此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansi原创 2021-11-01 16:32:33 · 203 阅读 · 1 评论 -
Nginx实现动静分离
bNginx实现动静分离环境:主机IPnginx192.168.72.135LNMP192.168.72.138apache192.168.72.131部署LNMP//nginx# 关闭防火墙[root@slave ~]# systemctl disable --now firewalld[root@slave ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config[root@sl原创 2021-10-29 13:13:43 · 62 阅读 · 0 评论 -
zabbix监控nginx状态页面
//脚本[root@slave ~]# cd /scripts/[root@slave scripts]# lsnotify.sh Waiting.shReading.sh Writing.sh[root@slave scripts]# cat Reading.sh #/bin/bashif [ `curl -s 192.168.72.138/status|grep Waiting|awk '{print $2}'` -ne 0 ]then echo "0"els.原创 2021-10-28 11:19:31 · 802 阅读 · 0 评论 -
搭建LNMP架构
LNMPnginx# 关闭防火墙[root@slave ~]# systemctl disable --now firewalld[root@slave ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config[root@slave ~]# setenforce 0# 创建系统用户nginx[root@slave ~]# useradd -r -M -s /sbin/nologin nginx# 安装依赖包[root原创 2021-10-26 13:52:36 · 752 阅读 · 0 评论 -
nginx配置文件
Nginx 工作原理Nginx模块Nginx由内核和模块组成。Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block,而此location中所配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Nginx真正的劳动工作者。通常一个location中的指令会涉及一个handler模块和多个filter模块(当然,多个location可以复用同一个模块)。handler模块负责处理请求,完成响应内容的生成,而filter原创 2021-10-25 15:56:00 · 2099 阅读 · 0 评论 -
震惊!长连接居然是这个
长连接 、短连接、心跳机制HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致。TCP协议是可靠的、面向连接的。如何理解HTTP协议是无状态的HTTP协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。也就是说,原创 2021-10-24 17:02:04 · 123 阅读 · 0 评论 -
脑裂的监控
脑裂的监控环境:主机IPzabbix服务端192.168.72.131zabbix客户端(master)192.168.72.135slave192.168.72.138配置zabbix客户端zabbix配置文件[root@master ~]# tail -1 /usr/local/etc/zabbix_agentd.confUserParameter=check_keepalived,/scripts/check_keepalived.sh脑裂的监控原创 2021-10-22 13:01:27 · 91 阅读 · 0 评论 -
keepalived
keepalived安装环境说明主机IPmaster192.168.72.135slave192.168.72.138配置主keepalived[root@master ~]# systemctl stop firewalld[root@master ~]# getenforce Disabled[root@master ~]# setenforce 0setenforce: SELinux is disabled[root@master ~]# //原创 2021-10-22 08:54:19 · 513 阅读 · 0 评论 -
keepalived
keepalived安装环境说明主机IPmaster192.168.72.135slave192.168.72.138配置主keepalived[root@master ~]# systemctl stop firewalld[root@master ~]# getenforce Disabled[root@master ~]# setenforce 0setenforce: SELinux is disabled[root@master ~]# //原创 2021-10-21 12:53:35 · 254 阅读 · 0 评论 -
虚拟化是什么?
一、什么是虚拟化?虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。二、Hypervisor是什么?Hypervisor一种运行在基础物理服务器和操作系统之原创 2021-10-20 09:44:32 · 4826 阅读 · 0 评论 -
通过jenkins发布java项目到另一台主机的tomcat容器中
通过jenkins发布java项目到另一台主机的tomcat容器中环境:主机IPJenkins192.168.72.135server192.168.72.138免密[root@jenkins target]# ssh-copy-id root@192.168.72.138在jenkins主机拉取项目[root@jenkins target]# git clone https://gitee.com/jinchenghe92/tomcat-java-demo原创 2021-10-19 13:23:55 · 146 阅读 · 1 评论 -
Jenkins
Jenkins一、jenkins是什么?Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。二、CI/CD是什么?CI(C原创 2021-10-18 12:09:54 · 117 阅读 · 0 评论 -
tomcat部署、管理页面的配置
tomcat部署、管理页面的配置tomcat部署java环境安装[root@RS1 ~]# yum -y install java-11-openjdk*Updating Subscription Management repositories.Unable to read consumer identityThis system is not registered to Red Hat Subscription Management. You can use subscription-mana原创 2021-10-15 17:07:42 · 1170 阅读 · 0 评论 -
haproxy
haproxyhaproxy安装[root@haproxy haproxy-2.4.0]# yum -y install make gcc pcre-devel bzip2-devel openssl-devel systemd-develUpdating Subscription Management repositories.Unable to read consumer identityThis system is not registered to Red Hat Subscription原创 2021-10-15 10:52:28 · 229 阅读 · 0 评论 -
lvs三种模式的工作原理、lvs的DR模式和NAT模式配置http负载均衡
lvs三种模式的工作原理、lvs的DR模式和NAT模式配置http负载均衡Linux lvs三种模式工作原理LVS:Linux Virtual Sevser,Linux虚拟服务器,由章文嵩先生成立的有关负载均衡的开源项目。基于Linux内核。优化后并发量可以达到百万级。NAT模式NAT(Network Address Translation)网络地址转换,内网主机可以通过路由NAT实现访问外网主机。client请求资源,当报文到达director时,源和目标IP是CIP-VIP,IPVS会强行原创 2021-10-14 20:51:47 · 409 阅读 · 0 评论 -
什么是集群?看完这篇你就知道了
什么是集群?集群有哪些分类?集群的实现方式有哪些?什么是正向代理、反向代理、透明代理?什么叫集群?多台主机提供相同的服务的一组序列就叫集群简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(集群系统中的单个计算机通常称为节点)都是运行各自服务的独立服务器。在某种意义上,他们可以被看作是一台计算机。这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。集群计算机通常用来改进单个计算机的计算速度或可靠性原创 2021-10-13 22:07:40 · 13516 阅读 · 2 评论 -
cobbler源码安装
cobbler源码安装1. cobbler简介Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置原创 2021-10-12 19:25:41 · 617 阅读 · 0 评论 -
gitlab界面配置
gitlab界面配置(用户、组、权限、项目)用户设置密码在另一个浏览器登录修改密码组修改访问项目[root@localhost ~]# git config --global user.name "Administrator"[root@localhost ~]# git config --global user.email "admin@example.com"[root@localhost ~]# git clone http://192.1原创 2021-10-12 16:15:25 · 827 阅读 · 0 评论 -
svn安装
SVN 简介Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。SVN 的一些概念:repository(源代码库):源代码统一存放的地方Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份原创 2021-10-11 20:04:31 · 57 阅读 · 0 评论 -
版本控制gitlab
1. 版本控制介绍版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本原创 2021-10-11 19:30:29 · 109 阅读 · 0 评论 -
rsync
1. rsync简介rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。2. rsync特性rsync支持很多特性:可以镜像保存整个目录树和文件系统可以很容易做到保持原来文件的权限、时间、软硬链接等等、无须特殊权限即可安装快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽安全:可以使用sc原创 2021-10-11 16:47:08 · 1828 阅读 · 0 评论