Ansible-tower工具搭建和使用
简介Ansible-tower工具搭建和使用
一、Ansible-tower安装
- 传统安装:
- 基本思路,从Github拉取项目,然后配置文件,然后执行./setup.sh
- 缺点:安装过程太艰辛,后期卸载非常麻烦
- Docker安装:
- 基本思路:申请证书、拉取镜像、运行镜像、破解
- 优点:安装快,配置方便
本文主要介绍Docker安装过程:
1.1、申请证书
certbot免费证书:https://github.com/certbot/certbot
Ansible-tower必须使用https来进行访问,所以必须要申请证书
本过程省略,读者自己去古道这个工具 完成后会在/etc/letsencrypt/live/目录下生成对应域名的目录,如/etc/letsencrypt/live/xxx.yyy.com 里面有四个文件(cert.pem、chain.pem、fullchain.pem、privkey.pem) 我们只需要两个(fullchain.pem、privkey.pem),分别修改名称: fullchain.pem ==> tower.cert privkey.pem ==> tower.key
1.2、获取镜像
Docker镜像:https://hub.docker.com/
docker pull kakawait/ansible-tower
1.3、运行容器
docker run -d -v /etc/letsencrypt/live/xxx.yyy.com:/certs -p 6001:443 --name tower kakawait/ansible-tower
这里需要挂在证书到/certs下,我们本地开发6001端口指向容器。
1.4、通过域名访问
访问地址:https://xxx.yyy.com:6001 注意:一定要是https

这里默认用户名和密码:admin/password
登录成功后,需要们上传License File,需要去申请(建议申请)。以供学习使用,我们可以修改下代码来跳过这个步骤。
1.5、跳过上传License
docker exec -it tower bash #进入容器
cd /var/lib/awx/venv/awx/lib/python2.7/site-packages/tower_license #进入该目录
vim __init__.py #编辑__init__.py文件,找到 def _check_cloudforms_subscription(self):函数下直接返回True
#119行 def _check_cloudforms_subscription(self):
#120行 return True
#修改完后保存,再当前目录下指向如下两个命令
python -m py_compile __init__.py
python -O -m py_compile __init__.py
#重启服务
ansible-tower-service restart
重启后,重新进入就跳过了上传License File的过程。
目前我们已经能正常使用了,但是我们这个hosts会有一定的限制,所以我们也可以通过破解来进行处理。(仅供学习使用)
1.6、Tower无限hosts的License修改
修改的文件跟上一步一样,找到文件232行
#232行 #available_instances = int(attrs.get('instance_count', None) or 0) #注释
#233行 available_instances = 1000000 #新增
#234行 attrs['license_type'] = 'enterprise' #新增
其他操作跟上一步一样,都需要重新执行和重启服务。重新查询License如下图

图标组件是展示图标的组件,但是再Flutter中,Icon组件是只是起一个展示效果,不能进行交互,如果要实现交互,就需要使用图标按钮IconButton组件。
在使用uni-app开发微信小程序的过程中,要解析markdown那么就可以使用Towxml组件,本文主要介绍下如何在uni-app中添加Towxml组件。
chpasswd命令用于从标准输入中读取一定格式的用户名和密码来批量修改用户的密码,输入格式为: “用户名:密码”
单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。