如何在mysql数据库的ansible中创建别名

时间:2015-07-22 08:10:39

标签: ansible build-script

我在ansible的库存文件中为我的MySQL数据库定义别名时遇到了问题。我可以使用。:

轻松地为我的EC2实例创建一个
ansible_ssh_host
ansible_ssh_port
ansible_ssh_user

像这样:

[webserver]
some-hostname ansible_ssh_host=some-subdomain-of-amazon

但它不使用ssh连接到数据库实例。如何为该组创建别名

[databases]
some-hostname ansible_mysql_host=some-subdomain-of-amazon

我似乎无法在文档中找到任何内容。

// Ulrik McArdle

1 个答案:

答案 0 :(得分:0)

DNS不知道您在ansible hosts文件中提供的名称。他们不是CNAMES。因此,您只能使用安全工具(例如ansibleansible-playbook)来引用它们。

您可以使用ansible_ssh_hostansible_ssh_portansible_ssh_user以及Ansible关键字告诉ansible工具嘿,主持人foo拥有此IP,您可以通过端口ansible_ssh_port n上的ssh连接......等等。它们在ansible之外没有任何意义。

话虽如此,ansible_mysql_host当然不是有效的关键字。 所以我真的不知道你想要在这里实现什么,但是如果你需要使用DNS名称来修改你的mysql服务器(根据你正在使用的驱动程序,我不会真的推荐你),你必须使用真正的DNS条目,可以从您的客户端解决。

选项是在客户端的/etc/hosts文件中添加名称,或使用route53 ansible模块创建Route53条目。