Linux之Ubuntu与银河麒麟(内核Ubuntu)操作系统上部署ansible+awx

一 查看系统内核是否为Ubuntu 1

root@kylinroot-computer:/home/kylinroot/myDownloads/awx-14.1.0/installer# cat /proc/version

Linux version 4.11.0-14-generic (buildd@builder211) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #20~16.04.1kord0k1-Ubuntu SMP Wed Oct 18 00:56:13 UTC 2017

注:如果可以,直接切换root用户操作如下命令2

sudo -i

二 安装ansible

1、修改Ubuntu 软件管理命令apt的镜像源为国内源

修改source.list文件

sudo vi /etc/apt/source.list

文件内容改为如下:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable
# deb-src [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable 

升级apt管理的软件

sudo apt update
sudo apt upgrade

2、设置系统

  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 关闭selinux
    修改config文件
vi /etc/selinux/config

将文件中的SELINUX值修改为如下

SELINUX=disabled

3、安装python

  1. 先检查系统是否存在python3环境
ll /usr/bin/python*
root@kylinroot-computer:~# ll  /usr/bin/python*
lrwxrwxrwx 1 root root       9 618 21:28 /usr/bin/python -> python3.6*
lrwxrwxrwx 1 root root       9 416  2018 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root 3637096 39  2023 /usr/bin/python2.7*
lrwxrwxrwx 1 root root       9 1025  2018 /usr/bin/python3 -> python3.6*
-rwxr-xr-x 2 root root 4526456 311  2023 /usr/bin/python3.6*
lrwxrwxrwx 1 root root      33 311  2023 /usr/bin/python3.6-config -> x86_64-linux-gnu-python3.6-config*
-rwxr-xr-x 2 root root 4526456 311  2023 /usr/bin/python3.6m*
lrwxrwxrwx 1 root root      34 311  2023 /usr/bin/python3.6m-config -> x86_64-linux-gnu-python3.6m-config*
lrwxrwxrwx 1 root root      16 1025  2018 /usr/bin/python3-config -> python3.6-config*
lrwxrwxrwx 1 root root      10 1025  2018 /usr/bin/python3m -> python3.6m*
lrwxrwxrwx 1 root root      17 1025  2018 /usr/bin/python3m-config -> python3.6m-config*

  1. 如果没装python3环境
sudo apt install python
  1. 如果存在python3环境,修改软连接为python3
    检查python版本是否为python3
root@kylinroot-computer:/usr/bin# python --version
Python 2.6.9

如果不是python3版本,修改python命令所真正调用的命令python3的命令(其实这个python相当于就是个快捷方式,我们现在把这个快捷方式的调用目标改为python3)

sudo ln -fns [真正的命令] [python命令]
sudo ln -fns /user/bin/python3.6 /user/bin/python

这个python3.6就是我环境里的python3版本的python

上面执行成功后,直接打印版本号就会打印出python3的版本号:

root@kylinroot-computer:/usr/bin# python --version
Python 3.6.9

4、 Ubuntu安装docker

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

查看是否安装成功,如果出现以下图片证明成功

root@kylinroot-computer:/usr/bin# sudo docker version
Client: Docker Engine - Community
 Version:           24.0.2
 API version:       1.43
 Go version:        go1.20.4
 Git commit:        cb74dfc
 Built:             Thu May 25 21:52:13 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.2
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.4
  Git commit:       659604f
  Built:            Thu May 25 21:52:13 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

5、 docker设置源(最好如此,不然容易下载镜像失败)

创建daemon.json文件

touch /etc/docker/daemon.json

daemon.json文件内容如下:

{
    "registry-mirrors" : [
    "http://mirror.azure.cn/",
"http://mirrors.ustc.edu.cn",
"https://i1el1i0w.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://registry.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
  ]
}

重启docker

systemctl restart docker

查看docker是否设置成功,查看最下面Registry Mirrors是否为自己所设置的Registry Mirrors

root@kylinroot-computer:/home/kylinroot/myDownloads/awx-14.1.0/installer# docker info
Client: Docker Engine - Community
 Version:    24.0.2
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.5
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.18.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
 Registry Mirrors:
  http://mirror.azure.cn/
  http://mirrors.ustc.edu.cn/
  https://i1el1i0w.mirror.aliyuncs.com/
  https://hub-mirror.c.163.com/
  https://registry.aliyuncs.com/
  https://registry.docker-cn.com/
  https://docker.mirrors.ustc.edu.cn/
 Live Restore Enabled: false

5、安装ansible

  1. 修改pip 镜像源为国内镜像源
sudo mkdir ~/.pip
sudo touch ~/.pip/pip.conf
sudo vi ~/.pip/pip.conf

pip.conf文件内容如下:

[global]
timeout = 6000
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
  1. 升级pip3
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools
  1. 安装ansible(版本太高太低都会导致awx项目运行失败。。血泪教训!!4
pip install ansible==2.9.1

*4) 卸载ansible(如果发现自己ansible版本安装错了那么就需要执行该步骤)

pip uninstall ansible
pip uninstall ansible-core

