自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ansible自动化运维工具详解

一、关于ansibleAnsible是一个部署一群远程主机的工具;Ansible通过SSH协议实现远程节点和管理节点之间的通信。理论上说,只要管理员通过ssh登录到一台远程主机上能做的操作,Ansible都可以做到。Ansible是python开发的,故依赖一些python库和组件,如:paramiko,PyYaml和jinja三个关键组件;集合了众多运维工具的优点,实现批量系统配置、批量程序部署、批量运行命令等功能。拓展其它的自动化运维工具:puppet,saltstack,chef,func,f

2021-10-23 16:10:05 248

原创 项目名称:Docker Swarm搭建的高可用Web集群

项目名称:Docker Swarm搭建的高可用Web集群网络拓扑图:数据流程图:项目环境:CentOS8.3(8台),Docker20.10.8,NFS,nginx/1.21.1,Keepalived,Prometheus 2.29,grafana8.1.2项目描述:采用swarm管理docker集群,提供web服务,大量使用容器来完成web服务的扩展性、高可用性;使用nfs服务为web提供相同的数据,实现数据的一致性;采用nginx作负载均衡,Keepaliv...

2021-09-01 21:01:30 564

原创 prometheus的安装配置和grafana的使用

目录一、prometheus的安装使用容器安装源码安装二、在被监控的机器上下载node_exporter三、grafana的安装四、测试效果一、prometheus的安装使用容器安装[root@prometheus ~]# docker run -d -p 9090:9090 --name sc-prom-1 prom/prometheus源码安装[root@prometheus ~]# mkdir /prometheus[root@promethe

2021-09-01 20:53:59 108

原创 keepalived实现高可用

一、什么是高可用?一个业务不会因为某个设备或者某点出现问题而导致整个业务不能正常运转,不能有单点故障(单点故障:如果某台服务器出现故障会导致整个集群出现异常)。简单地说,高可用(High Availability)就是一台机器出现故障,另外的机器可以顶替,继续保障整个集群的正常运转。高可用的作用就是防止出现单点故障。二、Keepalived简介Keepalived 是一个用 C 编写的路由软件,该项目的主要目标是为 Linux 系统和基于 Linux 的基础设施提供简单而强大的负载均..

2021-08-29 21:52:25 305

原创 nginx实现负载均衡

目录一、什么是负载均衡?二、为什么需要负载均衡?三、负载均衡的算法1.round-robin2.ip-hash3.least-connected四、负载均衡的健康检查五、简介nginx作负载均衡六、编译安装nginx1.准备工作2.编译安装nginx3.配置nginx里的负载均衡功能4.测试一、什么是负载均衡?负载均衡就是将用户的访问请求均衡的分散到后端真正提供服务器的机器上。负载均衡器就是实现负载均衡功能的一台机器二、为什么需要负载均衡?

2021-08-29 17:24:23 280

原创 nfs服务器的部署和介绍

一、nfs服务器的介绍1.什么是nfs?nfs就是网络文件系统,英文Network File System,是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。也就是在网络上共享自己机器里的文件,让其他的机器可以使用。2.为什么需要nfs服务器?nfs服务器都够实现数据同源,保障网站数据的一致性,不管负载均衡器将请求分配到哪台后端服务器,客户机看到的内容都是一样的。nfs服务器并不

2021-08-29 15:42:31 1960

原创 Docker Swarm使用介绍和部署

一、什么是Docker Swarm?docker swarm和docker compose都是容器容器编排工具,docker compose是一个在单个服务器或主机上创建并管理多个容器的工具,而docker swarm则可以在多个服务器或主机上创建容器集群的服务。二、Swarm的几个相关概念1、Swarm集群的管理和编排是使用嵌入docker引擎的SwarmKit,可以在docker初始化时启动swarm模式或者加入已存在的swarm2、Node一个node就是swarm里的一个实例

2021-08-29 10:57:28 290

原创 Docker Compose安装和使用

一、安装运行以下命令下载Docker Composecurl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose对二进制文件应用可执行权限[root@master composetest]# chmod +x /usr/local/bin/docker-compos..

2021-08-26 22:19:58 176

原创 Docker镜像的制作

一、镜像imagesA Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.(来自docker官方文档)镜像可以理解成一个软件,是一个app的封装,里面有核心代

2021-08-19 00:28:27 176

原创 docker的介绍和使用

