前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KubeSphere 最佳实战:制作 Ansible 离线安装包实战指南

KubeSphere 最佳实战:制作 Ansible 离线安装包实战指南

作者头像
运维有术
发布2024-07-06 08:04:40
2800
发布2024-07-06 08:04:40
举报
文章被收录于专栏:运维有术

今天分享的内容是 KubeSphere 最佳实战「2024」 系列文档中的 Ansible 离线安装包制作实战指南

上一期我们实战讲解了基于 Ansible 极速初始化 KubeSphere 集群节点。很多朋友私信我,咨询如何制作离线解压即用的 Ansible 运行环境。

今天,我将为大家分享,自动化运维工具 Ansible 离线解压即用版的制作方法。

实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不同)

主机名

IP

CPU

内存

系统盘

数据盘

用途

ansible-python2

192.168.9.111

4

8

40

Centos7 Python2 环境

ansible-python3

192.168.9.112

4

8

40

OpenEuler Python3 环境

合计

2

8

16

80

实战环境涉及软件版本信息

  • 操作系统:CentOS 7.9openEuler 22.03 LTS SP3
  • Ansible: 2.10.7

1. 前置说明

Ansible 离线安装、运行有以下常用方式:

  • 离线 RPM、Deb包(依赖的包太多,制作、安装麻烦)
  • docker 容器运行(不适用于非容器环境)
  • Python 虚拟环境(使用灵活,制作简单)

个人比较喜欢利用 Python 虚拟环境制作离线 Ansible 运行环境,这种方式灵活性更强,对系统的侵入性最小。因此,本文重点介绍如何安装 Python 虚拟环境并利用虚拟环境的方式安装 Ansible。

在制作 Ansible 离线包的过程中,我们需要提前准备两台能联网的机器,一台 CentOS 7.9,一台 openEuler 22.03 或是其他安装 Python3 的操作系统。

因此,基于 Python 虚拟环境制作 Ansible 离线包有以下两个版本:

  • CentOS 7.9 基于 Python2
  • openEuler 22.03 基于 Python3

2. Python2 版本的 Ansible 安装制作

2.1 安装 Python 虚拟环境

代码语言:javascript
复制
yum install -y python-virtualenv bzip2

2.2 虚拟环境安装 Ansible

代码语言:javascript
复制
cd /opt
virtualenv --no-site-packages ansible-2.10
source ansible-2.10/bin/activate

# 升级 pip 到最新版
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 安装 Ansible 2.10 最新版
pip install cryptography==2.9.2 ansible==2.10.7 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 安装 paramiko 用于远程连接(不依赖于 sshpass)
pip install paramiko -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 压缩打包(使用 bz 提高压缩率)
tar jcvf ansible-venv-2.10-py2.tar.bz ansible-2.10

# 查看文件大小
$ du -sh ansible-venv-2.10-py2.tar.bz 
45M     ansible-venv-2.10-py2.tar.bz

2.3 验证测试

将制作好的 ansible-venv-2.10-py2.tar.bz 离线安装包拷贝到 Ansible 控制节点的 /opt 目录。

  • 解压并激活虚拟环境
代码语言:javascript
复制
cd /opt
tar xvf ansible-venv-2.10-py2.tar.bz
source /opt/ansible-2.10/bin/activate
  • 查看 ansible 版本
代码语言:javascript
复制
$ ansible --version
ansible 2.10.17
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/ansible-2.10/lib/python2.7/site-packages/ansible
  executable location = /opt/ansible-2.10/bin/ansible
  python version = 2.7.5 (default, Nov 14 2023, 16:14:06) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
  • 日常使用

每次使用 Ansible前,先使用命令 source /opt/ansible-2.10/bin/activate,激活 Ansible 运行环境。

3. Python3 版本的 Ansible 安装制作

3.1 安装 Python 虚拟环境

代码语言:javascript
复制
yum install -y python3-virtualenv bzip2 tar

3.2 虚拟环境安装 Ansible

代码语言:javascript
复制
cd /opt
virtualenv ansible-2.10
source ansible-2.10/bin/activate

# 升级 pip 到最新版
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 安装 Ansible 2.10 最新版
pip install cryptography==2.9.2 ansible==2.10.7 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 安装 paramiko 用于远程连接(不依赖于 sshpass)
pip install paramiko -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

# 压缩打包(使用 bz 提高压缩率)
tar jcvf ansible-venv-2.10-py3.tar.bz ansible-2.10

# 查看文件大小
$ du -sh ansible-venv-2.10-py3.tar.bz
47M     ansible-venv-2.10-py3.tar.bz

3.3 验证测试

将制作好的 ansible-venv-2.10-py3.tar.bz 离线安装包拷贝到 Ansible 控制节点的 /opt 目录。

  • 解压并激活虚拟环境
代码语言:javascript
复制
cd /opt
tar xvf ansible-venv-2.10-py3.tar.bz
source /opt/ansible-2.10/bin/activate
  • 查看 ansible 版本
代码语言:javascript
复制
(ansible-2.10) $ ansible --version
ansible 2.10.17
  config file = None
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/ansible-2.10/lib/python3.9/site-packages/ansible
  executable location = /opt/ansible-2.10/bin/ansible
  python version = 3.9.9 (main, Dec 28 2023, 13:48:32) [GCC 10.3.1]
  • 日常使用

每次使用 Ansible前,先使用命令 source /opt/ansible-2.10/bin/activate,激活 Ansible 运行环境。

4. 自动化工具

文章中所有操作步骤,已全部编排为自动化脚本,包含以下内容(因篇幅限制,不在此文档中展示):

  • Python2 版本的 Ansible 自动安装构建脚本
  • Python3 版本的 Ansible 自动安装构建脚本
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维有术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前置说明
  • 2. Python2 版本的 Ansible 安装制作
    • 2.1 安装 Python 虚拟环境
      • 2.2 虚拟环境安装 Ansible
        • 2.3 验证测试
        • 3. Python3 版本的 Ansible 安装制作
          • 3.1 安装 Python 虚拟环境
            • 3.2 虚拟环境安装 Ansible
              • 3.3 验证测试
              • 4. 自动化工具
              相关产品与服务
              腾讯云服务器利旧
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档