vagrant
vagrant -v
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/xenial/20201210/xenial-server-cloudimg-amd64-vagrant.box --name ubuntu/xenial64
vim Vagrantfile
Vagrant.configure("2") do |config|
# 多个虚拟机
#为所有的主机使用相同的密钥
# config.ssh.insert_key = false
# config.vbguest.auto_update = false
# config.vm.define "vagrant1" do |vagrant1|
# vagrant1.vm.box = "ubuntu/xenial64"
# vagrant1.vm.host_name = "node01"
# end
# config.vm.define "vagrant2" do |vagrant2|
# vagrant2.vm.box = "ubuntu/xenial64"
# vagrant2.vm.host_name = "node02"
# end
config.vm.box = "ubuntu/xenial64"
config.vbguest.auto_update = false
config.vm.network "private_network", ip: "172.28.10.24"
config.vm.host_name = "node01"
config.vm.provider "virtualbox" do |vb|
vb.name = "node01"
vb.cpus = "2"
vb.memory = "1024"
end
end
vagrant up
# 查看ssh 配置
vagrant ssh-config
ssh-config 结果
Host default
HostName 127.0.0.1
User vagrant
Port 2200
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/youname/auto-playbooks/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
更改源:
sudo vim /etc/apt/sources.list
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
sudo apt update
安装 ansible
vim Pipfile
[[source]]
verify_ssl = true
url = "https://mirrors.aliyun.com/pypi/simple"
name = "pypi"
[requires]
python_version = "3.7"
[dev-packages]
[packages]
ansible = "*"
pipenv install
修改配置 ansible.cfg
vim ansible.cfg
[defaults]
host_key_checking = False
inventory = inventory/hosts
## ssh 链接的user
remote_user = vagrant
##用 ssh-config 下的IdentityFile 文件
private_key_file = /Users/youname/auto-playbooks/.vagrant/machines/default/virtualbox/private_key
被控主机清单
mkdir inventory
vim invertory/hosts
[vagrant]
node01 ansible_host=127.0.0.1 ansible_ssh_port=2200
pipenv run ansible vagrant -m command -a 'echo Hello World.'