5

Tôi đang viết một cuốn sách để thiết lập môi trường phát triển và xây dựng đường ống cho một dự án. Tôi muốn giữ playbook tách rời khỏi cơ sở hạ tầng thực tế càng nhiều càng tốt, và chỉ dựa vào các nhóm, vì vậy tôi có thể thiết lập đường dẫn bên trong một máy ảo cục bộ cũng như trên phần cứng trống với cùng lệnh, chỉ sử dụng giới hạn nhóm khác nhau.Ansible, cách thêm người dùng vào nhóm chỉ khi người dùng tồn tại

Bây giờ vấn đề là, với các hộp Vagrant địa phương tôi cần phải thêm người dùng lang thang-Docker nhóm, nơi như với các máy chủ bare metal một số người dùng tùy ý. Cách tốt nhất để xử lý các loại biến thể này trong sách vở, giữ cho nó trừu tượng nhất có thể là gì? Tôi có nên sử dụng các thông số hành vi, biến chủ, biến nhóm, điều kiện hoặc sự kiện thu thập cho loại nội dung này không?

Thậm chí có thể hay hợp lý để giữ cho sách bài hát hoàn toàn trừu tượng, không có bất kỳ giá trị mã hóa cứng và khả năng thích ứng với bất kỳ môi trường nào?

Trả lời

1

Để trả lời câu hỏi cụ thể của bạn:

Sử dụng biến người dùng mà Vagrantfile ghi đè. Ví dụ: Ví dụ, nó sẽ là ubuntu nếu ở chế độ aws hoặc vagrant nếu bạn đang ở trong tình trạng khó hiểu.


Một câu trả lời lý thuyết:

tôi đã có cùng một vấn đề với lang thang xây dựng và tôi quyết định giữ một playbook ansible ở đâu đó để tất cả lang thang xây dựng nhặt nó lên và thực hiện nó để thiết lập máy chủ.

Ví dụ, playbook trông như thế này:

- hosts: all 
    tasks: 
    - name: remove apparmor 
     apt: name=apparmor purge=true state=absent 

và sau đó mỗi kho lang thang của tôi wget nó và chạy nó với

box.vm.provision :ansible do |ansible| 
    ansible.playbook = 'vagrant_extra.yml' 
    ansible.sudo = true 
    ansible.limit = 'all' 
end 

Giải pháp tốt nhất tôi nghĩ rằng sẽ được sử dụng packer để cung cấp hình ảnh lang thang của riêng bạn có tất cả những điều được sao lưu trước đó để

  1. bạn không nee d để lãng phí thời gian tự thiết lập hình ảnh và
  2. các hộp của bạn giống với hộp "sản".
Các vấn đề liên quan