注意:这不是HashiCorp的领事,它是一个不同的项目:http://consulproject.org/
我不确定这是否是领事项目的特定问题,还是不确定具有Ansible和EC2知识的人是否能够解决该问题。
我正在尝试通过安装程序将Consul实例部署到Amazon EC2实例。我已按照此处的说明进行操作:https://github.com/consul/installer
我是从运行macOS Sierra 10.12.6的Mac上执行此操作的,该Mac上安装了Python 2.7。
我从AWS下载了.pem文件,这是用于SSH身份验证的私钥。我可以通过ssh -i [.pem文件的路径] ec2-user @ [EC2实例的IP地址] SSH进入服务器。
我已经安装了Ansible。当我跑步时:
sudo ansible-playbook -v consul.yml -i hosts
“请以用户\“ ec2-user \”而不是用户身份登录 \“ root \”。\ r \ n \ r \ n“
但是,我已经编辑了group_vars / all文件以包含root_access:false,因此我不确定是否还需要执行其他操作。
我的git diff从存储库中看起来像这样:
diff --git a/group_vars/all b/group_vars/all
index 85bf74d..cb3db37 100644
--- a/group_vars/all
+++ b/group_vars/all
@@ -10,10 +10,10 @@ locale: en_US.UTF-8
# General settings
env: production
-root_access: true
-deploy_user: deploy
+root_access: false
+deploy_user: ec2-user
home_dir: "/home/{{ deploy_user }}"
-deploy_password: test
+deploy_password: <some really great password>
deploy_app_name: test
deploy_server_hostname: 127.0.0.1
consul_dir: "{{ home_dir }}/consul"
@@ -27,7 +27,7 @@ shared_public_dirs:
- "system"
- "ckeditor_assets"
-ssh_public_key_path: "~/.ssh/id_rsa.pub"
+ssh_public_key_path: "[path to .pem file]"
# Ruby
ruby_version: 2.4.9
答案 0 :(得分:0)
请勿使用ansible-playbook
运行sudo
命令。如果剧本中的任务需要root访问(在远程/托管主机上),则在必要时(即在任务级别,播放级别或您的Ansible配置中)添加become: true
答案 1 :(得分:0)
我需要更新ansible_user。 为此,我将这一行添加到group_vars / all文件中
ansible_user: ec2-user