三、安装awx(主要是下载python依赖的库和项目)

  1. 下载python依赖的库
  • 下载python依赖docker的库
    pip install docker
  • 下载python依赖的docker-compose库
    pip install docker-compose
  • 下载requests模块(我的麒麟系统确实缺少该模块,如果通过pip list看到自己有该模块那就不用下)
    pip install requests
  1. 下载awx项目(可以用vpn在自己电脑下载下来,然后通过XFTP文件传输到自己的虚拟机)
    https://github.com/ansible/awx/archive/14.1.0.tar.gz (博客最上面有个资源下载,就是这个东西,我没设置必需 积分下载,应该可以免费下载。。。吧
    解压缩
    tar -zxvf awx-14.1.0.tar.gz
    注:对自己在linux系统创建的文件夹里要chmod 777 目标文件夹修改权限,不然的话,XFTP要传输文件到自己创建的文件夹里会失败(报错误状态)
  2. 修改awx配置文件
    进入awx的installer文件夹
cd [自己的下载的awx项目路径]/awx-14.1.0/installer

查看自己的python路径

root@kylinroot-computer:/usr/local/bin# which is  python
/usr/bin/python

修改installer文件夹下inventory文件

sudo vi inventory

按字母i进入编辑模式
修改inventory文件第一行,主要改ansible_python_interpreter值为自己的·python路径

localhost ansible_connection=local ansible_python_interpreter="/usr/bin/python"

按Esc退出编辑,然后:wq!保存退出

  1. 下载awx所需镜像
    依次输入如下三条命令
docker pull redis:latest
docker pull postgres:10
docker pull ansible/awx:14.1.0

拉取镜像完毕后,查看

root@kylinroot-computer:/home/kylinroot/myDownloads/awx-14.1.0/installer# docker images
REPOSITORY                         TAG       IMAGE ID       CREATED       SIZE
postgres                           10        29de4f28ccbf   2 years ago   200MB
redis                              latest    7614ae9453d1   2 years ago   113MB
ansible/awx                        14.1.0    8a29b4e35f5f   3 years ago   1.3GB

7、跑awx项目

【自己放置awx的路径】/awx-14.1.0/installer路径下运行一下命令

root@kylinroot-computer:/home/kylinroot/myDownloads/awx-14.1.0/installer# ansible-playbook -i inventory install.yml

查看运行结果

root@kylinroot-computer:/home/kylinroot/myDownloads/awx-14.1.0/installer# docker ps
CONTAINER ID   IMAGE                COMMAND                   CREATED       STATUS       PORTS                                   NAMES
84750effcd61   ansible/awx:14.1.0   "/usr/bin/tini -- /u…"   3 hours ago   Up 3 hours   8052/tcp                                awx_task
49abd2db0abe   ansible/awx:14.1.0   "/usr/bin/tini -- /b…"   3 hours ago   Up 3 hours   0.0.0.0:80->8052/tcp, :::80->8052/tcp   awx_web
54e9d286758e   redis                "docker-entrypoint.s…"   3 hours ago   Up 3 hours   6379/tcp                                awx_redis
65b42ced3824   postgres:10          "docker-entrypoint.s…"   3 hours ago   Up 3 hours   5432/tcp                                awx_postgres

注意:输入命令后不要立刻访问页面,需要等项目启动一会访问页面时页面才能出现
解释:
a、访问路径url就是[本虚拟机的ip地址]直接访问,端口就是[ansible/awx:14.1.0那俩镜像记录]对应的端口列,我的如上图所示就是80

b、访问的账号密码就是【自己放置awx的路径】/awx-14.1.0/installer里的inventory文件里有写(即账号为admin,密码为password):

# This will create or update a default admin (superuser) account in AWX, if not provided
admin_user=admin
admin_password=password

成功界面
登录
主页面

四 、总结

我这个步骤应该算是Ubuntu安装ansible+awx的比较简单方便的了,也是我看了多篇博客结合自己所踩的坑的结果。本篇博客也是自己真正实践成功的一个步骤的记录,由于过程十分艰难曲折,特此记录。

记于2024年6月23日小屋内

相关链接:
centos安装ansible+awx
ubuntu安装ansible+awx(我觉得没必要这么麻烦,我的或许好些)5
阿里云docker源设置


  1. 本博文只为Ubuntu系统以及Ubuntu系统为内核的银河麒麟安装ansible与以ansible为基础的awx项目,至于其他系统如centos的安装教程在本文最下面的相关链接 centos安装ansible+awx↩︎

  2. 用roo用户可以避免所有命令前加root的麻烦,也可以避免一些权限问题,包括但不限于各种文件无法修改,无法对docker的进行结束或者启动,一些命令运行失败等等,但是如果想严谨,那么可以忽视这句话。 ↩︎

  3. 如果不设置pip的源那么升级pip就会报错。。。 ↩︎

  4. 如果ansible版本太高应该是这个报错ERROR! [DEPRECATED]: community.general.docker_service has been removed. Use community.docker.docker_compose instead. This feature was removed from community.general in version 2.0.0. Please update your playbooks. ↩︎

  5. 既然有这个博客了,我为什么还要写,因为他最后一步make docker-compose编译的时候需要下载镜像,会下载的很慢很慢,而且无法通过/etc/docker/daemon.json文件加速下载,最后直接导致下载超时,怎么改都不行,总不能是我网太拉胯了吧? ↩︎

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值