1.安装Ansible
sudo apt update
sudo apt install ansible
2.配置ansible主机
1.将本机的密钥添加到目标服务器上
2.追加公钥 echo '$(cat ~/.ssh/id_rsa.pub)' >> ~/.ssh/authorized_keys
远程追加ssh username@remote_host "echo '$(cat ~/.ssh/id_rsa.pub)' >> ~/.ssh/authorized_keys"
ssh ubuntu@119.45.191.212 "echo '$(cat /root/.ssh/id_rsa.pub)' >> /home/ubuntu/.ssh/authorized_keys"
3.编写Ansible 主机清单文件(通常是 /etc/ansible/hosts)列出它将管理的服务器。你可以配置这个文件,以包含主机组和对应的服务器。
示例 /etc/ansible/hosts 文件:
[goingbus]
goingbus.com ansible_host=43.153.66.136 ansible_user=ubuntu ansible_ssh_private_key_file=/root/.ssh/id_rsa
i.universalbus.cn ansible_host=119.45.191.212 ansible_user=ubuntu ansible_ssh_private_key_file=/root/.ssh/id_rsa
2.1常见的配置参数
ansible_host - 指定远程主机的IP地址。
server1 ansible_host=192.168.1.100
ansible_port - SSH端口,如果你不使用默认的端口22。
server1 ansible_port=2222
ansible_user - 用于SSH连接的用户名。
server1 ansible_user=myuser
ansible_ssh_pass - SSH密码(通常不推荐在清单文件中直接存储密码,而应使用Ansible Vault)。
server1 ansible_ssh_pass=mypassword
ansible_ssh_private_key_file - 用于SSH连接的私钥文件路径。
server1 ansible_ssh_private_key_file=/path/to/private/key
ansible_python_interpreter - 指定远程主机上Python解释器的路径。这在目标系统上未将Python配置为默认路径时非常有用。
server1 ansible_python_interpreter=/usr/bin/python3
ansible_connection - 连接类型,如 ssh(默认)、local、docker 等。
server1 ansible_connection=ssh
ansible_become - 是否提升权限(类似于sudo),默认为否。
server1 ansible_become=yes
ansible_become_method - 提升权限时使用的方法,默认是 sudo,还可以是 su 等。
server1 ansible_become_method=sudo
ansible_become_user - 提升权限后操作的用户,默认为 root。
server1 ansible_become_user=root
ansible_become_pass - 用于权限提升的密码。
server1 ansible_become_pass=rootpassword
3.Ansible 配置文件
Ansible 的行为可以通过编辑 /etc/ansible/ansible.cfg 配置文件来自定义。这个文件控制了诸如哪个清单文件被使用,使用哪个模块库,SSH 连接的参数等选项。
[defaults]
inventory = /etc/ansible/hosts
remote_user = your_user
private_key_file = /path/to/your/private.key
host_key_checking = False
retry_files_enabled = False
inventory: 指定清单文件的位置。
remote_user: 默认远程用户。
private_key_file: SSH连接使用的私钥文件。
host_key_checking: 如果设置为 False,则在首次连接SSH时不检查主机密钥。
4.检查测试连接
验证安装并测试连接,可以使用 ansible 命令行工具对所有主机进行 ping 测试:
ansible all -m ping
5.运行
ansible-playbook script/ansible/production.yaml
如果没有在Ansible 配置文件中配置指定清单文件的位置,则可以在命令中指定
ansible-playbook -i /home/root_zqh/.ansible/hosts script/ansible/production.yaml
6.go 1.19安装
wget https://mirrors.ustc.edu.cn/golang/go1.19.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
go version
7.swag安装
go install github.com/swaggo/swag/cmd/swag@latest
swag -v