- 博客(222)
- 收藏
- 关注
原创 Django框架项目案例---linux服务器信息查看应用(sysinfo)
1 sysinfo功能介绍sysinfo是一个基于python Django( 一种Python Web 框架)框架和psutil开发的一个中文版linux服务器信息查看应用,其中,psutil (python system and process utilities) 是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。它主要用于系统监控、分析、限制系统资源和进程的管理。将Django框架和psutil结合,通过web界面查看系统,CPU,内存,硬盘
2021-06-25 14:52:39 1260 1
原创 持续集成,持续交付--git工具使用 github代码仓库,私有仓库的搭建,jenkins持续集成
以下网站比较通俗易懂:国内的,速度更快:安装git获取git仓库:方式一:本地目录转换此时该目录就被初始化为一个仓库:添加用户信息:注意git命令要放在仓库的目录下执行查看:查看状态:add命令添加到暂存区:提交到仓库中:查看日志信息:修改文件信息,状态发生改变(M 表示进行了修改):(下面的加号后面的信息,表示新添加的信息)创建忽略文件:以下的设置代表所有的隐藏文件会被忽略:此时查看状态,发现隐藏文件都被忽略:...
2021-03-26 14:49:44 314
原创 腾讯云服务器centos搭建docker-ce
目录下载docker-ce稳定版仓库文件安装docker-ce检查版本启动服务确认服务状态 因为对docker技术存在浓厚的兴趣,所以利用自己购买的服务器用于搭建docker,并且利用docker搭建一些项目。下载docker-ce稳定版仓库文件[root@VM-0-13-centos /]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo[ro..
2021-03-04 11:01:43 946 1
原创 详解顺序表和链表的联系和区别
线性表 首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。 线性表分为顺序表和链接表:顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像; 链式表示指的是用一组任意地址的存储单元存储线性表中的数据元素,称为线性表的链式存储结构。而他既可以是连续的也可以不连续,是通过一个与后继结点的连接信息构建起来的。顺序表详解顺序表的缺点:顺序表是用一段连续的存储单元依次存储数据元素,查找元素是很方便的...
2021-02-03 12:40:15 1382
原创 c语言中分支语句和循环语句
什么是语句语句是一个程序逻辑的体现,它描述了程序。从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支(选择)结构、循环结构。这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。其中分支语句包括if语句,switch语句。循环语句包括while语句 for语句 do while语句。注意:c语言中由分号;隔开的就是一条语句。分支语句之if语句if语句的语法结构结.
2021-01-11 16:20:17 661
原创 c语言基本概念
什么是c语言 c语言是一门通用计算机编程语言,广泛应用于底层的开发。C语言的设计目标是提供一种能以简易的方式编译,处理低级存储器,产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管c语言提供了很多低级处理的功能,但仍然保持着良好的跨平台的特性。以一个标准规格写出来的c语言程序可以在很多的电脑平台上进行编译,甚至包括一些嵌入式处理器以及超级电脑等平台。 C语言是一种面向过程的计算机编程语言,与c++,java等面向对象的编程语言不一样。其编译器主要有Cla...
2021-01-04 21:51:37 2331
原创 进程间通信的七种方式
目录1.常见的通信方式 2.按通信类型区分3、详解3.1 管道3.2 无名管道3.3 命名管道3.4 消息队列3.5 共享内存3.6 信号量1.常见的通信方式管道的实质是一个内核缓冲区,进程以先进先出的方式从缓冲区存取数据:管道一端的进程顺序地将进程数据写入缓冲区,另一端的进程则顺序地读取数据,该缓冲区可以看做一个循环队列,读和写的位置都是自动增加的,一个数据只能被读一次,读出以后再缓冲区都不复存在了。当缓冲区读空或者写满时,有一定的规则控制...
2020-12-29 19:59:50 624
原创 kubernetes之service服务三种工作模式,四种类型
创建pod应用:clusterip方式:(不设置的话,默认为此方式)此时服务可以识别节点的pod应用ip:可以通过访问clusterip,访问到集群内部的pod:此服务在节点的iptables上创建了如下的策略:开启ipvs模式支持更多量级的pod应用:首先所有节点安装ipvsadm然后编辑模式为ipvs过滤删除之前的:再次过滤可以发现...
2020-04-23 15:26:19 1755
原创 kubernetes控制器
Replicaset控制器:只会对含有自己定义标签的pod应用进行控制此时可以发现运行了两个Pod应用,因为刚才定义了两个:标签为刚才定义的标签,控制器只会对含有标签的进行控制:更改标签后控制器不会在控制该pod应用:该pod应用相当于自助式应用,删除后不会再自动创建:做应用拉伸:此时可以发现运行变为四个:...
2020-04-23 15:25:36 136
原创 pod应用生命周期(init容器,容器探针)
init容器:检测功能测试启动server1的harbor私有仓库:编辑以下的文件,此文件表明在启动主容器之前,首先利用Init容器查看相关服务(在此设置为dns检测服务)有没有开启,服务开启的话,才会启动主容器:以上0/1表明当前处于初始化状态,所以主容器虽然有pod应用,但是并没有启动可以进入容器查看,发现dns服务解析不了,会一直进行init启动,所以导致主容器无法打...
2020-04-23 10:28:00 1288
原创 pod管理,资源清单
pod管理:pod命令集网站:创建pod应用,例如nginx:查看信息,此时nginx被分配到节点server4上:交互式运行busyboxplus(没有指定镜像位置的话,则从harbor仓库下载),restart=never表示运行一次结束,访问刚才的nginx可以发现,访问成功:删除pod应用:测试:创建两个pod应用,默认情况下主控节点server2不参...
2020-04-23 10:27:43 359
原创 kubernetes集群部署
本实验中准备四台机器,一台作为私有仓库,其他三台作为节点(均以安装docker,将docker设置为开机自启)节点需要做好同步与解析节点同步:(在此都同步主机的时间)节点解析:(添加私有仓库的解析)kubernets安装可以在阿里云下载:在主节点server2:注意节点需要设置网关,否则在运行pod的时候可能报错:配置好yum源以后,进行安装...
2020-04-23 10:27:28 195
原创 Docker Swarm集群工具的使用集群的资源限制+搭建私有仓库
实验: 将server1 server2 server3搭建为一个swarm集群:(一个为master节点,其他为worker节点)准备工作:在管理节点server1中查看集群信息将私有仓库地址传给server2 server3安装bash相关包(可以补齐命令)例如部署一个myapp镜像集群(方式:从外网下载)首先创建一个覆盖网络:注意:此时的驱...
2020-04-23 10:27:07 648
原创 docker machine实现 自动化部署
server1做管理机(安装docker-machine)放到以下的目录方便调用:管理机通过ssh免密下发指令为被管理机server3做个免密:宿主机:制作一个内部私有yum仓库:通过apache发布,制作/var/ftp/pub的软链接,也可以通过ftp发布:指定到刚才的yum源仓库:不设置的情况下docker引擎在安装的时候会从外网调用脚本:...
2020-04-23 10:25:24 433
原创 docker安全
例:通过namespace(ns)为该容器提供了六种基本的隔离容器内的超户并不是真正的超户:限制cpu:进入到该目录,可以查看到值被改变:可以安装cgroup的工具进行一些设置:安装后会有如下的设置命令:比如默认cpu的优先级都是1024该目录下会自动复制父级目录下的所有参数:默认的优先级为1024:设置优先级为100:让d...
2020-04-15 19:47:30 229
原创 docker数据卷
需要挂载到宿主机的地址不需要事先创建,没有的话会自动创建往该目录下编辑文件,然后访问容器nginx的ip,可以获取该内容还可以设置权限(例ro只读)总结:利用-v既可以挂目录,也可以挂文件,而且权限都是可以控制的。前提:容器需要有volume这个参数,这样才会默认挂载到/var/lib/docker/volumes中此时运行该容器后,会自动在/var/lib/dock...
2020-04-15 19:47:01 200
原创 docker网络--容器通信--跨主机容器通信
容器通信除了以上的方式,还有如下的方式:joined容器类似于之前的host模式,host模式是容器与宿主机共享,而这里是容器与容器之间之间共享。此时可以通过vm2来访问vm1的容器:其实ping真实名和别名都可以ping通:跨主机容器通信:macvlan网络方案实现:实验环境:准备两台安装并且启动了docker的机器,这两太机器添加一个网卡,使其拥有...
2020-04-15 19:46:15 300
原创 docker网络--原生网络,自定义网络
原生网络null代表禁用,不给该网络分配网络接口。默认情况下,做的为桥接模式。如下图所示,桥接模式,接口一头连接着docker容器,一头连接着宿主机的虚拟网卡nginx在docker中的地址为172.17.0.2宿主机可以ping通容器内的nginx的ip地址:(本质上通过桥接的模式)在开启一个nginx后,宿主机的虚拟网卡会多出一个容器内要连接到外网,需要通过...
2020-04-15 19:45:50 230
原创 harbor企业级镜像仓库部署
harbor的介绍Harbor工程是一个企业级的镜像服务器,用于存储和分发Docker镜像。作为一个企业级的私有镜像仓库,Harbor提供了更好的性能和安全性。Harbor支持建立多个registries,并提供这些仓库间镜像的复制能力。Harbor也提供了更加先进的安全特性,比如用户管理、访问控制harbor的架构的名词解释Nginx(Proxy):用于代理Harbor的registry,...
2020-04-09 15:21:58 228
原创 容器仓库
网址:https://hub.docker.com/注册账号,创建仓库:例如创建busybox仓库:上传数据到仓库首先进行登录认证:认证信息被存到下面的文件中:docker search hyh123#可以查看自己仓库的镜像docker pull *** #可以拉取自己仓库的镜像(客户端获取token,registry校验此token是否合法)搭建私...
2020-04-08 10:10:00 282
原创 docker镜像部署(例如nginx)
下载加速器登陆阿里云在控制台,产品与服务中,找容器镜像服务。选择镜像加速器加速器安装完成后,可以快速下载服务软件包(从官方下载最新版本)将nginx命名为nginx,(方便管理)打入docker容器中查看nginx分配到的ip地址:...
2020-04-08 10:09:49 510
原创 docker简介及安装
下载docker阿里云下载(比官方网站快)可以看到有70个包containerd-selinux版本低出现以下依赖性问题下载较高版本软件包:依赖性成功解决:启用之前关闭selinux 和防火墙启用docker,查看信息:...
2020-04-08 10:09:18 129
原创 vmware-桥接模式的配置
将虚拟机设置为桥接的状态:在widows的命令行中输入ipconfig,查看Ip,网关,dns等信息配置ifcfg-ens33时将ifcfg-Wired_connection_1删除,否则可能会发生网络冲突根据windows的信息,配置ens33的网卡信息,此处注意ip需要和windows的ip在相同的网段。网关与DNS1需要和windows的一致配置成功如下所示:此时并不能p...
2020-04-05 11:49:47 393
原创 ansible角色
正常调用的时候:不传入参数的时候,使用的是默认的值,所以输出linux测试:打开角色变量配置(此时无值传递的时候才会使用默认的值)将一个角色同时调用两次此时只能输出一次:(默认情况下只会执行一次)解决办法:将该属性设置为ture,此时就可以重复的调用在以下两个目录下都定义了变量,并且传递了值在这三者中,vars目录的变量值优先级最...
2020-04-04 16:34:20 191
原创 jinja2宏的内置特殊变量varargs kwargs caller
可变参数:将多余的值放入varargs中第一次调用的时候没有值传递给varargs,第二次调用的时候将123传递给varargs,然后循环输出关键字参数:caller用法1:利用caller可以替换宏里面的内容:(类似于python的装饰器,在不改变原来的条件下,增加新的功能)caller用法2:利用caller将testfunc1的内容装饰到testfunc中...
2020-04-04 16:34:09 290 1
原创 jinja2宏
此时,a传递给了var1,1传递给了var2,3传递给了var3解决办法:没有默认值的变量要放在有默认值变量之前(与python中的语法一致)
2020-04-04 16:33:57 146
原创 jinja2改变特殊符号性质
用单引号引起的时候当作纯粹的字符串来处理双括号太多的时候,引号不太方便。利用下面的形式也可以,里面的双括号都不会解析特殊符号的替换:(ansible2.4版本以后的才可以使用下面的替换方式)通过上面的语句将(())定义为特殊的符号,{{}}不再是特殊的符号...
2020-04-04 16:33:47 863
原创 jinja2渲染模板(2)
需要在命令或者playbook中定义这个变量也可以直接在模板中定义变量:加空格的方法2:~符号相当于连接符 ‘xxx’中定义连接的具体符号用loop.index内置变量可以知道循环的次数循环步长:jinja2默认情况下不能利用continue或者break跳出循环,我们可以利用for与if结合来跳出循环写法一写...
2020-04-04 16:33:20 357
原创 jinja2的渲染模板(1)
实验:实现大量远程主机配置文件的更改:方法1:方法2:利用playbook实现利用jinja2渲染远程文件模板装载变量:需要给变量赋值,否则会报错:(在模板中定义了变量,渲染远程主机的时候记得要赋值)模板装载表达式:远程主机渲染出的文件如下:(生成模板表达式对应的结果的文件)列表模板:(符合python的语法)通过play...
2020-04-04 16:33:08 516
原创 过滤器(2)
定义为空变量以后,不输出默认值添加boolean以后,定义为空变量,此时当作没有定义,输出为默认值:远程创建文件,并且赋予权限test权限变为0444,westos与ansible为默认的权限:过滤器实现上面的过程:(简化了过程,避免了when的使用,循环的多次使用)...
2020-04-04 16:32:48 81
原创 loop插件
常用插件1lookup的indexed_items:利用lookup插件实现循环索引:(含义利用loop配合lookup中的插件indexed_items处理后面的列表,实现循环索引)常用插件2:lookup的dict插件:查看具体插件的使用方法:常用插件3:lookup的file插件,获取文件的内容获取多个文件的内容,在后面文件路径添加即可:获取更多内容:...
2020-04-04 16:32:30 503
原创 ansible判断(1)
与其他编程判断语句的不同,此判断语句从下到上,当成立的时候才执行上面的模块练习1:练习2:(逻辑与)以上and的等同表示法:练习3:(逻辑或)练习4(取反)练习5:找不到该目录,所以失效。所以task2,task3没有执行(类似于python)忽视task1的错误,继续执行练习6(判断文件存不存在)shell执行失败,因为...
2020-04-03 08:15:26 723
原创 获取远程文件内容,获取目录下的文件名
with_file关键字with_fileglob关键字显示目标目录下所有的文件:匹配多个路径注意通配符的使用:
2020-04-03 08:15:10 1460
原创 创建父子目录的传统做法与ansible做法
创建父目录子,子目录的方法做法一:做法二:(利用通配的概念)做法三:做法四:利用ansible-playbook执行具体做法如下:利用如下的关键字with_nested也可以实现...
2020-04-03 08:14:29 272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人