Tôi khá mới với Ansible nên tôi có thể định cấu hình sai
[Tôi có một bộ chứa Docker đang chạy dịch vụ Ansible trong CentOS8
Tôi có một kho lưu trữ Ansible bao gồm các tệp Ansible (đây là kho lưu trữ .Git]
Ý chí của tôi là tự động hoàn nguyên từng phòng thí nghiệm (phòng thí nghiệm bao gồm 8 vms, 5 máy chủ windows 2016 và 3 cửa sổ 10. DC bao gồm chính sách kích hoạt winrm trong các máy đó) trong máy chủ vCenter thành một ảnh chụp nhanh cụ thể. Nhưng trước tiên, tôi đang cố gắng: một lần tắt nguồn máy móc của phòng thí nghiệm khi chúng được bật lên và một lần bật nguồn máy của phòng thí nghiệm khi chúng đã tắt
Vì vậy, tôi (với sự giúp đỡ của ansible-roles-explained-with-ví dụ hướng dẫn):
- Tạo một vai trò với
ansible-galaxy init
tên lệnh vcenter
(xem cây thư mục bên dưới)
- Đã tạo một số tệp tác vụ vcenter bên trong
nhiệm vụ
thư mục (xem cây thư mục bên dưới). Đây là một ví dụ về tắt nguồn.yml
và poweron.yml
tập tin nhiệm vụ:
- tên: Đặt trạng thái của máy ảo thành tắt nguồn
cộng đồng.vmware.vmware_guest_powerstate:
tên máy chủ: "{{ vcenter_hostname }}"
tên người dùng: "{{ vcenter_username }}"
mật khẩu: "{{ vcenter_password }}"
thư mục: "/{{ datacenter_name }}/vm/{{ thư mục }}"
tên: "{{ ansible_hostname }}"
# tên: "{{ guest_name }}"
xác thực_certs: không
trạng thái: tắt nguồn
lực lượng: có
ủy nhiệm_to: máy chủ cục bộ
đăng ký: triển khai
- tên: Đặt trạng thái của máy ảo để bật nguồn bằng MoID
cộng đồng.vmware.vmware_guest_powerstate:
tên máy chủ: "{{ vcenter_hostname }}"
tên người dùng: "{{ vcenter_username }}"
mật khẩu: "{{ vcenter_password }}"
thư mục: "/{{ datacenter_name }}/vm/{{ thư mục }}"
tên: "{{ ansible_hostname }}"
# moid: vm-42
xác thực_certs: không
trạng thái: bật nguồn
ủy nhiệm_to: máy chủ cục bộ
đăng ký: triển khai
- Đã cung cấp thông tin đăng nhập vCenter trong
vcenter\vars\main.yml
tập tin, như thế này:
# tệp vars cho vcenter
vcenter_hostname: vcenter.foo.com
vcenter_username: [email protected]
vcenter_password: f#0$o#1$0o
datacenter_name: FOO_Fighters
# tên_kho_dữ_liệu:
tên_cụm: FOO
thư mục: '/FOO/SẢN PHẨM/DOMAIN.COM/'
- Bao gồm các nhiệm vụ trong
nhiệm vụ\main.yml
tập tin với nhiệm vụ nhập khẩu
chìa khóa, như thế này:
---
# tệp nhiệm vụ cho vai trò/vcenter
- nhập_tác vụ: poweroff.yml
# - nhập_tác vụ: poweron.yml
# - nhập_tác vụ: revert.yml
# - nhập_tác vụ: shutdown.yml
- Tạo ra một
tất cả.yml
bên trong thư mục group_vars trong thư viện kiểm kê (tôi không biết đó có phải là cách chuyên nghiệp để làm như vậy không) bao gồm tất cả các chi tiết winrm như thế này:
---
Chi tiết giao thức #WinRM
ansible_user: DOMAIN\người dùng
ansible_password: f#0$o#1$0o
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_scheme: http
ansible_winrm_server_cert_validation: bỏ qua
ansible_winrm_transport: ntlm
ansible_winrm_read_timeout_sec: 60
ansible_winrm_operation_timeout_sec: 58
- Tạo ra một
revert_lab.yml
vở kịch bao gồm vai trò, như thế này
---
- tên: hoàn nguyên phòng thí nghiệm onpremis
máy chủ: tất cả
vai trò:
- vcenter
Của tôi ansible.cfg
là như thế này:
[mặc định]
hàng tồn kho = /ansible/hàng tồn kho
role_path = ./roles:..~/ansible/roles
Tôi đã thực hiện thành công playbook để tắt nguồn tất cả các máy trong phòng thí nghiệm, sau đó tôi "bật" tác vụ bật nguồn trong vai trò, như thế này:
---
# tệp nhiệm vụ cho vai trò/vcenter
# - nhập_tác vụ: poweroff.yml
- nhập_tác vụ: poweron.yml
# - nhập_tác vụ: revert.yml
# - nhập_tác vụ: shutdown.yml
Bây giờ tất cả các máy của phòng thí nghiệm đã tắt, đang thực hiện playbook, đưa ra lỗi sau:
CHƠI [hoàn nguyên phòng thí nghiệm vmware vcenter] ********************************************* ******
NHIỆM VỤ [Thu thập thông tin] ********************************************* ***************
gây tử vong: [vm1.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm:
HTTPConnectionPool(host='vm1.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Nguyên nhân là do NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb7ae4908d0>: Không thể thiết lập kết nối mới: [ Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm2.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm2.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae487b00>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm3.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm3.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae48acc0>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm4.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm4.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae48de80>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm5.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm:
HTTPConnectionPool(host='vm5.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Nguyên nhân là do NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb7ae41f080>: Không thể thiết lập kết nối mới: [ Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm6.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm6.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae41d7f0>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm7.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm7.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae428048>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
gây tử vong: [vm8.domain.com]: KHÔNG THỂ TIẾP CẬN! => {"đã thay đổi": sai, "thông điệp": "ntlm: HTTPConnectionPool(host='vm8.domain.com', port=5985): Đã vượt quá số lần thử lại tối đa với url: /wsman (Do NewConnectionError('<urllib3. connection.HTTPConnection đối tượng tại 0x7fb7ae425588>: Không thể thiết lập kết nối mới: [Errno 111] Kết nối bị từ chối',))", "không thể truy cập": true}
TÓM TẮT CHƠI *************************************************** ************************
vm1.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm2.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm3.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm4.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm5.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm6.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm7.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
vm8.domain.com : ok=0 thay đổi=0 không truy cập được=1 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0
Tại sao tác vụ tắt nguồn hoạt động tốt và bật nguồn thì không? Làm thế nào tôi có thể khắc phục vấn đề này?
Kho lưu trữ của tôi:
C:.
ââââansible
â â ansible.cfg
â ââââhàng tồn kho
â â ââââkiểm tra
â â ââââđám mây
â â ââââonpremis
â â ââââdomain.com
â â â lab_j.yml
â â â lab_r.yml
â â ââââgroup_vars
â â all.yml
â ââââsách vở
â â revert_lab.yml
â ââââvai trò
â ââââvcenter
â âââânhiệm vụ
â â main.yml
â â poweroff.yml
â â poweron.yml
â â revert.yml
â â shutdown.yml
â ââââvars
â main.yml
khoảng không quảng cáo của tôi lab_r.yml
- đây là một lược đồ một phần
---
tất cả các:
bọn trẻ:
nguồn gốc:
bọn trẻ:
trung tâm:
bọn trẻ:
máy chủ ứng dụng:
máy chủ:
vm1.domain.com:
máy chủ q:
máy chủ:
vm2.domain.com:
máy chủ db:
máy chủ:
vm3.domain.com: