以前做的一个关于 Ansible 的入门介绍,可以看看
GitHub 链接: https://github.com/dylanninin/presentation/blob/master/2020-09-11_Ansible-Intro.pdf
Slideshare 链接: https://www.slideshare.net/DylannininGogh/ansible-introduction-238633094
1
lairdnote 2023-06-22 09:15:28 +08:00
現在誰還會用這個啊 。。都是 k8s aws
|
3
mmm159357456 2023-06-22 11:03:41 +08:00
都是英文的话我觉得还是看 ansible core 的 docs 就够了
|
5
shuimugan 2023-06-22 14:07:34 +08:00 via Android
ansible 近两年也没啥大更新,我现在是直接提需求 chatgpt 写的,批量复制文件、执行命令、追加 hosts 、安装软件、起服务之类的命令准确率很高
|
6
dylanninin OP @shuimugan 哈哈哈,666 ,这也可以。
|
7
dylanninin OP @lairdnote 不是同一类东西啊,没法比。
可以问问 ChatGPT Ansible 是一个广泛使用的配置管理和自动化工具,它可以帮助用户自动配置服务器、应用程序和其他基础设施组件。除 Ansbile 以外,市面上还存在许多类似的工具,这些工具在功能和工作方式上可能略有不同。以下是几个比较知名的 Ansible 替代品: - Puppet:Puppet 是一个流行的配置管理工具,它基于 Ruby 语言开发,使用声明式的 Puppet DSL (领域特定语言)来描述系统配置。Puppet 支持可扩展的模块化体系结构,可以与许多其他 DevOps 工具集成,如 Git 、Jenkins 等。 - Chef:同样基于 Ruby 的 Chef 是另一个流行的配置管理工具。Chef 是基于程序化的(命令式)方法实现配置管理,允许用户通过编写 "Cookbook" 和 "Recipes" 的方式管理系统配置。Chef 的缺点是学习曲线较陡,但它强大的动态性吸引了许多高级用户。 - SaltStack:SaltStack 是一个用 Python 编写的模块化配置管理和自动化工具。与 Ansible 类似,SaltStack 也是基于代理( agent )或无代理( agent-less )方式运行的。SaltStack 可以通过可扩展的插件系统自定义其功能,并支持 YAML 和 Jinja2 作为模板引擎。 - Terraform:Terraform 是一个专注于基础设施即代码 (Infrastructure as Code) 的工具,由 HashiCorp 开发。它使用声明式的 HCL (HashiCorp Configuration Language) 管理各种云服务商(如 AWS 、Azure 、Google Cloud Platform 等)和其他基础设施资源。Terraform 在云服务自动化方面的功能非常强大。 - Fabric:Fabric 是一个轻量级的 Python 库,用于配置管理和应用程序部署。Fabric 是一个命令式工具,主要用于在远程服务器上执行命令和文件传输。尽管 Fabric 功能相对较少,但它对于简单的部署和自动化任务来说是一个很好的选择。 - CFEngine:CFEngine 是一个轻量级的配置管理工具,适用于大型网络环境。CFEngine 使用 C 语言编写并使用自己的声明式领域特定语言( DSL )作为配置文件。CFEngine 相对轻量级,性能出色并且具有极强的可扩展性。 这些工具在功能和使用方法上有些许差异,您可以根据您的项目需求和喜好来选择使用哪种工具。 |
8
dylanninin OP @lairdnote 问 ChatGPT
ansible 和 k8s 有什么差异 Ansible 和 Kubernetes (通常简称为 k8s )都是用于 IT 基础设施管理和自动化的工具,但它们之间存在很大的区别,关注的领域和使用场景也不同。 1. 目标领域和范围: - Ansible 主要关注**配置管理**和**自动化**领域。它可以用于自动部署、配置服务器、应用程序和其他 IT 基础设施组件。Ansible 不局限于特定环境,可以在物理服务器、虚拟机或者云环境中使用。 - Kubernetes 是一个**容器编排**系统,它用于自动化容器化应用程序的部署、扩展和管理。Kubernetes 专注于容器技术(如 Docker )的管理,主要适用于大规模、分布式和微服务架构的应用程序。 2. 构建和部署方法: - Ansible 使用一种基于**代理**或**无代理**方式的 "推"( push )模式,将配置从控制节点( Control Node )推送到需要配置的目标节点( Target Node )。 - Kubernetes 使用一个**主从**架构,其中由主节点( Master Node )控制工作节点( Worker Node )。工作节点运行容器化的应用程序,并根据主节点的指令自动进行部署和扩展。 3. 配置语言和模板引擎: - Ansible 使用简单的 YAML 格式来编写 Playbook (执行脚本),支持使用 Jinja2 作为模板引擎。 - Kubernetes 使用 YAML 格式编写资源清单来表示和管理容器化应用程序及其相关的组件(如服务、存储等)。 4. 平台兼容性: - Ansible 是跨平台的,可以在几乎所有类型的操作系统(如 Linux 、Windows 、macOS )和计算环境中使用。 - Kubernetes 主要在 Linux 环境中运行,尽管可以在 Windows 上运行 Kubernetes ,但支持和功能可能有限。 总之,Ansible 和 Kubernetes 都是强大的 IT 基础设施管理工具,但它们主要关注的领域和应用场景有很大区别。在实践中,这两者之间并不是替代关系,很多时候可以互补使用。例如,可以使用 Ansible 来部署和配置 Kubernetes 集群,然后使用 Kubernetes 来管理部署在集群中的容器化应用程序。 |
9
dylanninin OP @mmm159357456 嗯嗯,主要都是英文的,ansible 的主要特性都涵盖了,官方文档必须精读,才能少采坑
|
10
leonhao 2023-06-22 15:36:47 +08:00
ansible 和 k8s 有毛关系,自建 k8s 还是用 ansible 部署的
|
11
jorneyr 2023-06-22 17:36:27 +08:00
Ansible 的信创环境支持怎么样,离线安装容易吗?
现在国内信创发展速度太快。 |
12
vmlinz 2023-06-22 18:23:46 +08:00 1
ansible 还是不错的,不过现在 provision 的方式太多了,大部分 distro 都支持 cloud-init ,launch 的时候大部分配置需求都可以满足。更复杂的情况才会考虑 ansible ,chef 这类。
|
13
hhjswf 2023-06-22 18:32:42 +08:00 via Android
@dylanninin 这不就是 k8s 的 config map ?
|
14
PendingOni 2023-06-22 18:42:03 +08:00
hh 记得第一份工作做 CICD 的时候用的就是 Ansible 加上自建 Jenkins
|
15
dylanninin OP @hhjswf 😂 都是 yaml 工程师
|
16
dylanninin OP @hhjswf 还真不是,简单说,ansible 基于 ssh ,用 yaml 编写可重复运行的自动化部署脚本。
|
17
dylanninin OP @jorneyr 还没试过离线安装,不知难易程度怎么样
|
18
lairdnote 2023-06-23 08:06:35 +08:00
@dylanninin 格局打開 當你真用過了你就知道差別了。。
|
19
bxb100 2023-06-23 08:24:12 +08:00 via Android 1
ansible jenkins terrform cicd 三小子
|
20
dylanninin OP @lairdnote true
|
21
invzhi 2023-06-25 14:24:57 +08:00
正好在学,打算用这个把我自建的服务器方案自动化一下嘿嘿
|