美文网首页
Ubuntu16.04下ansible-tower的集成

Ubuntu16.04下ansible-tower的集成

作者: wolfwolfgod | 来源:发表于2017-09-29 18:01 被阅读0次

    环境

    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 domainuser@CLOUD.COM
    

    此处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的集成

          本文链接:https://www.haomeiwen.com/subject/rigiextx.html