<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yang 的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Callme_My_Yang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Callme_My_Yang]]></copyright><item><title><![CDATA[lvs dr模式]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114605791</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114605791</guid><author>Callme_My_Yang</author><pubDate>Tue, 09 Mar 2021 22:44:06 +0800</pubDate><description><![CDATA[原理

lvs rs 主机申请在交换机上申请vip
数据包 通过vip发送到lvs 主机
lvs 主机修改 数据包mac地址转发到rs
rs 通过自身 vip 相应数据包
整个过程 ip 没有变化
变化的是 mac 地址
lvs 主机只承担流入包
lvs 主机必须用 linux

模型

交换机工作原理
ip - mac 地址表
问题：广播风暴
原因：大批ip地址申请请求
解决方法：

arp 缓存表
绑定 mac - ip
忽略报错

初始化网络环境
# 网关设置
...
# 忽略交换机 ip 冲突报错
]]></description><category></category></item><item><title><![CDATA[lvs net模式]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114554023</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114554023</guid><author>Callme_My_Yang</author><pubDate>Mon, 08 Mar 2021 22:36:20 +0800</pubDate><description><![CDATA[tcpdump tcp抓包工具
nat 模式 工作原理
来时 修改 tcp 数据包 改变 目标 ip，从 vip 变成 rip
相应时 修改 tcp 数据包，改变 源 ip，从 rip 变成 vip
模型图

原理关键点
1、涉及两个 网段 ： 外网 cip - vip , 内网 dip - rip
2、必须配备网关
3、数据包的进入和输出，都要经过 lvs 调度器
创建lvs集群
ipvsadm -A -t &lt;vip&gt;:&lt;port&gt;

集群添加节点
 ipvsadm -a -t &]]></description><category></category></item><item><title><![CDATA[lvs 基础]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114497993</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114497993</guid><author>Callme_My_Yang</author><pubDate>Sun, 07 Mar 2021 21:02:03 +0800</pubDate><description><![CDATA[Linux Virtual Server

官网地址
http://linuxvirtualserver.org/zh/lvs1.html

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率，将请求均衡地转移到不同的服务器上执行，且调度器自动屏蔽掉服务器的故障，从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的，而且无需修改客户端和服务器端的程序。为此，在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

网卡地址配置文件
/et.]]></description><category></category></item><item><title><![CDATA[ansible playbook]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114418577</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114418577</guid><author>Callme_My_Yang</author><pubDate>Fri, 05 Mar 2021 22:57:24 +0800</pubDate><description><![CDATA[文章目录Yaml是什么官网实例特点数据结构playbook yaml 示例简介核心元素hostremote_usertasks实践强制成功忽略错误添加标签查看 标签指定标签执行任务关键语法示例
Yaml是什么

描述性语言，类似 json

官网
www.yaml.org
实例
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: uat
  name: game-test
  labels:
    app: ]]></description><category></category></item><item><title><![CDATA[ansible 模板]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114296150</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114296150</guid><author>Callme_My_Yang</author><pubDate>Tue, 02 Mar 2021 22:23:00 +0800</pubDate><description><![CDATA[文章目录基本规则快速入门实践需求文件配置执行模板语言流程控制语句条件控制语句循环语句if 流程for 流程item with_items多值迭代when 语句playbook

文件传输时，出现了格式一致，内容不一致的动态配置文件时，模板就可以大显神威了，现有的file copy command 模块都无法直接满足这个需求

基本规则

模板专用目录：跟 playbook 同目录下创建一个template目录
基准配置文件：基准配置文件放在 template 目录下，文件后缀必须是 *.j2
自动替换数据：]]></description><category></category></item><item><title><![CDATA[ansible 变量]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114273007</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114273007</guid><author>Callme_My_Yang</author><pubDate>Mon, 01 Mar 2021 22:05:51 +0800</pubDate><description><![CDATA[场景
高度定制化的场景
格式一致，内容不一致
为每个 主机 设定不同的属性如：hostname
setup 模块查看主机属性
ansible localhost -m setup
ansible localhost -m setup -a 'filter=*host*'
ansible localhost -m setup -a 'filter=*host*' -o

变量表现形式
设定变量
变量名=变量值
例：
nginx_port=80
获取变量
{{ nginx_port }}
实现方式

1、目标主]]></description><category></category></item><item><title><![CDATA[ansible roles笔记]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114240691</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114240691</guid><author>Callme_My_Yang</author><pubDate>Sun, 28 Feb 2021 21:59:12 +0800</pubDate><description><![CDATA[单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]]></description><category></category></item><item><title><![CDATA[ansible 日常使用模块]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114195545</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114195545</guid><author>Callme_My_Yang</author><pubDate>Sat, 27 Feb 2021 22:14:48 +0800</pubDate><description><![CDATA[command
# 执行系统命令，不支持命令中带特殊字符 &lt;&gt; | ; &amp; 等
ansible localhost -m command -a 'ls /root'
ansible localhost -m command -a 'chdir=/tmp creates=1.txt ls'
# chdir 执行目录
# creates 判定条件，文件存在则不执行，文件不存在则执行
# remove 判定条件，文件存在则执行，文件不存在则不执行
# 不能使用自定义变量

# 查看文档
# a]]></description><category></category></item><item><title><![CDATA[ansible系统模块]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114155835</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114155835</guid><author>Callme_My_Yang</author><pubDate>Fri, 26 Feb 2021 22:24:13 +0800</pubDate><description><![CDATA[hostname
ansible &lt;hosts&gt; -m hostname -a 'name=node1'
# ansible 仅修改 /etc/hostname 
# 没有修改 /etc/hosts

user
# 创建用户
ansible &lt;hosts&gt; -m user -a 'name=webapp uid=10086 home=/home/webapp system=yes groups=root,web comment=webapp shell=/sbin/nologin s]]></description><category></category></item><item><title><![CDATA[ansible 文件模块]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114004323</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/114004323</guid><author>Callme_My_Yang</author><pubDate>Tue, 23 Feb 2021 22:14:17 +0800</pubDate><description><![CDATA[copy

本地拷贝到远程主机

ansible &lt;hosts&gt; -m copy -a 'src=/tmp/log.log dest=/data/log.log backup=yes mode=666'
# content 可以替换 src 属性

fetch

远程拷贝到本地

ansible &lt;hosts&gt; -m fetch -a 'src=/tmp/test.sh dest=/tmp/'
# 拷贝多个文件需要先压缩再拷贝，不支持正则匹配

file

远程主机文件操作： 文件创]]></description><category></category></item><item><title><![CDATA[ansible 应用模块]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113959242</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113959242</guid><author>Callme_My_Yang</author><pubDate>Mon, 22 Feb 2021 22:23:54 +0800</pubDate><description><![CDATA[yum

软件管理

# 检查软件
ansible &lt;hosts&gt; -m yum -a 'list=python'
# 安装软件
ansible &lt;hosts&gt; -m yum -a 'name=python state=present'
ansible &lt;hosts&gt; -m yum -a 'name=nginx,node state=present'
# 卸载软件
ansible &lt;hosts&gt; -m yum -a 'name=python state=abs]]></description><category></category></item><item><title><![CDATA[golang 安装、搭建开发环境]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113926260</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113926260</guid><author>Callme_My_Yang</author><pubDate>Sun, 21 Feb 2021 23:42:00 +0800</pubDate><description><![CDATA[一、下载安装包
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/go
export GOBIN=$GOR]]></description><category></category></item><item><title><![CDATA[ansible系列命令]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113925590</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113925590</guid><author>Callme_My_Yang</author><pubDate>Sun, 21 Feb 2021 22:51:09 +0800</pubDate><description><![CDATA[ansible-doc

ansible 帮助

# 查看帮助文档
ansible-doc -h
# 查看模块参数（精简版）
ansible-doc &lt;module  name&gt; -s
# 查看可用插件
ansible-doc -t -l

ansible-glaxy

ansible 工具模版网站

# init 本地初始化
ansible-glaxy init &lt;role name&gt;

ansible-playbook

通过 playbook 运行ansible

# 检查语法]]></description><category></category></item><item><title><![CDATA[python命令行交互]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113899807</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113899807</guid><author>Callme_My_Yang</author><pubDate>Sat, 20 Feb 2021 22:26:32 +0800</pubDate><description><![CDATA[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 ]]></description><category></category></item><item><title><![CDATA[使用 python进行文本处理]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113873386</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113873386</guid><author>Callme_My_Yang</author><pubDate>Fri, 19 Feb 2021 22:40:32 +0800</pubDate><description><![CDATA[文章目录字符串常量python 标准库正则字符集编码codecsjinja2
字符串常量
python 标准库

join方法

    ','.join(["a", "b"])


切片

    "abcdefg"[::1]


len
in
str.split()
大小写

    upper
    lower
    isupper
    islower
    swapcase # 交换大小写
    capitalize # 首字母大写
    istitle # 是否是标题（所有单词首字母]]></description><category></category></item><item><title><![CDATA[python 操作 linux系统目录/文件]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113854992</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113854992</guid><author>Callme_My_Yang</author><pubDate>Thu, 18 Feb 2021 23:07:12 +0800</pubDate><description><![CDATA[文件读写


open函数
    f = open("123.txt", "r")

文件打开模式

r
w
x
a



避免文件句柄泄露
    try:
        f = open("123.txt")
        print(f.read())
    finally:
        f.close()
    
    # 使用 with
    with open("123.txt") as f:
        print(f.read())



文件操作函数

读函数


r]]></description><category></category></item><item><title><![CDATA[python监控linux]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113839323</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113839323</guid><author>Callme_My_Yang</author><pubDate>Wed, 17 Feb 2021 22:39:47 +0800</pubDate><description><![CDATA[python 编写的监控工具


系统资源统计 dstat

用来取代 vmstat iostat netstat ifstat

    # centos 安装
    yum install dstat
    
    # 如何使用
    dstat -h
    
    # 输出到文件
    dstat -a --output out.csv



交互式监控工具 glances
# 安装
pip install glances
yum install glances
# 开启
glances]]></description><category></category></item><item><title><![CDATA[python自动生成文档/报告/邮件]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113829271</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113829271</guid><author>Callme_My_Yang</author><pubDate>Tue, 16 Feb 2021 22:28:13 +0800</pubDate><description><![CDATA[使用 python 处理excel


openpyxl

读写excel2000
workbook 对象是excel工作簿的抽象
worksheet 对象时对表格的抽象，
cell 是对单元格的抽象

    import openpyxl
    
    wb = openpyxl.load_workbook('123.xlsx')
    # wb的属性
    wb.active
    wb.read_only
    wb.encoding
    wb.worksheets
    
   ]]></description><category></category></item><item><title><![CDATA[python/shell 进行网络探测]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113819302</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113819302</guid><author>Callme_My_Yang</author><pubDate>Mon, 15 Feb 2021 20:51:47 +0800</pubDate><description><![CDATA[shell ping 命令


shell ping 命令行参数

-c 数据报数量

    for ip in 'cat ips.txt'
    do 
        if ping $ip -c 2 &amp;&gt; /dev/null
        then
            echo "$ip is alive"
        else
            echo "$ip is unreachable"
        fi
    done



python 并发pin]]></description><category></category></item><item><title><![CDATA[python 远程系统管理工具paramiko/Fabric]]></title><link>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113804336</link><guid>https://blog.youkuaiyun.com/Callme_My_Yang/article/details/113804336</guid><author>Callme_My_Yang</author><pubDate>Sat, 13 Feb 2021 22:36:00 +0800</pubDate><description><![CDATA[SSH 访问远程服务器


SSH

OpenSSH 基本使用

    # 重启 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]]></description><category></category></item></channel></rss>