一、什么是docker二、docker的基本概念三、比较容器和虚拟机四、centos系统上安装docker引擎五、Ubuntu系统上安装docker引擎六、docker的使用七、使用卷目录一、什么是docker二、docker的基本概念三、比较容器和虚拟机四、centos系统上安装docker引擎五、Ubuntu系统上安装docker引擎六、docker的使用七、使用卷一、什么是docker二、docker的基本概念三、比较容器和虚拟机

2021-08-16 17:53:40 199

原创 基于iptables的SNAT、DNAT和docker的服务器发布项目

项目名称:docker的服务器发布项目环境:3台centos8服务器,docker 20.10.8,MySQL,nginx,iptables项目描述:采取docker容器技术创建nginx和MySQL服务,模拟企业发布内网的服务器,同时让内网的服务器能够上网项目步骤:1.构建整个项目的拓扑结构2.先安装好3台服务机系统,根据网络拓扑图配置好相应的ip地址网关server的配置:nginx server的配置:MySQL server的配置:3.在网关服务.

2021-08-14 10:06:28 198

原创 nginx相关问题

目录一、nginx一般有几个进程二、nginx怎么实现高并发的?三、nginx为什么不使用多线程?四、nginx常见的优化配置有哪些?五、惊群现象解决办法一、nginx一般有几个进程一个master和CPU核数相同的worker,因为更多的worker 数,只会导致进程相互竞争 cpu,从而带来不必要的上下文切换,nginx采用的是多进程单线程。二、nginx怎么实现高并发的?Nginx采用的 IO多路复用模型epoll。1.master进程主要负责收集、分发

2021-10-24 10:18:18 2612

原创 k8s搭建部署3个节点服务器

[root@localhost ~]# yum install -y yum-utils zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc lsof net-tools vim python3[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable .

2021-09-07 11:56:57 854

原创 python2与python3的区别

1.输出差异python2:>>> print "ok"ok>>> print ("ok")ok>>>python3:>>> print("ok")ok>>> print "ok" File "<stdin>", line 1 print "ok" ^SyntaxError: Missing parentheses in call to 'p

2021-09-01 23:26:08 109

原创 python正则表达式

一、什么是正则正则其实就是一个匹配规则,根据这个匹配规则去一个大文本里寻找或匹配想要的字符串。正则的作用1.在一大堆文本字符串中找到想要的字符串2.验证输入是否合法正则的优缺点优点:提高工作效率,节省代码缺点:复杂,难于理解二、re模块基本用法search和match都是查找第一个匹配项,match只能从字符串的开头查找,开始部分没有找到,那就不会匹配上。#以下代码在python3交互式环境里运行>>> import re>>&

2021-09-01 23:17:29 102

原创 python文件操作

一、文件的基本概念文件就是存放在外部介质上(磁盘,u盘)的一组完整信息的集合,这些信息可以为各种文字、图形、音乐等。两中重要的文件类型文本文件(Text File):文本文件是可直接阅读的,使用记事本打开即可看到文件的内容。优点:输出内容友好,不需要手动转换。缺点:文件占用的存储空间较多,读写时需要转换(内存->显示),访问的效率不高。二进制文件(Binary File):将数据按照它的进制编码的形式存储。优点:二进制文件中的数据与数据在内存中表现形式一致,二进制文件在存储

2021-09-01 21:04:17 469

原创 python内存管理和深copy、浅copy

一、引用计数python动态类型:python中对象是存储在内存中的实体;在程序中写的对象名,只是指向这一对象的引用;引用和对象分离,是动态类型的核心;引用可以随时指向一个新的对象。、首先介绍一下,python里每创建一个对象都会生成一个pycodeobject,里面存储了数值,数据类型和引用计数。1.python中每个对象都会维护一个0b_ref的字段,用来记录该对象当前被引用的次数。2.当有新的引用指向该对象的时候,它的引用计数0b_ref就加1.3.每当该对象的引用失效时,引用计数

2021-08-31 08:19:44 173

原创 操作系统虚拟内存介绍

一、介绍虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。理想中的存储器是更大、更快、更便宜的非易失性的存储器,而实际中是远远达不到的,程序规模的增长速度远远大于存储器容量的增长速度,虚拟内存出现的主要原因还是因为内容不够用,二、覆盖技术覆盖技术是以前操作系统使用的技术,是在较小的可用内存中运行较大的程序,常用于多道程序系统,与分区存

2021-08-30 09:25:51 199

原创 操作系统中的中断、异常和系统调用

