麒麟os部署ansible需据版本与网络选适配方式:一、yum在线装2.8.8;二、pipx装ansible-dev-tools;三、离线编译装2.8.20;四、离线rpm批量部署;五、必配主机清单与ssh免密。

如果您在麒麟操作系统上部署Ansible自动化运维工具,但遇到依赖缺失、Python版本不匹配或离线环境限制等问题,则需根据系统具体版本(如V10 SP1/SP2)和可用网络条件选择适配的安装路径。以下是针对麒麟OS的多种Ansible安装方法:
一、使用YUM在线仓库安装
该方法适用于已配置有效系统源且可访问内网更新服务器的麒麟V10环境,能自动解决基础依赖关系,安装过程简洁可控。
1、确认系统版本与YUM源状态:执行cat /etc/os-release | grep -E "NAME|VERSION"及yum repolist,确保ks10-adv-updates仓库处于启用状态。
2、执行Ansible主包安装:运行yum install -y ansible,默认安装版本为2.8.8(适配麒麟V10 SP1/SP2的Python 3.7.9)。
3、验证安装结果:执行ansible --version,输出中应包含configfile=/etc/ansible/ansible.cfg及对应Python路径。
二、通过pipx安装ansible-dev-tools(含TUI界面)
该方式适用于需使用ansible-navigator图形化终端界面、且系统已具备Python 3.10+的麒麟V11或高版本环境,避免污染全局Python环境。
1、安装podman容器运行时:执行yum install -y podman,确保底层容器支持就绪。
2、安装pipx并配置PATH:运行python3 -m pip install --index-url https://mirrors.aliyun.com/pypi/simple/ --user pipx,随后将$(dirname $(realpath $(which pipx)))加入~/.bashrc。
3、使用pipx部署ansible-dev-tools:执行pipx install --index-url https://mirrors.aliyun.com/pypi/simple/ ansible-dev-tools[server],并追加PATH导出语句至~/.bashrc。
4、重载环境并启动导航器:执行source ~/.bashrc后,运行ansible-navigator,等待Fedora镜像拉取完成。
三、离线环境源码编译安装(Ansible 2.8.20)
该方案专为无外网连接、需精确控制组件版本及PyYAML等C扩展兼容性的麒麟V10 SP2生产环境设计,要求提前在同构机器上构建完整依赖链。
1、在联网麒麟同版本机器上下载Ansible 2.8.20源码包:从Ansible GitHub releases页面获取ansible-2.8.20.tar.gz。
2、同步全部Python依赖轮子:使用pip download -d ./deps --no-deps --platform manylinux2014_x86_64 --python-version 37 --only-binary=:all: PyYAML Jinja2 paramiko cryptography packaging resolvelib,特别注意PyYAML-5.3.1-cp37-cp37m-manylinux2014_x86_64.whl必须匹配Python 3.7.9。
3、将ansible-2.8.20.tar.gz与deps/目录整体拷贝至目标麒麟主机。
4、解压源码并进入目录:执行tar -xzf ansible-2.8.20.tar.gz && cd ansible-2.8.20。
5、离线安装依赖及Ansible:运行pip3 install --find-links ../deps/ --no-index --trusted-host None PyYAML Jinja2 paramiko cryptography packaging resolvelib,再执行pip3 install --no-deps -e .。
四、离线RPM包批量部署(适配V10 SP2官方源)
该方法依托麒麟官方维护的ks10-adv-updates仓库RPM包,无需编译,所有依赖均经签名验证,适合对软件供应链安全有强要求的工控场景。
1、从麒麟更新服务器下载完整RPM包集合:包括ansible-2.8.8-1.p01.ky10.noarch.rpm及其全部依赖项,如python3-pyyaml-5.3.1-4.ky10.x86_64.rpm、python3-paramiko-2.4.3-1.ky10.noarch.rpm等共12个包。
2、将所有RPM文件置于同一目录,例如/opt/ansible-rpms/。
3、执行本地批量安装:运行yum localinstall -y /opt/ansible-rpms/*.rpm,YUM将自动解析并按依赖顺序安装。
4、检查关键模块加载:执行ansible localhost -m ping,返回SUCCESS且ping模块响应正常即表明核心功能就绪。
五、主机清单与SSH免密配置(必选前置步骤)
无论采用何种安装方式,Ansible均需通过SSH连接被控节点,因此必须完成主机清单定义与密钥认证,否则所有远程任务将失败。
1、编辑主机清单文件:vim /etc/ansible/hosts,添加目标IP段及连接参数,例如:[web_servers]\n192.168.10.101 ansible_ssh_user=root ansible_ssh_pass=Admin@1234 ansible_ssh_port=22。
2、在Ansible控制节点生成SSH密钥对:执行ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "",跳过密码设置。
3、向所有被控节点分发公钥:运行ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.10.101,输入目标主机密码完成授权。
4、测试SSH连通性:执行ssh -o ConnectTimeout=5 -o BatchMode=yes root@192.168.10.101 exit,确认无交互式提示且退出码为0。











