Я экспериментирую с Ansible, читая великую книгу Ansible Up and Running Лорина Хохштейна.
На машине с Ubuntu 16.04 с Ansible я пытаюсь запустить web-tls playbook.
В качестве примера я создал файл web-notls.yml и поместил в каталог playbook :
- name: Configure webserver with nginx
hosts: webservers
sudo: True
tasks:
- name: install nginx
apt: name=nginx update_cache=yes
- name: copy nginx config file
copy: src=files/nginx.conf dest=/etc/nginx/sites-available/default
- name: enable configuration
file: >
dest=/etc/nginx/sites-enabled/default
src=/etc/nginx/sites-available/default
state=link
- name: copy index.html
template: src=templates/index.html.j2 dest=/usr/share/nginx/html/index.html
mode=0644
- name: restart nginx
service: name=nginx state=restarted
Я также указал файл nginx.conf и поместил его в каталог playbooks / files / nginx.conf :
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
Я также создал файл hosts для легкого доступа к машине Vagrant и настраиваемую веб-страницу для просмотра сообщения после доступа к веб-странице.
Я изменил Vagrantfile , чтобы он содержал этот код:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 443, host: 8443
end
После этого изменения порт 8080 на моем локальном компьютере должен быть перенаправлен на порт 80 компьютера Vagrant, а порт 8443 на моем локальном компьютере должен быть перенаправлен на ort 443 на компьютере vagrant:
8080 Архитектура переадресации портов
При попытке запустить playbook по:
$ ansible-playbook web-notls.yml
выход:
luigi@luigi-H87-HD3:~/playbooks$ ansible-playbook web-notls.yml
[DEPRECATION WARNING]: [defaults]hostfile option, The key is misleading as it can also be a list of
hosts, a directory or a list of paths , use [defaults] inventory=/path/to/file|dir instead. This
feature will be removed in version 2.8. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method
is 'sudo' (default). This feature will be removed in version 2.6. Deprecation warnings can be
disabled by setting deprecation_warnings=False in ansible.cfg.
PLAY [Configure webserver with nginx] ***************************************************************
TASK [Gathering Facts] ******************************************************************************
ok: [testserver]
TASK [install nginx] ********************************************************************************
ok: [testserver]
TASK [copy nginx config file] ***********************************************************************
ok: [testserver]
TASK [enable configuration] *************************************************************************
ok: [testserver]
TASK [copy index.html] ******************************************************************************
ok: [testserver]
TASK [restart nginx] ********************************************************************************
changed: [testserver]
PLAY RECAP ******************************************************************************************
testserver : ok=6 changed=1 unreachable=0 failed=0
Кажется, ошибок пока нет. Сейчас я пытаюсь открыть адрес localhost: 8080 через браузер на моей локальной машине (я также пытался выполнить бродячую ssh и безуспешно попробовать curl localhost: 8080), но я не получил результатов. Что я делаю не так?
Заранее спасибо!