目录一、操作系统的启动二、中断/异常/系统调用三者的区别三者执行的过程三、应用程序为什么不能直接访问外设?一、操作系统的启动OS开机之前存放在DISK里,计算机通电时,BIOS会检查各种外设,当各种外设能够正常运行时,会将Bootloader加载到内存中,而Bootloader会加载OS,能够让OS从磁盘放到内存中去。二、中断/异常/系统调用操作系统和外设产生中断,和应用程序产生异常和系统调用。中断:来自不同的硬件设备的计时器和网络的中断,来源于外设。异常:非

2021-08-26 00:43:45 642

原创 操作系统连续内存分配和非连续内存分配

一、连续内存分配1、内存碎片问题内存碎片指的是空闲内存不能被利用。内存碎片又分外部碎片和内部碎片,外部碎片是指在分配单元之间的未使用内存,而内部碎片是指在分配单元中的未使用内存。2、分区的动态分配分区的动态分配就是简单的内存管理方法,当一个程序准许运行在内存中时,就会给这个程序分配一个连续的区间,当一个程序需要更多的空间时,也会分配一个连续的内存区间给运行的程序以访问数据。3、连续内存分配策略一、首次适配首次适配就是当一个程序需要分配n字节大小的空间时,使用第一个比n大的可用空闲

2021-08-26 00:15:24 2005

原创 简介计算机体系结构和内存分层体系结构

目录一、计算机体系结构/内存分层体系二、内存分层体系三、地址空间/地址生成一、计算机体系结构/内存分层体系计算机体系结构,无非就是CPU,内存,I/O设备等,CPU对软件和程序执行的控制,内存放置程序执行的代码和处理的数据,I/O设备与计算机进行数据传输的硬件。二、内存分层体系内存分层体系,包括运行内存(主存)、磁盘(虚拟内存)、CPU缓存。主存:是在运行程序时所需要保存的数据空间磁盘:是用于持久化数据保存的数据空间CPU缓存:主要是位于CPU与内存之间的临时存储

2021-08-25 08:14:41 289

原创 操作系统简介

一、什么是操作系统?操作系统(operating system,简称OS)是管理计算机硬件与软件资源的一个软件。它能够管理应用程序,管理资源,管理外设等。操作系统中几个重要的概念,CPU,内存,磁盘等,它们之间的关系可用以下这幅图来描述,顾名思义,CPU是和进程之间相关的,内存是和地址空间相关的,磁盘是和文件系统相关的,而我们的操作系统就是负责管理、协调它们之间的工作。二、操作系统的功能从使用者角度来说,操作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等.

2021-08-25 07:52:43 143

原创 镜像的制作以及Dockerfile的指令详细介绍

一、dockerfile常见的指令FROM 使用基础镜像COPY 复制文件到容器里ADD 复制文件到容器里两种的区别是,复制文件到容器里时,ADD会自动解压压缩文件,推荐使用COPYRUN 制作镜像时,运行的命令其实RUN指令背后是,制作镜像的时候,会临时启动一个中间测试的容器,并且这些命令在这个中间测试的容器里运行,dockerfile里每执行一个RUN指令,就会产生一个镜像层。这样会使得制作的镜像过大。因为每执行一个RUN指令会产生一个镜像层,所以当我们需要执行多条命

2021-08-19 23:53:38 246

原创 Linux用户和组相关知识总结

用户和组:用户和组为了linux系统里的资源进行管控,用户加入组,继承权限UID:用户id,相当于每个用户的身份证号,唯一的GID:组id,每个组的标识,唯一的多个账号可以属于同一个组,一个用户可以加入多个组用户信息相关文件/etc/passwd 存放用户相关信息/etc/shadow 存放用户密码/etc/passwd-和/etc/shadow-是上述两个文件的备份文件,比上述两个文件少一次操作/etc/passwd文件:记录用户信息的文件,当用户登录的时候,会

2021-08-10 23:12:57 246

原创 SNAT实验(linux里操作)

1.实验准备一台client客户机,一台firewall网关服务器。2.网络拓扑图3.具体操作1.首先给client客户机和firewall网关服务器配置网卡信息cd /etc/sysconfig/network-script网关服务器配置信息:...

2021-07-31 07:40:58 237

原创 四种高阶函数的习题

