Ansible_python_interpreter máy chủ cục bộ
Ngày đăng:
03/12/2022
Trả lời:
0
Lượt xem:
177
Thực hiện các tác vụ cục bộ là một hoạt động phổ biến khi làm việc với một loại API nào đó—các trường hợp sử dụng điển hình là dịch vụ đám mây, thiết bị mạng, quản lý cụm. Có ba cách để đạt được điều này trong Ansible. 3, 4 và 5. Cái cuối cùng hiếm khi được nhìn thấy ngày nay và có thể được coi là tương đương với 4 về ưu điểm và nhược điểm, nhưng có thêm nhược điểm là một phong cách rất khác thường, thêm một hình phạt về khả năng đọcTrong một bài viết trước tôi đã nói về mô hình người chạy cho phép sử dụng khoảng không quảng cáo tốt hơn cho các tình huống khác nhau ngay cả khi bộ điều khiển là máy chủ cục bộ. 3 cư xử rất khác nếu người dẫn chương trình là 8 hoặc người dẫn chương trình 'người chạy', điều này thật đáng ngạc nhiênSự khác biệt chính giữa 0 và 1 là kết nối có thể được sử dụng ở cấp độ chơi hoặc nhiệm vụ, trong khi 1 chỉ hoạt động ở cấp độ nhiệm vụ. Điều này có nghĩa là nếu bạn có một vở kịch với năm mươi nhiệm vụ, thì mỗi nhiệm vụ sẽ cần 1 bộ. Tệ hơn nữa, nếu bạn đang sử dụng vai trò của người khác, bạn sẽ phải hy vọng họ đã cung cấp cho trường hợp nàyVấn đề với 3 đối với mẫu chạy là nó giả định rằng đó là một kết nối hoàn toàn mới và sẽ sử dụng python hệ thống chứ không phải python mà bạn thích sử dụng. Các tình huống mà đây là sự cố bao gồm khi sử dụng 5 để cài đặt thư viện python hoặc trên OS X, nơi hầu hết phụ thuộc vào python từ brew. Trong trường hợp này, bạn có thể chạy 6, chạy Ansible và thấy rằng không thể tìm thấy thư viện đó vì nó đang tìm sai chỗĐể chứng minh điều này, tôi đã viết một mô-đun 7, hiển thị vị trí và phiên bản python cũng như các phiên bản boto3 và botocore
Cách dễ nhất để khắc phục điều này là đặt 8. Cách tiếp cận ưa thích của tôi là trong ____09 nếu tất cả các tác vụ chạy cục bộ hoặc ____110 nếu sử dụng mẫu người chạy—nhưng, như bên dưới, ở cấp vars playbook cũng hoạt độngTóm lại, bây giờ tôi thích 3 hơn cho mẫu chạy vì 12 có thể được đặt động |