当前位置:网站首页>一个人管理1000台服务器?这款自动化运维工具一定要掌握
一个人管理1000台服务器?这款自动化运维工具一定要掌握
2022-06-27 06:49:00 【墨雨云烟】
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。
如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:
h5.zcwyou.com
1. 前言
本文主要介绍Ansible的基本工作原理和应用场景。
ansible
2. Ansible简介
Ansible是一个软件工具,为跨平台计算机支持提供强大的自动化管理功能。它主要面向IT专业人员,他们使用Ansible进行应用程序部署、工作站和服务器上的更新、云供应、配置管理、服务内部编排,以及几乎系统管理员每周或每天所做的任何事情。Ansible不依赖代理软件,也没有额外的安全基础设施,因此很容易部署。
ansible架构
因为Ansible完全是自动化的,它需要指令来完成每一项工作。使用简单的剧本(PlayBook)形式写下所有内容,可以很容易地进行版本控制。这一做法的实际结果是对IT领域“基础设施即代码”作出最佳实践。服务器和客户端基础架构的维护可以并且应该与软件开发一样,对基础设施的管理可以实现文档化的、可验证化、可执行化,而不受人员变更的影响。
Ansible处于自动化、系统管理和DevOps的最前沿,但它对日常用户也很有用。Ansible不仅可以配置一台计算机,还可以同时配置整个计算机网络,而且不需要编程技能。为Ansible编写的指令是人类可读的。无论你是计算机新手还是专家,Ansible文件都很容易理解。
3. Ansible是如何工作的?
在Ansible中,有两类计算机:控制节点和被管理节点。控制节点是运行Ansible的计算机。必须至少有一个控制节点,但也可能存在备份控制节点。被管理节点是由控制节点管理的任何设备。
Ansible是如何工作的?
Ansible的工作原理是连接到网络上的节点(客户端、服务器或任何你正在配置的节点),然后向该节点发送一个名为Ansible模块的小程序。Ansible通过SSH执行这些模块,并在完成时删除它们。这种交互的唯一要求是你的Ansible控制节点有登录访问被管理节点的权限。SSH密钥是提供访问的最常见方式,但也支持其他形式的身份验证。
4. Ansible可实现什么?
Ansible模块这个术语听起来很复杂,但大部分的复杂性都是由Ansible来处理的,而不是用户。Ansible模块被编写为一个系统期望状态的模型,这意味着每个模块定义了在任何给定的托管节点上应该是什么状态。例如,如果系统管理员决定一个组织中的所有工作站都应该安装LibreOffice X.Z版本,那么Ansible的打包模块将决定每个节点上是否安装了LibreOffice X.Z版本。如果Ansible找到一个安装了LibreOffice X.Y的托管节点,它就会检测操作系统,并运行必要的程序将其更新到LibreOffice X.Z版本。这样,组织中的每个工作站都可以在极短的时候内按IT部门的愿意,使用受支持的版本。
但是,维护基础设施不仅仅是检查软件版本。当人们谈论使用Ansible时,他们实际上指的是使用Ansible模块,因为这些模块是Ansible中执行特定任务的部分。如果你需要在多台计算机上自动化一些事情,看看Ansible模块,找到处理你需要执行的任务的那一个,然后安装Ansible,这样你就可以配置和调用那个模块。如果您是一名程序员,您还可以编写自己的定制模块来执行专门的任务。如果你的模块通常是有用的,你也可以把它提交到Ansible项目中,这样其他人就可以从你的工作中受益。
5. Ansible Playbook (剧本)
虽然模块提供了完成任务的方法,但你使用它们的方式是通过Ansible剧本。剧本是用YAML编写的配置文件,它提供了需要执行哪些操作的说明,以便使托管节点达到所需的状态。剧本应该是简单的、人类可读的和自我记录的。它们也是幂等的,这意味着剧本可以随时在系统上运行,而不会对系统产生负面影响。如果剧本运行在一个已经正确配置并且处于所需状态的系统上,那么在剧本运行之后,不会对该系统作出任何变更。
剧本可以非常简单,比如下面这个剧本,它以特权用户的身份将Apache HTTP服务器安装在IT部门webservers组的任何节点上:
- name: Apache server installed hosts: webservers become: yes
剧本也可以非常复杂,包含条件和变量。然而,由于大多数实际工作是由Ansible模块完成的,因此剧本仍然保持简洁、易读和清晰,即使它们可以编排整个托管节点网络。
6. 学习Ansible
你可以通过在家或工作中使用Ansible来学习。如果您是YAML的新手,请花时间学习它,然后编写您的第一个剧本。如果你喜欢从简单的应用开始,你可以在你的个人电脑上安装Ansible,用它来管理自己或家庭网络上的几台电脑。最重要的是,尝试不同的模块,这样您就可以熟练地使用和配置新的模块。
如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/2123.html
边栏推荐
- 2022 CISP-PTE(二)SQL注入
- Cloud-Native Database Systems at Alibaba: Opportunities and Challenges
- thrift
- Park and unpark in unsafe
- Scala函数柯里化(Currying)
- Oppo interview sorting, real eight part essay, abusing the interviewer
- Coggle 30 Days of ML 7月竞赛学习
- Overview of database schema in tidb
- The number of query results of maxcompute SQL is limited to 1W
- Rust Async: smol源码分析-Executor篇
猜你喜欢
在线文本数字识别列表求和工具
浅谈GPU:历史发展,架构
进程终止(你真的学会递归了吗?考验你的递归基础)
Vs how to configure opencv? 2022vs configuration opencv details (multiple pictures)
Xiaomi Interviewer: let's talk about the proficient Registration Center for three days and three nights
Rust Async: smol源码分析-Executor篇
Cloud-Native Database Systems at Alibaba: Opportunities and Challenges
面试官:用分库分表如何做到永不迁移数据和避免热点问题?
2022 CISP-PTE(一)文件包含
解决 Win10 Wsl2 IP 变化问题
随机推荐
When there are multiple El select, the selected value is filtered by El select, and the last selected value is filtered by the second El select
可扩展哈希
An Empirical Evaluation of In-Memory Multi-Version Concurrency Control
multiprocessing.pool详解
oracle的similarity方法实现原理
mysql关于自增和不能为空
Rust中的Pin详解
Optimistic and pessimistic affairs
NoViableAltException([email protected][2389:1: columnNameTypeOrConstraint : ( ( tableConstraint ) | ( columnNameT
Scala advanced_ Member access modifier
小米面试官:听你说精通注册中心,我们来聊 3 天 3 夜
Visual studio vs shortcut key usage
DMU software syntax highlighting VIM setting -- Learning Notes 6
仙人掌之歌——投石问路(1)
Instance Tunnel 使用
2022 CISP-PTE(一)文件包含
SQL考勤查询间隔一小时
On gpu: historical development and structure
2018年数学建模竞赛-高温作业专用服装设计
2022 cisp-pte (I) document contains