ansible(2)之vagrant 环境的搭建

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.'

参考:
https://zhuanlan.zhihu.com/p/259833884

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容