运维自动化
文章平均质量分 92
happy_king_zi
这个作者很懒,什么都没留下…
展开
-
配置管理工具之saltstack实战总结
你可以创建一个自定义的 State 文件来收集并汇总这些信息,并将其保存到文件或数据库中。原创 2024-09-26 10:07:39 · 787 阅读 · 0 评论 -
Goland的使用
Goland是由JetBrains公司旨在为go开发者提供的一个符合人体工程学的新的商业IDE。这个IDE整合了IntelliJ平台的有关go语言的编码辅助功能和工具集成特点。原创 2024-09-25 10:04:26 · 1029 阅读 · 0 评论 -
Visual Studio Code的常用快捷键
Visual Studio Code是个牛逼的编辑器,启动非常快,完全可以用来代替其他文本文件编辑工具。又可以用来做开发,支持各种语言,相比其他IDE,轻量级完全可配置还集成Git感觉非常的适合前端开发。所以我仔细研究了一下文档未来可能会作为主力工具使用。原创 2024-09-25 10:01:53 · 716 阅读 · 0 评论 -
Python范例总结
sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如sys.modules里面有已经加载了的所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。WSGI(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app与web server之间接口格式,实现web app与web server间的解耦。当把面向对象中的所有__函数__实现时,对象做任何操作时,都会执行其中对应的方法。原创 2024-09-23 10:20:19 · 1118 阅读 · 0 评论 -
python应用实战
服务端## 使用Python的http.serve启动一个web服务python -m http.server --directory 共享路径 -b 0.0.0.0 8080# 客户端## 直接 访问 ip+端口;可以访问到共享目录下所有资源### 给其他人文件访问地址,复制到浏览器上直接可下载。原创 2024-09-23 10:13:16 · 981 阅读 · 0 评论 -
saltstack企业实战
saltstack官网最新文档saltstack 高可用方案:Salt官网是有https://www.cnblogs.com/renolei/p/4725455.html架构解析注意事项1.2个master并不会共享Minion keys,一个master删除了一个key不会影响另一个2.不会自动同步File_roots,所以需要手动去维护,如果用git就没问题了3.不会自动同步Pillar_Roots,所以需要手工去维护,也可以用git4.Master的配置文件也是独立的https://w原创 2024-09-19 10:38:40 · 1193 阅读 · 0 评论 -
saltstack高级用法
Jid:job id,格式为%Y%m%d%H%M%S%fmaster在下发指令消息时,会附带上产生的Jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion/)下的proc目录产生以Jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕后将结果传送给master后,删除该临时文件。原创 2024-09-19 10:30:04 · 918 阅读 · 0 评论 -
saltstack配置管理
salt-ssh 是 0.17.0 新引入的一个功能,不需要minion对客户端进行管理,也不需要master。salt-ssh 支持salt大部分的功能:如 grains、modules、state 等salt-ssh 没有使用ZeroMQ的通信架构,执行是串行模式salt-ssh和salt-minon可以共存,salt-minion不依赖ssh服务类似 paramiko、pssh、ansible 这类的工具。原创 2024-09-18 10:55:52 · 1302 阅读 · 0 评论 -
saltstack远程执行
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.rh_service.html#module-salt.modules.rh_service解释。List: 指定-L参数,salt -E 'web1-(prod|devel)' test.ping。详解见:https://www.cnblogs.com/phennry/p/5416408.html。返回到哪,需要安装相关的依赖包(返回支持写入目的地,详见上面文档)原创 2024-09-18 10:38:40 · 911 阅读 · 0 评论 -
saltstack入门
SaltStack 是一种基于C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建。原创 2024-09-18 10:33:29 · 1675 阅读 · 0 评论 -
ansible企业实战
ControlPersist=5d这个参数是设置整个长连接保持时间设置为5天,如果开启,通过SSH连接过的设备都会在/ansible/cp目录下生成一个socket文件。修改 /etc/ansible/ansible.cfg里面的参数pipelining=True。修改 /etc/ansible/ansible.cfg里面的参数。需要将 [bj4-k8s] 变更为 [bj4_k8s]原创 2024-09-14 11:54:19 · 1653 阅读 · 0 评论 -
ansible安全优化篇
Telnet协议诞生于20世纪60年代后期,最初被应用到基于TCP协议的大型私有网络之中,默认端口是23号端口。Telnet是一种文本协议,用于在不同网络间传输数据。Telnet属于底层协议,至今它依然是我们现在使用的很多通信协议的基础,比如HTTP、FTP以及POP3。随着SSH的到来,Telnet开始逐渐退出远程管理的舞台。Linux系统的sudo命令可以让普通用户以root(也可以指定为其他用户)的权限来执行指定命令,这样不仅减少了root用户和管理时间,同样也提高了安全性。原创 2024-09-14 11:45:44 · 1609 阅读 · 0 评论 -
ansible常用模块
9 state: directory:如果目录不存在,创建目录 file:即使文件不存在,也不会被创建 link:创建软链接 hard:创建硬链接 touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间 absent:删除目录、文件或者取消链接文件。如果路径是一个目录,它将递归复制。5 force:如果目标主机包含该文件,但内容不同,如果设置为yes,则强制覆盖,如果为no,则只有当目标主机的目标位置不存在该文件时,才复制。原创 2024-09-14 11:43:48 · 873 阅读 · 0 评论 -
gitlab使用
或者上官网下载最新版本 gitlab对应软件包 [gitlab官网](https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.12.13-ce.0.el7.x86_64.rpm)/var/opt/gitlab/nginx/conf/nginx.conf #nginx配置文件,包含gitlab-http.conf文件。在操作用户的家目录创建文件:如果该路径下没有config文件,则创建一个。原创 2024-08-28 11:54:26 · 1579 阅读 · 0 评论 -
Python处理Excel和PDF文档
openpyxl是一个读写Excel2010(xlsx/xlsm)文档的Python库,如果要处理更早格式的Excel文档,需要用到另外的库。openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。XlsxWriter也是一个与Excel处理相关的知名项目,仅支持创建和写入Excel文档,不支持读取Excel文档。PyPDF2是一个纯Python的开源库,能够分割或合并PDF文件,也可以裁剪或转换 PDF文件中的页面。原创 2024-08-27 17:56:35 · 837 阅读 · 0 评论 -
Go之函数
对特定的功能进行提取,形成一个代码片段基本语法:type 自定义数据类型名 数据类型自定义数据类型相当于起个别名实战1type myInt int ————>myInt就等价于int//自定义数据类型:(相当于起别名)给int类型起了个别名叫myInt类型//num2 = num1 //虽然是别名,但是在go中编译识别时,还是认为myInt和int不是一种数据类型实战2。原创 2024-08-22 10:01:39 · 678 阅读 · 0 评论 -
Go代码风格
正确范例反例:var a int 的随意命名方式。原创 2024-08-22 09:56:18 · 857 阅读 · 0 评论 -
golang多版本管理工具g
g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。原创 2024-08-22 09:49:06 · 1208 阅读 · 0 评论 -
Django进阶Model篇—数据库操作(ORM)
PyMySQL(纯python的mysql驱动-推荐) :https://pypi.python.org/pypi/PyMySQL。原创 2024-08-21 13:46:22 · 1370 阅读 · 0 评论 -
Git 常用命令说明
场景: 你在最后一条 commit 消息里有个笔误,已经执行了 git commit -m "Fxies bug #42",但在 git push 之前你意识到消息应该是 “Fixes bug #42″。方法: git commit --amend 或 git commit --amend -m "Fixes bug #42"原创 2024-08-21 13:37:32 · 1046 阅读 · 0 评论 -
Python之wsgi
WSGI一开始是在。原创 2024-08-21 13:34:17 · 752 阅读 · 0 评论 -
Python环境——安装扩展库
在安装成功后,pycharm会提供提示。若安装了Python2和3两种版本,可能遇到安装目录问题(python2,需要将python3 改成python)安装完Python环境之后,系统就直接支持pip,所以只要输入一行(Python2直接使用pip)但是有少量的库是使用其他语言编译的,安装方法类外。安装相应的库,安装位置:PYTHON_HOME\lib\site-packages。进入pypi.python.org,搜索你要安装的名字,这是有3种可能。在pycharm中安装可以方便快捷的安装和管理库。原创 2024-08-21 13:28:25 · 849 阅读 · 0 评论 -
Ipython使用指南
2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动的一个项目,IPython不仅仅是一个加强版的shell,他可以直接进行绘图操作的GUI控制台,一个基于web的交互式笔记本,以及一个轻量级的快速并行计算引擎。ipython是一个升级版的交互式python命令行工具.原创 2024-08-21 13:24:52 · 1211 阅读 · 0 评论 -
python格式化输出
3 >>> print('{:10s} and {:>10s}'.format('hello','world')) # 取10位左对齐,取10位右对齐。5 >>> print('{:^10s} and {:^10s}'.format('hello','world')) # 取10位中间对齐。{:-f}'.format(3.14, -3.14) # -数时显示-,与'{:f};5 >>> print('{0} {1} {0}'.format('hello','world')) # 打乱顺序。原创 2024-08-20 18:03:28 · 1443 阅读 · 0 评论 -
Python之requests模块
使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3)注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求2、安装requests模块HTTP默认的请求方法就是GET* 没有请求体* 数据必须在1K之内!原创 2024-08-20 17:58:09 · 1222 阅读 · 0 评论 -
Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型
进程:正在进行的一个过程或者说一个任务。而负责执行任务则是CPU。举例(单核+多道,实现多个进程的并发自行)一个时间段有许多任务要做:下载课程的视频,洗衣服,和朋友聊天,做饭(在一个任务正在运行时,不需要人工干预时,切换做另外一件事情,设定好相应的提醒,或者定时执行动作)python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。原创 2024-08-19 11:10:41 · 969 阅读 · 0 评论 -
Python-异常处理
异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下语法错误(不能发生的:根本过不了python解释器的语法检测,必须在程序执行前就改正)逻辑错误 2、运行过程中计算机错误:内存不够或者io错误 三)异常的步骤: 异常产生,检查到错误且解释器认为是异常,抛出异常异常处理,异常处理,截获异常,系统忽略或者终止程序处理异常在python中不同的异常可以用不同的类型(pyt原创 2024-08-19 10:43:20 · 1277 阅读 · 0 评论 -
面向对象进阶
反射的概念式有Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。1.对象有id、host、port三个属性2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化。原创 2024-08-18 11:12:09 · 619 阅读 · 0 评论 -
初识面向对象,面向对象之继承、多态和封装
1315 print('%s 打了 %s' %(person_d['name'],dog_d['name']))1719 print('%s 咬了 %s' %(dog_d['name'],person_d['name']))角色实例化,互相攻击2 egg = dog(200,2000,'egon','金毛')弊端:某一角色误操作,可以调用其他角色的技能,这是明显的bug,必须修正:角色只能调用自己的技能面向过程的程序设计的核心是过程二字(流水线式思维),过程即解决问题的步骤。原创 2024-08-18 10:53:27 · 770 阅读 · 0 评论 -
Python常用的模块
1 logger:产生日志的对象2 Filter:过滤日志的对象3 Handler:接收日志然后控制打印到不同的地方,FileHandler用来打印到文件中,StreamHandler用来打印到终端4 Formatter对象:可以定制不同的日志格式对象,然后绑定给不同的Handler对象使用,以此来控制不同的Handler的日志格式正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。原创 2024-08-17 19:58:58 · 998 阅读 · 0 评论 -
函数递归,匿名、内置行数,模块和包,开发规范
递归调用:在调用一个函数的过程中,直接或间接地调用了函数本身# 有名函数def f1(m):# 匿名函数内置函数:python将简单的功能内置到语言中,使用者不用定义,可以直接使用内置函数链接:https://docs.python.org/3/library/functions.html?一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。##官网的解释包是一种通过使用‘.模块名’来组织Python模块名称空间的方式##详细解释。原创 2024-08-17 19:40:01 · 923 阅读 · 0 评论 -
Django基础之MTV模型
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型(Model)、视图(View)和控制器(Controller)。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Model:封装领域数据及逻辑。原创 2024-08-15 09:20:42 · 1323 阅读 · 0 评论 -
浅谈Python web框架
除了Django另一个大头就是Pylons了,因为TurboGears2.x是基于Pylons来做的,而repoze.bfg也已经并入Pylons project里这个大的项目里,后面不再单独讨论TurboGears和repoze.bfg了。Pylons和Django的设计理念完全不同,Pylons本身只有两千行左右的Python代码,不过它还附带有一些几乎就是Pylons御用 的第三方模块。原创 2024-08-15 09:18:03 · 632 阅读 · 0 评论 -
ELKstack实践总结
使用版本6.3.2。原创 2024-08-14 11:02:40 · 941 阅读 · 0 评论 -
zabbix的问题总结
有可能:将主机在zabbix UI上加上就好了(若没操作此步骤,我使用的自动注册,配置有问题一直报错,改好就好了)原创 2024-08-09 11:37:11 · 979 阅读 · 0 评论 -
Python知识点实战
_init__:对象初始化方法__new__:创建对象时候执行的方法,单列模式会用到__str__:当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据__del__:删除对象执行的方法import res = "not 404 found 11.1 张三 12 在 99 上海"= '']原创 2024-08-02 10:01:05 · 1083 阅读 · 0 评论 -
容器镜像制作 流程与规范
介绍容器的使用规范,包括构建镜像、启动容器、挂载数据卷、容器导入导出、连接harbor镜像仓库等。原创 2024-07-28 12:56:14 · 495 阅读 · 0 评论 -
k8s使用Reloader实现更新configmap后自动重启pod
在日常使用kubernetes过程中,需要经常使用到configMap或Secret时,但存在的问题:在更新完configMap或secret后,已经启动的pod无法感知到其变化,不会滚动更新pod。给人感觉是新配置未生效。如果业务自身支持 reload 操作,比如 nginx,那么我们可以使用 inotify 感知到文件更新或者直接定期 reload(可以配合 readinessProbe 一起使用)。但是如果业务不支持热加载配置,就需要使用到 Kubernetes 自身提供的滚动更新功能了。原创 2024-07-27 18:49:51 · 1178 阅读 · 0 评论 -
Python基础学习——字符串、列表、元组、字典、集合
一)数据类型分类1、按存储空间的占用分(从低到高)数字字符串集合:无序,即无序存索引相关信息元组:有序,需要存索引相关信息,不可变列表:有序,需要存索引相关信息,可变,需要处理数据的增删改字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改2、按存值个数区分标量/原子类型数字,字符串容器类型列表,元组,字典3、按可变不可变区分可变列表,字典不可变数字,字符串,元组4、按访问顺序区分直接访问数字顺序访问(序列类型)字符串,列表,元组。原创 2024-07-27 16:31:14 · 862 阅读 · 0 评论 -
Python基础学习——文件操作、函数
https://www.cnblogs.com/happy-king/p/7538315.html原创 2024-07-27 16:43:57 · 729 阅读 · 0 评论