1.利用map批量检测用户名是否符合规范=> username符合规范, username不符合规范 ,只能包含数据、字母、下划线,不以数字开头,长度在6-18之间2.匿名函数+reduce实现 1*2*3*...*n3.filter函数:找出[1-100]能被3整除的数4.map函数:求list[1-10]各项的平方5.将列表[1,4,5,9] 转换成 '1459'的字符串6.有以下列表:list1=[7, -8, 5, 4,...

2021-07-28 21:52:41 371

原创 Python中四种常用的高阶函数

什么是高阶函数?我的理解:把一个函数作为参数传入的函数,这样的函数称为高阶函数一、map函数内置函数map,map()函数接收两个参数,一个是函数,一个是Iterable(可多个),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。例子:用map函数实现f(x)=x*xmap()传入的第一个参数是func,即函数对象本身结果r是一个Iterator,是个惰性序列可以通过list()函数让它把整个序列都计算出来并返回一个列表.

2021-07-28 08:38:49 383

原创 用python实现二分查找、选择排序和快速排序

二分查找:选择排序:第一种方法:第二种方法:

2021-07-19 23:57:01 219 1

原创 编写一个Python模块,将其发布并安装(linux环境里)

打包步骤:1.创建模块包 modpack ,在包下面创建模块文件 __init__.py(注意是双下划线),以及自定义模块mod_test.py__init__.py就是一个空文件也行,自定义模块modtest.py,这里面写要实现的功能这只是我显示一下modtest.py这个模块里的内容2.在模块包modpack同级别目录下生成配置文件setup.py注意:是和模块包modpack同级别目录下这里面就是写你这个模块包的一些信息,setuptools一个自..

2021-07-16 08:45:07 138

原创 IP存储与读取文件统计IP频率(京东二面题),生成一个大文件ips.txt,要求120000行,每行随机为172.25.254.0/24段的ip;读取文件统计这个文件中ip出现频率前10的ip。

2021-07-15 07:16:22 178

原创 Linux基本命令-查看文件内容

cat - concatenate files and print on the standard output-n 显示行号cat命令有三个功能:1.print on the standard output 输出到屏幕例如:cat 文件名2.concatenate files 连接多个文件一起打印到屏幕例如:cat file1 file2 将file1和file2里的内容连接起来打印到屏幕上3.和输入重定向 结合cat生成指定内容的文件tac 从最后一行倒着显示出文...

2021-07-13 23:19:58 223

原创 linux基本命令(cp,mv命令)以及绝对路径和相对路径

基本命令:ls命令 - list directory contents下面介绍几个常用选项-a 显示目录下的所有内容,可以查看到隐藏文件夹和文件-A显示目录下的所有内容,可以查看到隐藏文件夹和文件,但是不会显示..和.这两个文件-l 显示目录内容的详细信息-h 以人看的懂的方式显示,通俗的讲就是文件大小用K,M,G来显示touch命令- change file timestamps1.新建一个空文件2.如果后面接的文件名存在,则更新文件的时间标记rm命令...

2021-07-10 22:46:42 2932 2

原创 Linux快捷键介绍和提示符的介绍,以及修改语言编码

linux命令的通用格式: 命令字符 [选项] [参数]第一提示符:就是进入Linux命令行操作界面,显示的一行符号,如:[root@califeng ~]#PS1变量就是第一提示符变量,提示符就是用来给人看的,表达某些信息。[root@califeng ~]# echo $PS1[\u@\h \W]\$[]只是符号,没特殊意义@只是符号,没特殊意义\u代表引用当前的登陆用户的名字\h代表引用当前主机名(hostname)\W代表当前所在的工作目录,~代表当前所在的路.

2021-07-08 22:18:33 115

原创 Vim编辑器的详细介绍

介绍vi编辑器是linux里的最基本的文本编辑器,系统自动安装了vi,而vim编辑器是vi的升级版本,需要自行下载安装。下载命令:yum install vim -yvim - Vi IMproved, a programmer's text editorVim编辑器的几种模式vim编辑器中最重要的三个模式:命令模式、输入模式、末行模式。可视模式,替换模式了解即可。如下图:详细介绍三种模式里的功能,重点介绍命令模式和末行模式1、命令模式行跳转:Home 跳转至光标所在

2021-07-03 23:31:51 466

原创 Linux入门,基本命令的介绍,以及拓展有关linux的知识

基本命令的介绍:linux命令的通用格式:命令字符 [选项] [参数]hostname:查看主机名临时修改主机名:hostname xxx永久修改主机名:hostnamectl set-hostname xxx注意:修改主机名,需要重新登录用户才会生效su -root:切换到root用户ip add:查看主机的ip地址mkdir: 新建文件夹ls:查看当前文件夹里的内容cd xxx:进入文件夹xxxman xxx:查询xxx命令的使用手册pwd:显示当前所在.

2021-07-02 23:17:20 98

空空如也

空空如也

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

TA关注的人

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