Ubuntu16.04下ansible-tower的集成

环境

ubuntu 16.04
需要安装Kerberos;
有一个AD域CLOUD.COM需要集成;
域控服务器为ad.cloud.com

设置域名解析

  1. 在ubuntu服务器修改域名解析文件 /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.1.234   
nameserver 223.5.5.5

第一行为局域网内DNS解析服务器,通常和AD是一个
第二行公共DNS

  1. 修改后进行更新
sudo resolvconf -u
  1. 测试能ping通AD服务器
ping ad.cloud.com

时间同步

因为ad.cloud.com的域控本身就是时间服务器,所以设定本台ubuntu和域控时间同步

  1. 安装包
sudo apt-get install ntpdate
  1. 同步时间
sudo ntpdate ad.cloud.com
  1. 最好设crontab进行定期对时
05 */1 * * * ntpdate ad.cloud.com

安装Kerberos

  1. 安装kerberos依赖包
sudo apt-get install krb5-kdc krb5-admin-server

安装的时候需要提供默认realm,填入 CLOUD.COM

  1. 安装后同样需要建立realm,使用命令
sudo krb5_newrealm

此处会要求提供密码,请牢记
遇到的坑:由于 kdb5_util 需要从 /dev/random 设备取得随机数用于安全密码计算 , 而新创建的 Linux 虚拟机很可能因为系统熵不够导致随机数不够用的情况 。 这时可以使用 haveged 增加系统的熵 。执行命令:

sudo apt install haveged
  1. 编辑配置
sudo vim /etc/krb5.conf 

配置文件内容增加:

[libdefaults]
   default_realm = CLOUD.COM

......
[realms]
   CLOUD.COM = {
       kdc = ad.cloud.com 
       }

[domain_realm]
......
     .cloud.com = CLOUD.COM

  1. 启动服务
sudo service krb5-kdc start
  1. 验证
    执行命令
kinit [email protected]

此处domainuser是域用户名 CLOUD.COM是域, 会提示输入密码,成功的话无任何输出。

6.如何删除
之前遇到过重装软件的情况,但每次配置文件都没删干净,导致重装后还有,正确的删除方式

  • 先找出安装包
dpkg --get-selections | grep -v deinstall | grep krb
  • 然后删除
apt-get purge krb5-config krb5-locales krb5-user

特别注意删除krb5-config

还有一个目录需要检查,如果存在一并删除

/var/lib/krb5kdc/principal'

安装postgresql

由于ansible-tower依赖postgresql数据库,所以必须先安装,以下安装客户端和服务端

sudo apt-get install postgresql postgresql-client

安装好以后新建数据库和用户

  1. 切换到postgres用户
sudo su - postgres

执行命令进入sql控制台

psql

此时可以为postgres用户设定一个密码(可选)

\password password
  1. 创建用户awx
CREATE USER awx WITH PASSWORD 'awx';
  1. 创建数据库awx
CREATE DATABASE awx OWNER awx;
  1. 赋权
GRANT ALL PRIVILEGES ON DATABASE awx to awx;
  1. 退出
\q
  1. 测试登录数据库
psql -U awx -d awx -h 127.0.0.1 -p 5432

安装ansible-tower

tower的安装包可直接从官网下载,解压到某一目录。

  1. 首先需要修改编辑inventory配置文件,内容如下
[tower]
localhost ansible_connection=local

[database]

[all:vars]
#ansible-tower登录密码
admin_password='admin'

#PostgreSQL监听地址端口
pg_host='127.0.0.1'
pg_port='5432'

pg_database='awx'
pg_username='awx'
pg_password='awx'

rabbitmq_port=5672
rabbitmq_vhost=tower
rabbitmq_username=tower
#here
rabbitmq_password='tower'
rabbitmq_cookie=cookiemonster
# Needs to be true for fqdns and ip addresses
rabbitmq_use_long_name=false
  1. 运行安装脚本
sudo ./setup.sh
  1. 安装完成后,即可访问web页面,用户名admin,密码在上一步配置文件中定义的。然后需导入License文件。License文件可去官网申请,免费版可管理10个host

设置windows被管机器

环境要求

  1. 安装Framework 3.0+
  2. 设置PowerShell本地脚本运行权限为remotesigned
  3. 升级PowerShell至3.0+
  4. 自动设置Windows远端管理,英文全称WS-Management(WinRM)

设置PowerShell本地脚本运行权限

执行以下ps命令

set-executionpolicy -executionpolicy unrestricted

自动设置Windows远端管理

可通过运行脚本ConfigureRemotingForAnsible.ps1来执行.
执行结果没有返回值即为正常。如执行出现“由于此计算机上的网络连接类型之一设置为公用,因此 WinRM 防火墙例外将不运行”类似报错,请在 PowerShell 中执行命令 Enable-PSRemoting – SkipNetworkProfileCheck –Force 尝试解决

你可能感兴趣的:(Ubuntu16.04下ansible-tower的集成)