- 博客(56)
- 收藏
- 关注
原创 lvs dr模式
原理lvs rs 主机申请在交换机上申请vip数据包 通过vip发送到lvs 主机lvs 主机修改 数据包mac地址转发到rsrs 通过自身 vip 相应数据包整个过程 ip 没有变化变化的是 mac 地址lvs 主机只承担流入包lvs 主机必须用 linux模型交换机工作原理ip - mac 地址表问题:广播风暴原因:大批ip地址申请请求解决方法:arp 缓存表绑定 mac - ip忽略报错初始化网络环境# 网关设置...# 忽略交换机 ip 冲突报错
2021-03-09 22:44:06
286
原创 lvs net模式
tcpdump tcp抓包工具nat 模式 工作原理来时 修改 tcp 数据包 改变 目标 ip,从 vip 变成 rip相应时 修改 tcp 数据包,改变 源 ip,从 rip 变成 vip模型图原理关键点1、涉及两个 网段 : 外网 cip - vip , 内网 dip - rip2、必须配备网关3、数据包的进入和输出,都要经过 lvs 调度器创建lvs集群ipvsadm -A -t <vip>:<port>集群添加节点 ipvsadm -a -t &
2021-03-08 22:36:20
465
原创 lvs 基础
Linux Virtual Server官网地址http://linuxvirtualserver.org/zh/lvs1.htmlLVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。网卡地址配置文件/et.
2021-03-07 21:02:03
572
原创 ansible playbook
文章目录Yaml是什么官网实例特点数据结构playbook yaml 示例简介核心元素hostremote_usertasks实践强制成功忽略错误添加标签查看 标签指定标签执行任务关键语法示例Yaml是什么描述性语言,类似 json官网www.yaml.org实例---apiVersion: extensions/v1beta1kind: Deploymentmetadata: namespace: uat name: game-test labels: app:
2021-03-05 22:57:24
518
原创 ansible 模板
文章目录基本规则快速入门实践需求文件配置执行模板语言流程控制语句条件控制语句循环语句if 流程for 流程item with_items多值迭代when 语句playbook文件传输时,出现了格式一致,内容不一致的动态配置文件时,模板就可以大显神威了,现有的file copy command 模块都无法直接满足这个需求基本规则模板专用目录:跟 playbook 同目录下创建一个template目录基准配置文件:基准配置文件放在 template 目录下,文件后缀必须是 *.j2自动替换数据:
2021-03-02 22:23:00
572
原创 ansible 变量
场景高度定制化的场景格式一致,内容不一致为每个 主机 设定不同的属性如:hostnamesetup 模块查看主机属性ansible localhost -m setupansible localhost -m setup -a 'filter=*host*'ansible localhost -m setup -a 'filter=*host*' -o变量表现形式设定变量变量名=变量值例:nginx_port=80获取变量{{ nginx_port }}实现方式1、目标主
2021-03-01 22:05:51
797
原创 ansible roles笔记
单role环境使用 ansible-galaxy 命令来初始化ansible-galaxy init test_role查看效果test_role/├── defaults│ └── main.yml├── files├── handlers│ └── main.yml├── meta│ └── main.yml├── README.md├── tasks│ └── main.yml├── templates├── tests│ ├── invento
2021-02-28 21:59:12
1060
1
原创 ansible 日常使用模块
command# 执行系统命令,不支持命令中带特殊字符 <> | ; & 等ansible localhost -m command -a 'ls /root'ansible localhost -m command -a 'chdir=/tmp creates=1.txt ls'# chdir 执行目录# creates 判定条件,文件存在则不执行,文件不存在则执行# remove 判定条件,文件存在则执行,文件不存在则不执行# 不能使用自定义变量# 查看文档# a
2021-02-27 22:14:48
194
原创 ansible系统模块
hostnameansible <hosts> -m hostname -a 'name=node1'# ansible 仅修改 /etc/hostname # 没有修改 /etc/hostsuser# 创建用户ansible <hosts> -m user -a 'name=webapp uid=10086 home=/home/webapp system=yes groups=root,web comment=webapp shell=/sbin/nologin s
2021-02-26 22:24:13
200
原创 ansible 文件模块
copy本地拷贝到远程主机ansible <hosts> -m copy -a 'src=/tmp/log.log dest=/data/log.log backup=yes mode=666'# content 可以替换 src 属性fetch远程拷贝到本地ansible <hosts> -m fetch -a 'src=/tmp/test.sh dest=/tmp/'# 拷贝多个文件需要先压缩再拷贝,不支持正则匹配file远程主机文件操作: 文件创
2021-02-23 22:14:17
283
原创 ansible 应用模块
yum软件管理# 检查软件ansible <hosts> -m yum -a 'list=python'# 安装软件ansible <hosts> -m yum -a 'name=python state=present'ansible <hosts> -m yum -a 'name=nginx,node state=present'# 卸载软件ansible <hosts> -m yum -a 'name=python state=abs
2021-02-22 22:23:54
167
原创 golang 安装、搭建开发环境
一、下载安装包Go官⽹网下载地址: https://golang.org/dl/Go官⽅方镜像站(推荐): https://golang.google.cn/dl/根据⾃己的操作系统,⾃行选择安装。二、安装我的电脑是mac,安装的是 1.6 版本,安装比较简单,直接双击安装包便自动安装。三、配置go环境到系统环境mac 配置go 环境过程:1、添加export GOROOT="/usr/local/go"export GOPATH=$HOME/goexport GOBIN=$GOR
2021-02-21 23:42:00
364
原创 ansible系列命令
ansible-docansible 帮助# 查看帮助文档ansible-doc -h# 查看模块参数(精简版)ansible-doc <module name> -s# 查看可用插件ansible-doc -t -lansible-glaxyansible 工具模版网站# init 本地初始化ansible-glaxy init <role name>ansible-playbook通过 playbook 运行ansible# 检查语法
2021-02-21 22:51:09
239
原创 python命令行交互
python命令行特性sys.argv from __future__ import print_function import sys print(sys.argv)sys.stdin fileinput read_stdin.py # sys.stdin 可以直接跟 shell 的 管道 通讯 from __future__ import print_function import sys for line in
2021-02-20 22:26:32
980
原创 使用 python进行文本处理
文章目录字符串常量python 标准库正则字符集编码codecsjinja2字符串常量python 标准库join方法 ','.join(["a", "b"])切片 "abcdefg"[::1]leninstr.split()大小写 upper lower isupper islower swapcase # 交换大小写 capitalize # 首字母大写 istitle # 是否是标题(所有单词首字母
2021-02-19 22:40:32
521
原创 python 操作 linux系统目录/文件
文件读写open函数 f = open("123.txt", "r")文件打开模式rwxa避免文件句柄泄露 try: f = open("123.txt") print(f.read()) finally: f.close() # 使用 with with open("123.txt") as f: print(f.read())文件操作函数读函数r
2021-02-18 23:07:12
1697
原创 python监控linux
python 编写的监控工具系统资源统计 dstat用来取代 vmstat iostat netstat ifstat # centos 安装 yum install dstat # 如何使用 dstat -h # 输出到文件 dstat -a --output out.csv交互式监控工具 glances# 安装pip install glancesyum install glances# 开启glances
2021-02-17 22:39:47
502
2
原创 python自动生成文档/报告/邮件
使用 python 处理excelopenpyxl读写excel2000workbook 对象是excel工作簿的抽象worksheet 对象时对表格的抽象,cell 是对单元格的抽象 import openpyxl wb = openpyxl.load_workbook('123.xlsx') # wb的属性 wb.active wb.read_only wb.encoding wb.worksheets
2021-02-16 22:28:13
454
原创 python/shell 进行网络探测
shell ping 命令shell ping 命令行参数-c 数据报数量 for ip in 'cat ips.txt' do if ping $ip -c 2 &> /dev/null then echo "$ip is alive" else echo "$ip is unreachable" fi donepython 并发pin
2021-02-15 20:51:47
401
原创 python 远程系统管理工具paramiko/Fabric
SSH 访问远程服务器SSHOpenSSH 基本使用 # 重启 ssh 服务 /etc/init.d/sshd restart # ssh 配置文件地址 /etc/ssh/sshd_config # ssh username@remote_host -p 22 'COMMANDS' # 配置 ~/.ssh/config cat ~/.ssh/config Host host2 Stric
2021-02-13 22:36:00
611
原创 git 增加、提交修改
addgit add .-u 修改和删除,不添加新建文件-A 所有文件. 当前目录下所有文件commitgit commit -m [-a] [--amend]status# 查看文件状态git status rebasegit rebase -i <commit id> loggit log resetgit reset HEAD <path>...
2021-02-11 23:36:43
330
原创 git文件级别撤销操作
撤销修改git checkout <commit id> -- <file name1> ... <file namen>撤销提交# 本质是覆盖(隐藏)上次提交git commit --amend -m '提交'文件级撤销缓存git reset <--cached> <commit id> -- <file name1> ... <file namen>git rm <--cached> --
2021-02-11 23:35:45
160
原创 git 对象撤销操作
git resetgit reset <[--soft,--mixed,--hard]>git revert# 添加一个新的版本指向旧版本git revert <commit id>git reflog + git checkout# git checkout 之后 git log 看不到的版本可以 通过 git reflog 看到git reflog# git reflog 看到的 commit id 依然可以通过 git checkout 导出git che
2021-02-11 23:35:13
129
原创 git 忽略文件\文件夹
命令行忽略# 指定全局忽略文件git config --global core.excludefile ~/.gitignore忽略配置# 本地仓库 .git/info/exclude# 指定工作目录的 .gitignore# 项目全局 .gitignore
2021-02-11 23:34:42
138
原创 git标签管理
标签本质一个只读的代码的时间截面对象位置 .git/refs/tags轻量标签# 在当前位置创建标签git tag -a 'v1.0.0' -m '版本v1.0.0'# 查看taggit tag# 标签详情git show v1.0.0# 补签标签git tag -a <tag name> <commit id> -m <备注># 远程推送标签git push origin <tag name>git push origin --t
2021-02-11 23:34:12
102
原创 git查看提交记录
git log# 最常用的提交日志查看命令# 查看提交信息git cat-file -p <commit id># n 是数字,查看最近 n 次记录# -p 查看提交详情git log -<n> -p# 不同显示格式git log --pretty=oneline# 图形展示git log --pretty=oneline --graph# 最佳推荐git log --all --oneline --graph...
2021-02-11 23:33:33
562
1
原创 git 中文件状态简介
git 中的文件状态状态简介Untracked 未跟踪Modified 已修改Unmodified 未修改Staged 已暂存
2021-02-09 22:59:05
199
原创 git添加命令行自动补全
step1 下载https://github.com/git/git/blob/master/contrib/completion/git-completion.bashstep2 加载到环境变量source git-completion.bashstep3 添加到shell启动文件可以实现自动加载环境变量# 1mv git-completion.bash /etc/profile.d/# 2vim ~/.bashrc# edit...
2021-02-09 22:52:41
431
原创 git环境初始化及配置变更
文章目录1、本地初始化2、配置2.1) 不同级别配置2.2) 查看配置2.3) 清除配置3、远程git初始化克隆方式会直接进行初始化1、本地初始化git init2、配置2.1) 不同级别配置git config --global --system --local2.2) 查看配置git config --list2.3) 清除配置git config --unset3、远程git初始化克隆方式会直接进行初始化git clone <git-uri> <loc
2021-02-09 22:51:16
265
原创 python 操作 mongodb
文章目录安装 pymongo连接mongodb连接库与集合mongodb 与 pymongo 方法对照表插入数据查询数据更新数据mongodb 和 pymongo 不通用的操作空值布尔值排序参数查询 _idpython 进行 and or 操作python 操作嵌入式文档和数组字段使用 python 进行聚合操作安装 pymongopython3 -m pip install pymongo连接mongodbfrom pymongo import MongoClientclient = Mong
2021-02-05 22:42:28
162
原创 python 操作 redis 基础
文章目录安装 redis-py创建客户端获取所有key字符串操作python操作列表python 操作集合python 操作哈希表python 发布订阅python 操作有序集合安装 redis-pypython3 -m pip install redis创建客户端import redisclient = redis.Redis()获取所有keyclient.keys()字符串操作# 创建字符串client.set('key', 'value', nx=True)# nx 参数:
2021-02-04 22:17:24
194
原创 python str和repr有什么区别?
文章目录设计目的区别补充:eval示例实践设计目的区别有两个函数可用于获取对象的可读表示 ,常用于打印输出及类型转换:repr(x) : 结合eval函数使用通常会将该变量的结果转换回原始对象,即将对象转化为供编译器(即机器)读取的形式。str(x) : 返回描述对象的可读字符串(即人类可读),由于会自动类型转换,这可能隐藏了一些技术转换细节。补充:eval补充介绍:eval()函数用来执行一个字符串表达式,并返回表达式的值如下代码:x = 7 eval( '3 * x' )#
2021-02-03 23:04:24
385
原创 docker-compose
DockerCompose 是什么Docker Compose是一个能一次性定义和管理多个Docker容器的工具。详细地说:Compose中定义和启动的每一个容器都相当于一个服务(service)Compose中能定义和启动多个服务,且它们之间通常具有协同关系管理方式:使用YAML文件来配置我们应用程序的服务。使用单个命令(docker-compose up),就可以创建并启动配置文件中配置的所有服务。工作原理安装Docker for Mac与Docker for
2021-02-03 21:40:18
156
原创 Python import和reload对模块的影响
背景python 的 import 语句会直接运行模块,所以当模块顶层有直接调用时,调用会直接运行。# a.pyprint('test')# b.pyimport apython b.py# test风险点reload 模块会导致被修改的顶级变量被重置,造成数据丢失。所以在reload 前,一定要想好是不是要这么操作。# a.pya = 1# b.pyimport aprint(a.a)# a模块中变量被修改a.a += 1print(a.a)# 实际上并未重
2021-02-02 23:31:01
413
原创 docker file
文章目录什么是dockerfile构建特征参考示例Dockerfile使用命令 – docker build作用:命令格式:命令参数:命令概述总结什么是dockerfileDockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件利用docker build命令依次执行在Dockerfile中定义的一系列命令,最终生成一个新的镜像(定制镜像)构建特征Dockerfile必须具备一个FROM命令来进行构建每一个Dockerfile命令都会构建一层镜像(本质上是每一层都会启动
2021-02-02 21:13:49
139
原创 docker 网络管理
文章目录为什么需要docker网络管理容器的网络默认与宿主机、与其他容器都是相互隔离。docker 中的网络驱动模式查看网络 – docker network ls作用:命令格式:命令参数(OPTIONS):注意:创建网络 – docker network create作用:命令格式:命令参数(OPTIONS):注意:网络删除 – docker network rm作用:命令格式:命令参数(OPTIONS):查看网络详细信息 – docker network inspect作用:命令格式:命令参数(OPTI
2021-02-01 22:25:11
1109
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