
playbook 文件包含了多个 play,每个 play 可以应用于一个主机组或单个主机。而每个 play 又包含一系列编排后的 tasks(按顺序执行),每个 task 其实就是执行一次 Ad Hoc 临时命令,从根本上来讲,所谓的 task 无非就是调用了 Ansible 的一个模块。如果你熟悉 Python 中的 Flask 框架,它默认的模板引擎就是 Jinja2,那么你学习本文内容时会感觉非常简单
playbook 文件包含了多个 play,每个 play 可以应用于一个主机组或单个主机。而每个 play 又包含一系列编排后的 tasks(按顺序执行),每个 task 其实就是执行一次 Ad Hoc 临时命令,从根本上来讲,所谓的 task 无非就是调用了 Ansible 的一个模块。如果你熟悉 Python 中的 Flask 框架,它默认的模板引擎就是 Jinja2,那么你学习本文内容时会感觉非常简单
Ansible 是使用了 Python 作为开发语言,简单易用、功能强大的自动化运维管理工具,可以出色地完成配置管理、应用部署、任务编排等多方面工作。与 Puppet、Saltstack 等其它自动化产品相比较,Ansible 无需在远程服务器上安装 agent 客户端代理,它只依赖 SSH 连接,而且它的学习曲线非常低
只需要实现 gRPC 服务端方法,结合 gRPC-gateway 就可以同时帮你生成 RESTful API,它们可以监听在不同的 TCP 端口上,也可以监听同一端口,最后如果你想公开你的 REST API,还可以自动生成 Swagger 接口文档
gRPC 提供了相关 API 让客户端或服务端实现拦截器,它可以拦截每个 RPC 调用的执行,从而可以使用拦截器来执行身份验证/授权、日志记录、监控指标收集等功能
上一篇我们通过 TLS 为通信双方建立了安全加密通道,并且数字证书也可以验证服务端的身份。但是,服务端也需要确认是哪个客户端正在调用 RPC,此客户端是否有权限调用此 RPC 呢?现在我们将会讲解服务端如何通过 token auth 或 basic auth 来认证客户端