stancel.create-digitalocean-droplet
创建数字海洋虚拟机
一个用于创建数字海洋虚拟机(Droplet)的角色,并为其添加一个DNS记录,以便通过给定URL(create_digitalocean_droplet_server_fqdn
变量)访问。该角色会将新创建的服务器添加到一个名为“new_server”的Ansible组中,你应该在后续角色中使用这个主机值来应用任何额外配置。
要求
需要以下项目才能使用该角色:
- 数字海洋账户
- 存储在名为“DO_API_TOKEN”的环境变量中的数字海洋账户API密钥
- 你要添加的根域名(server_fqdn)必须指向数字海洋的名称服务器
- 你的SSH密钥已上传到数字海洋账户,并将指纹(MD5哈希值)存储在(ssh_keys)变量列表中
角色变量
你的数字海洋虚拟机的主机名。这将被设置为Linux VPS上的主机名,并显示为你虚拟机列表中的名称。
create_digitalocean_droplet_host_name: "my-hostname-here"
你想要为其创建DNS记录的域名,以便指向这个新创建的数字海洋虚拟机。
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
一个名为DO_API_TOKEN的环境变量,包含你的数字海洋API密钥值。
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
与已上传到你的数字海洋账户的SSH密钥相对应的任何SSH密钥指纹列表,这些指纹将用于在创建虚拟机时添加以便访问。你可以通过进入数字海洋账户设置,然后选择安全选项卡,添加SSH密钥并复制指纹,或复制已经上传的SSH密钥的指纹来找到这些指纹。
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
- "e4:1d:b2:d1:e1:42:c7:5c:b6:71:75:2b:f4:8d:bf:c7"
你想要创建的虚拟机的大小。默认大小为1GB。
create_digitalocean_droplet_droplet_size: "1gb"
你想要作为新创建的数字海洋虚拟机基础镜像的虚拟机镜像。默认镜像为Ubuntu 16.04 LTS (ubuntu-16-04-x64)。
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
你想要创建虚拟机的数字海洋区域(数据中心)。默认区域为“nyc1”。
create_digitalocean_droplet_region: "nyc1"
依赖关系
无
示例剧本
包含如何使用你的角色的示例(例如,作为参数传入变量)对用户来说也很有帮助:
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
或
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "my-hostname-here"
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
create_digitalocean_droplet_droplet_size: "1gb"
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
region: "nyc1"
roles:
- { role: stancel.create-digitalocean-droplet }
许可证
BSD
作者信息
关于项目
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
安装
ansible-galaxy install stancel.create-digitalocean-droplet
许可证
Unknown
下载
222
拥有者