
项目实战
文章平均质量分 90
运维技术-陈工
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【项目实战1】封装虚拟机(封装母盘,建立子虚拟机)
一、封装母机1.安装虚拟机此次企业项目实战考虑到企业用的大多数是7系列版本的操作系统,所以项目实战部分用我们也安装7.6版本的linux操作系统。准备好7.6或者8.0以上的2镜像文件都可以。2.进行以下操作在root用户下[root@foundation40 Desktop]# virt-manager #打开虚拟化工具创建的第一个虚拟机sever1可以将内存设置为选择英语作为安装语言时区选择上海等待安装即可3.设置ipcd /etc/sysconfi原创 2021-07-12 17:59:12 · 1419 阅读 · 0 评论 -
【项目实战2】LVS+DR+KEEPALIV实现均衡负载和高可用
一、LVS简介(1)、lvs流程LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在unix/linux平台下实现负载均衡集群功能。LVS是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。根据LVS工作原创 2022-04-11 16:03:11 · 459 阅读 · 0 评论 -
【项目实战3】Haproxy实现负载均衡
一、基础性知识1)Haproxy7层负载均衡概念:7层负载均衡是更复杂的负载均衡网络流量的方法是使用第7层(应用层)负载均衡。使用第7层允许负载均衡器根据用户请求的内容将请求转发到不同的后端服务器。这种负载平衡模式允许您在同一域和端口下运行多个Web应用程序服务器。2)本章部分的Haproxy可与前一章的pacemaker,coresync使用,达到负载均衡,实现高可用资源管理。二、项目搭建准备一、服务器、调度器准备server1 172.25.42.1作为调度器server2 172.25原创 2021-07-16 00:15:25 · 1854 阅读 · 0 评论 -
【项目实战4】高可用——利用pacemaker与心跳corosync实现双机热备
双机热备----------集群资源管理器pacemaker与心跳corosync一、 概念性知识二、实验准备三、设定免密登陆四、设定yum源1.先在server1中设定yum源2.将server1的yum源发送给其他四个server虚拟机五、安装启动软件,设定密码1.下载软件2.设置用户六、核心部分:实现高可用集群1.认证服务2.启动HA心跳信息corosync,集群资源管理器pacemaker3.查看pcs状态4.启动集群5.检测心跳服务安装情况七、集群服务添加虚拟的ip,添加监控1. 停掉fence服原创 2021-07-12 23:42:25 · 2445 阅读 · 2 评论 -
【项目实战5】nginx 1(nginx的编译,平滑升级,负载均衡,访问限制)
nginx的编译1、获取到nginx软件2、解压文件[root@ck1 ~] tar zxf nginx-1.20.1.tar.gz [root@ck1 ~] cd nginx-1.20.1/[root@ck1 nginx-1.20.1] ls3、nginx源码文件,需要gcc等依赖文件进行编译[root@ck1 ~] yum install gcc pcre-devel openssl-devel -y 4、关闭c语言编译debug(轻量化编译文件)[root@ck1 nginx原创 2021-09-05 00:00:42 · 914 阅读 · 0 评论 -
【项目实战6】nginx 2(配置管理,访问控制,访问重定向)
==本节实验是在nginx编译后的进一步配置,nginx的编译见上一篇博客链接一、nginx配置管理(1)自动索引[root@ck1 ~] vim /usr/local/nginx/conf/nginx.conf[root@ck1 ~] nginx -t 检测语法[root@ck1 ~] nginx -s reload实现了download目录下的文件的自动索引(2)Nginx expire缓存配置缓存可以降低网站带原创 2021-09-07 20:58:51 · 529 阅读 · 1 评论 -
【项目实战7】nginx 3(构建高速缓存nginx -> memcache,设置nginx流量监控)
一、设定新的域名及其发表目录[root@ck1 conf] vim /usr/local/nginx/conf/nginx.conf[root@ck1 conf] nginx -s reloadphp服务1、下载为网址php.net,获取php软件2、解压文件[root@ck1 ~]# yum install bzip2[root@ck1 ~]# tar jxf php-7.4.12.tar.bz2 [root@ck1 ~]# cd php-7.4.12/3、安装模块及依赖性文件原创 2021-09-08 21:35:00 · 666 阅读 · 1 评论 -
【项目实战8】mysql主从复制
mysql的主从复制mysql等商业编译用cmake9.42[root@ck1 ~] yum install -y cmake[root@ck1 ~] yum install gcc gcc-c++[root@ck1 ~] tar zxf mysql-boost-5.7.31.tar.gz 1原创 2021-09-11 18:26:51 · 731 阅读 · 5 评论 -
【项目实战9】Docker1(安装与运行)
docker的介绍虚拟机和docker区别镜像的分层1.Copy-on-Write 可写容器层2.容器层以下所有镜像层都是只读的docker从上往下依次查找文件容器层保存镜像变化的部分,并不会对镜像本身进行任何修改一个镜像最多127层将本地文件导入镜像docker load -i busybox运行镜像docker run -d --name demo busybox删除进程docker rmi game2048:latest...原创 2021-07-22 22:20:42 · 355 阅读 · 1 评论 -
【项目实战10】Docker2(私有仓库registry搭建)
docker私有仓库registry的搭建一、前言二、搭建过程一、加载导入镜像二、测试本地上传文件三、为Docker仓库添加证书加密功能一、生成证书二、重建仓库三、上传测试三、Docker仓库添加用户认证功能一、导入用户认证二、重建registry容器三、登陆主机认证四、server2使用私有仓库一、前言Docker Hub作为Docker默认官方公共镜像,拉取时需要连接网络。如果想要自己搭建私有镜像仓库,官方也提供Registry镜像,使得我们搭建私有仓库变得非常简单。私有仓库,是指在搭建在本地的仓原创 2021-07-25 12:51:06 · 831 阅读 · 0 评论 -
【项目实战11】Docker3 (部署harbor仓库)
部署harbor仓库1、获取软件包,解压安装包[root@localhost mnt] lsharbor-offline-installer-v1.10.1.tgz[root@localhost mnt] tar zxf harbor-offline-installer-v1.10.1.tgz [root@server1 mnt] cd harbor[root@server1 harbor] lscommon.sh harbor.v1.10.1.tar.gz harbor.yml ins原创 2021-07-21 00:33:49 · 445 阅读 · 0 评论 -
【项目实战12】Docker4 网络(不同容器的互通)
Docker原生网络一、前言1.docker的镜像是令人称道的地方,但网络功能还是相对薄弱的部分。2.docker安装后会自动创建3种网络:bridge、host、none3.yum install -y net-tools 查看网络的工具本章节将为4个部分去介绍docker网络通信二、docker原生网络一、 简介(1)docker安装后会自动创建3种网络:bridge、host、none安装时会默认创建一个docker0 的Linux bridge,新建的容器会自动桥接到这个接口。原创 2021-07-22 17:10:46 · 2496 阅读 · 10 评论 -
【项目实战13】Docker5 数据卷管理
docker 数据卷管理一、前言mount到主机中,绕开分层文件系统和主机磁盘性能相同,容器删除后仍能保留原创 2021-07-26 23:29:33 · 233 阅读 · 2 评论 -
【项目实战14】Docker6 容器安全性(图文详细解释)
yum install libcgroup-tools.x86_64 下载查看内存的软件cd /sys/fs/cgroup/memory 进入内存界面mkdir x1 创建新文件,其会继承父文件的内容cd x1/lsecho 209715200 > memory.limit_in_bytes 设置其内存为200M[root@server1 x1]# cd /dev/shm/ 进入此界面进行测试[root@server1 shm]# cgexec -g memory:x1 d原创 2021-07-27 23:29:23 · 1966 阅读 · 0 评论 -
【项目实战15】k8s(1)—k8s的部署(图文详解安装,集群部署过程)
kubernetes的部署一、前言一、简介二、k8s特点二、安装一、配置环境二、安装过程三、初始化集群一、前言一、简介为方便docker的管理,Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合。(1)Kubernetes的好处:(2)隐藏资源管理和错误处理,用户仅需要关注应用的开发。服务高可用、高可靠。(3)可将负载运行在由成千上万的机器联合而成的集群中。二、k8s特点Kubernetes主要由以下几个核心组件组成:(1)etcd:保存了整个集群的状态(2原创 2021-07-29 11:53:06 · 8451 阅读 · 0 评论 -
【项目实战16】k8s(2)—pod管理和资源清单
pod管理pod类似于豌豆夹,包括多个容器kubectl命令kubectl run创建并启动kubectl get pod -o wide看容器ip应用一api运行pod端口,安装软件[root@server2 ~] mkdir pod[root@server2 ~] cd pod/[root@server2 pod] vim pod.yaml 图1//////////////////apiVersion: v1kind: Podmetadata:原创 2021-07-29 16:41:43 · 592 阅读 · 0 评论 -
【项目实战17】k8s(3)—pod生命周期
pod生命周期一、前言Pod 可以包含多个容器,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。Init 容器和普通容器区别不大,主要是init优先运行,init成功运行完成后,才会启动主容器,所以Init 容器不支持 Readiness。如果 Pod 的 Init 容器启动失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。其流程如下图所示Init 容器的优势:1、想用某些工具,又不想放在主容器中,就把这些工具放在初始镜像init使用,运行完,初原创 2021-08-01 08:51:27 · 177 阅读 · 0 评论 -
【项目实战17.5】k8s(3.5)—pod生命周期和探针
Pod生命周期一、生命周期简介Pod 遵循一个预定义的生命周期,起始于 Pending 阶段,如果至少其中有一个主要容器正常启动,则进入 Running,之后取决于 Pod 中是否有容器以失败状态结束而进入 Succeeded 或者 Failed 阶段。Pod 在其生命周期中只会被调度一次。 一旦 Pod 被调度(分派)到某个节点,Pod 会一直在该节点运行,直到 Pod 停止或者被终止。二、init容器简介(1)、init容器简介Pod可以包含多个容器,应用运行在这些容器里面,同时 Pod 也原创 2022-04-28 09:50:36 · 584 阅读 · 0 评论 -
【项目实战18】k8s(4)—调度器的使用(图文详解rs,deployment控制器)
此时分配的外部端口为172.25.42.11原创 2021-08-01 11:18:50 · 871 阅读 · 0 评论 -
【项目实战19】k8s(5)—service服务(IPVS均衡负载)
查看是否有此模块[root@server2 pod] lsmod |grep ip_vs[root@server2 pod] yum install -y ipvsadm 没有就下载cm里面存放着配置文件修改模式为ipvs[root@server2 pod]# kubectl edit cm kube-proxy -n kube-system更新kube-proxy podkubectl get pod -n kube-system |grep kube-proxy | awk '原创 2021-08-01 17:22:24 · 1767 阅读 · 0 评论 -
【项目实战19】k8s(5.5)—k8s网络通信(flannel和calico网络插件)
k8s网络通信一、k8s网络通信简介k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等。CNI插件存放位置: cat /etc/cni/net.d/10-flannel.conflist插件使用的解决方案如下:1、虚拟网桥:虚拟网卡,多个容器共用一个虚拟网卡进行通信。2、多路复用:MacVLAN,多个容器共用一个物理网卡进行通信。3、硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。关于k8s不同容器之间的通信方式容器间通原创 2022-05-05 16:26:25 · 973 阅读 · 0 评论 -
【项目实战20】k8s(6)—configmap服务(利用configmap进行热更新)
configmap一、configmap简介二、创建configmap一、使用字面值创建二、使用文件创建三、使用目录创建四、编写configmap的yaml文件三、configmap的使用一、使用configmap设置环境变量二、通过在pod的命令行下运行的方式三、使用conigmap设置命令行参数四、通过数据卷使用configmap四、configmap热更新一、configmap简介 configmap用于保存配置数据,以键值对形式存储。 configmap 资源提供了向 Pod 注入原创 2021-08-07 16:09:37 · 6167 阅读 · 2 评论 -
【项目实战21】K8s(7)—volumes的管理上(emptyDir卷和hostPath卷)
volumes的管理上一、前言一、pod存储问题二、Volumes的引入二、emptyDir卷一、emptyDir的简介二、emptyDir 的使用场景三、多容器共享pod三、hostPath卷一、hostPath卷简介二、使用hostPath卷一、前言一、pod存储问题容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。 (1)当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失,因为容器会以纯净的状态重建。 (2)其次,当在一个 Pod 中同时运行原创 2021-08-08 09:47:28 · 1010 阅读 · 0 评论 -
【项目实战22】k8s(8)—volumes卷的管理下(pv、pvc卷的管理)
Volumes的管理下一、 NFS挂载卷一、前言二、实验环境二、NFS的挂载volumes的使用方式三、pv,pvc前言一、pv和pvc简介二、PV的使用过程三、PV的访问模式四、PV的回收策略四、PV、PVC的使用一、静态卷的使用二、动态卷的使用一、动态卷的简介二、动态卷的使用三、动态卷的回收四、设定sc为默认状态一、 NFS挂载卷一、前言使用NFS可以使得不同节点上的容器挂载相同的容器,便于部署容器环境。二、实验环境server2-4作为客户端,下载启动NFSyum install -y n原创 2021-08-10 23:49:32 · 1018 阅读 · 1 评论 -
【项目实战23】k8s(9)—k8s调度(节点亲和性,Taint污点,pod容忍性)
k8s调度一、k8s调度背景介绍调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一个调度组件并替换原有的 kube-scheduler。在做调度决定时需要考虑的因素包括:单独和原创 2022-05-09 17:45:47 · 1696 阅读 · 0 评论 -
【项目实战24】k8s(10)—k8s访问控制(API Server认证和RBAC授权)
访问控制一、API访问控制的基本概念(1)、基本过程kubernetes API 访问控制过程:认证、授权、准入控制(1)、Authentication(认证)1、认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。2、Kubernetes集群有两类用户:由Kubernetes管理的ServiceAccounts(服务账户)和(UsersAccou原创 2022-05-10 17:51:55 · 1487 阅读 · 0 评论 -
【项目实战25】k8s(11)—k8s容器资源限制(内存,cpu限制)
k8s容器资源限制一、基础知识(1)、资源限制(2)、资源类型二、内存限制三、cpu限制四、namespace设置资源限制(1)、设置namespace资源限制(2)、为namespace设置资源配额(3)、为namespace配置Pod配额一、基础知识(1)、资源限制在K8s中定义Pod中运行容器有两个维度的限制:资源需求:即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。如: Pod运行至少需要2G内存,1核CPU资源限额:即运行Pod期间,可能内存使用量会增加,那最多能使用多少原创 2022-05-16 22:06:56 · 7559 阅读 · 0 评论 -
【项目实战23】持续集成与持续交付上——gitlab的网络仓库gitee和本地仓库gitlab
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-08-19 22:50:07 · 568 阅读 · 0 评论 -
【项目实战24】持续集成与持续交付下——jenkins
一、前言一、简介1、什么是jenkins?Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行原创 2021-08-19 22:49:09 · 406 阅读 · 0 评论 -
【项目实战25】ELK日志分析平台的集群部署(图文详解)
elk日志分析平台的集群部署一、前言一、简介Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜文搜索引擎库。(1)一个分布式的实时文档存储,每个字段 可以被索引与搜索(2)一个分布式实时分析搜索引擎(3)能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据二、基础模块• cluster:管理集群状态,维护集群层面的配置原创 2021-08-12 23:26:56 · 909 阅读 · 0 评论 -
【项目实战26】logstash数据采集(上)(Elasticsearch界面监控、日志采集)
logstash数据采集一、前言一、简介二、3个主要组成二、logstash的安装一、获取安装软件二、使用方法三、logstash高级用法一、定向输出文件二、定向标准输出到es集群(ELK建立的监控集群)三、输入插件到es集群——输出日志四、logstash如何区分设备、文件名、文件的不同版本五、输入插件到es集群——logstash伪装日志四、apache服务日志过滤实战输出grok过滤——统计appache日志一、前言一、简介Logstash是一个开源的服务器端数据处理管道。1、 logstas原创 2021-08-14 22:43:32 · 1699 阅读 · 0 评论 -
【项目实战27】logstash数据采集(下)——结合kibana实现数据可视化
一、前言一、简介logstash能够很好的采集数据,而Kibana 作为一款可视化产品,搭载了一批经典功能:柱状图、线状图、饼,将两者结合可以很好展现数据可视化图、旭日图,等等二、实验环境server13:172.25.42.13 (已经部署ELK集群服务)server14:172.25.42.14 (已经部署ELK集群服务)server15:172.25.42.15 (已经部署ELK集群服务server16:172.25.42.16 (已经部署了logstash,即将部署kibana)原创 2021-08-16 23:56:24 · 1183 阅读 · 0 评论 -
【项目实战28】自动化运维工具——saltstock(远程软件的执行和安装)
自动化运维saltstock简介分布式的,在远程执行命令c/s模式监控端口4505端口saltstock远程执行一安装软件server1yum install salt-master.noarchsystemctl enable --now salt-master.service查看端口文件yum install -y lsoflsof -i :4505server2yum install salt-minion.noarch修改配置文件cd /etc/salt/lsvi原创 2021-07-19 17:00:50 · 1280 阅读 · 2 评论 -
【项目实战29】自动化运维工具——SaltStack(缓存及节点代理)
job管理一、前言缓存产生说明:1 master在下发指令任务时,会附带上产生的jid。2 minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。3 minion服务器在指令执行完毕将结果传送给master后,删除该临时文件。缓存情况:masterJob缓存默认保存24小时: vim /etc/salt/mastermaster端Job缓存目录:/var/cach原创 2021-07-19 21:14:50 · 479 阅读 · 0 评论 -
【项目实战30】自动化运维工具——SaltStack自动部署zabbix
SaltStack自动部署zabbix1.获取软件模块[root@server1 repo] cd /srv/salt/[root@server1 salt] mkdir repo[root@server1 salt] cd repo/[root@server1 repo] vim init.sls////////////////////////////////////////////zabbix: pkgrepo.managed: - baseurl: http://172.原创 2021-07-20 00:03:00 · 120 阅读 · 1 评论 -
【项目实战31】zabbix+tidb(将mysql数据导入到tidb服务里运行)
zabbix+tidb一、基础性知识二、前期准备一、特别声明二、实验环境部署三、实验操作一、获取tidb安装包、启动pd二、安装启动Tikv三、备份mysql已经存储的数据四、数据库连接tidb五、Zabbix配置文件修改一、基础性知识TiDB 是 PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP原创 2021-07-16 21:52:18 · 474 阅读 · 0 评论 -
【项目实战32】Zabbix基于Web界面的分布式系统监视(zabbix-nginx-mysql)
zabbix分布式系统监视一、前言二、zabbix连接mysql服务一、配置软件仓库(真机已经将zabbix包发布到http服务上)二、监控主机安装软件,修改配置三、开启zabbix服务四、代理端安装软件,修改配置三、zabbix客户端配置以及添加监控主机一、手动搜索主机,添加客户端配置二、自动注册四、添加zabbix-nginx监控一、前言Zabbix是一个企业级分布式开源监控解决方案。支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。Zabbix是完全开源免费的,其公司还为全球用原创 2021-07-20 22:20:53 · 631 阅读 · 0 评论