# linode-ansible **Repository Path**: bxl/linode-ansible ## Basic Information - **Project Name**: linode-ansible - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-10-06 - **Last Updated**: 2022-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # linode-ansible ansible项目自动化部署 ## 一、准备工作 ### 1. 管理主机安装python和ansible [CentOS系统] ``` sudo yum install python sudo yum install ansible ``` ### 2. 节点安装python ### 3. 配置管理主机到所有节点的免密登录,并确认 -- 管理主机生成公钥和私钥:``ssh-keygen`` -- 将本地生成的公钥复制到远程服务器:``ssh-copy-id -i ~/.ssh/id_rsa.pub [user]@[remote ip]`` -- 验证免密登录: ``` vim /etc/ansible/hosts 增加如下内容: -------------- [dev] 118.89.45.153 [test] 111.230.137.157 [demo] 139.199.9.204 [huachen] 58.87.102.140 ------------------ 执行如下验证命令: ansible all -m ping -u root 或 ansible dev -m ping -u root ``` ## 二、剧本 ### 1. 执行剧本 ``` # 列出要执行的主机 ansible-playbook site.yml --list-hosts # 执行剧本 ansible-playbook site.yml ``` ## 三、注意事项 ### 1. 变量命名 变量名可以为字母,数字以及下划线。变量始终应该以字母开头。 例如: “foo_port”是个合法的变量名.”foo5”也是. “foo-port”, “foo port”, “foo.port” 和 “12”则不是合法的变量名. ### 2. 变量引用 YAML语法要求如果值以{{ foo }}开头的话我们需要将整行用双引号包起来.这是为了确认你不是想声明一个YAML字典. 这样是错误的 ``` - hosts: app_servers vars: app_path: {{ base_path }}/22 ``` 下面是正确的 ``` - hosts: app_servers vars: app_path: "{{ base_path }}/22" ``` ## 四、参考文档: 1. [Ansible官方文档](http://docs.ansible.com/) 2. [Ansible中文权威指南](http://www.ansible.com.cn/index.html) 3. [Ansible中文权威指南](http://ansible-tran.readthedocs.io/en/latest/index.html) 4. [示例项目](https://github.com/ansible/ansible-examples)