คำถามติดแท็ก ansible

Ansible เป็นแพลตฟอร์มซอฟต์แวร์โอเพ่นซอร์สสำหรับการกำหนดค่าและการจัดการคอมพิวเตอร์ มันรวมการปรับใช้ซอฟต์แวร์หลายโหนดดำเนินงาน ad-hoc และการจัดการการกำหนดค่า

2
วิธีการเข้ารหัสไฟล์ไบนารีใน Ansible
เรากำลังใช้Ansible Vaultเพื่อจัดเก็บรหัสผ่านกุญแจส่วนตัวสำหรับใบรับรอง ฯลฯ ในที่เก็บ Git Ansible Playbook ของเรา ข้อมูลส่วนตัวที่มีอยู่ทั้งหมดของเราอยู่ในรูปแบบข้อความดังนั้นเราสามารถเก็บไว้ในตัวแปร สิ่งเหล่านี้จะถูกใช้ในเทมเพลตหรือด้วยcontentพารามิเตอร์ของโมดูลคัดลอก ตอนนี้เรามีไฟล์ Java KeyStore ซึ่งน่าเศร้าที่มีรูปแบบไบนารี เช่นนี้มันไม่สามารถเก็บไว้ในตัวแปร - หรืออย่างน้อยฉันก็ไม่รู้ว่าจะทำยังไง อะไรจะเป็นวิธีที่ง่ายที่สุดในการเข้ารหัสไฟล์ของเราอย่างถูกต้องในขณะที่มันอยู่ในคอมไพล์ แต่ใช้ได้เมื่อทำงานansible-playbook? สิ่งที่ฉันได้ลองไปแล้วโดยไม่ประสบความสำเร็จ: การเข้ารหัสไฟล์ไบนารีใน base64, การจัดเก็บข้อมูลที่เข้ารหัสในตัวแปรและการใช้แม่แบบ{{base64_data | b64decode}}โมดูล นำไปสู่การEF BF BDดัมพ์เลขฐานสิบหกของไฟล์ผลลัพธ์ สามไบต์เข้ารหัสอักขระการแทนที่ Unicode ใน UTF-8 ดังนั้นจึงมีปัญหากับการตีความข้อมูลไบนารีเป็นข้อความ การเข้ารหัสไฟล์ไบนารีใน base64, การจัดเก็บข้อมูลที่เข้ารหัสในตัวแปรและการใช้สำเนาcontent="{{base64_data | b64decode}}"โมดูล Ansible บ่นกับ "ตัวแปรแทรกพารามิเตอร์ใหม่ลงในโมดูล args" เมื่อใช้เครื่องหมายคำพูดเดี่ยวแทนที่จะเป็นเครื่องหมายคำพูดคู่ Ansible จะบ่นกับ "ข้อผิดพลาดในการวิเคราะห์สตริงอาร์กิวเมนต์" และคัดลอกข้อมูลไบนารีทั้งหมดที่ถูกเททิ้งไปที่เทอร์มินัล ...
9 ansible 

2
Ansible: โฮสต์ปรากฏในมากกว่าหนึ่งกลุ่มและทั้งสองกลุ่มมีงานเดียวกันในพวกเขา มีวิธีใดบ้างในการรันภารกิจหนึ่งครั้ง?
ฉันมี playbook ที่มีหน้าตาดังนี้: --- - hosts: group1 roles: - role1 - role2 - hosts: group2 roles: - role2 - role3 ตอนนี้บอกว่าฉันมีไฟล์โฮสต์ที่มีรายการเช่นนี้: [group1] host1.example.com [group2] host1.example.com Ansible จะเรียกใช้งานใน role2 สองครั้งสำหรับ host1.example.com เพราะมันปรากฏใน 2 กลุ่มและแต่ละคนมี role2 ที่ได้รับมอบหมาย ฉันจะทำให้ Ansible รู้ได้อย่างไรว่ามันมีบทบาทเดียวกันรวมอยู่สองครั้งและดังนั้นจึงควรรันเพียงครั้งเดียวเท่านั้น
9 ansible 

2
Ansible ไม่สามารถตรวจสอบความถูกต้องของ Sudo แม้ว่าจะผ่าน Sudo Pass ก็ตาม
ปัญหา การใช้ Ansible build ที่เสถียรและใหม่ล่าสุดฉันมีปัญหาแปลก ๆ ที่ playbook ของฉันค้างบนเซิร์ฟเวอร์หนึ่งในช่วง "Gathering_Facts" แต่ทำงานได้ดีบนเซิร์ฟเวอร์อื่น ๆ ที่คล้ายคลึงกันเมื่อใช้ Sudo บนเซิร์ฟเวอร์ Ansible ฉันเรียกใช้ในฐานะผู้ใช้ของฉัน (ผู้ใช้ NIS) และใช้sudo (เป็น root) บนเซิร์ฟเวอร์ระยะไกลเพื่อทำการเปลี่ยนแปลง หากฉันลบ Sudo ออกจากการตั้งค่านี้ทุกอย่างก็ใช้ได้ดี ติดตั้ง รุ่นของซอฟต์แวร์ ระบบปฏิบัติการ : RHEL 6.4 รุ่น Ansible : ansible 1.8.2 รุ่น Sudo : Sudo เวอร์ชั่น 1.8.6p3 ปลั๊กอินนโยบาย Sudoers เวอร์ชัน 1.8.6p3 Sudoers ไฟล์ไวยากรณ์รุ่น 42 …
9 sudo  rhel6  ansible 

1
Ansible: คัดลอกไฟล์ขึ้นอยู่กับชื่อโฮสต์หรือบทบาท
วิธีที่ดีที่สุดในการคัดลอกไฟล์ขึ้นอยู่กับชื่อโฮสต์คืออะไร? ฉันต้องการคัดลอกไฟล์ที่มีเนื้อหาแตกต่างกัน แต่มีชื่อไฟล์เดียวกันกับหลายเครื่อง ฉันมีหลายไฟล์: file.role1 file.role2 file.role3 ฉันต้องการคัดลอกfile.roleXและเปลี่ยนชื่อเป็นทั้งนี้ขึ้นอยู่กับชื่อโฮสต์และ / หรือบทบาทfile ขอบคุณ
9 ansible 

1
อาเรย์ที่เกี่ยวข้องในเพลย์ลิสต์ Ansible
ฉันพยายามเพิ่มผู้ใช้ไปยังเซิร์ฟเวอร์ของฉันโดยใช้ Ansible ผู้ใช้แต่ละคนมีรหัสผ่านที่เข้ารหัสที่แตกต่างกัน ฉันมีสิ่งที่ชอบ: vars: users: - myuser1 - myuser2 password: encryptedpasswordhere tasks: - name: Creating users user: name={{ item }} password={{ password }} groups=sudo,adm shell=/bin/bash with_items: users ใช้งานได้ดี แต่ผู้ใช้ทุกคนมีรหัสผ่านเดียวกัน ฉันกำลังมองหาการเชื่อมโยง ใน PHP ฉันจะทำเช่นนั้น: $users = array('user'=>'myuser1', 'password'=>'encryptedpass1', 'user'=>'myuser2', 'password'=>'encryptedpass2', ); มีวิธีการทำเช่นนั้นในเพลย์บุ๊ค Ansible หรือไม่?
9 ansible 

2
การส่งคำสั่งแบบฟรีฟอร์มไปยัง Ansible โดยใช้แบบฟอร์ม args แบบซับซ้อน
ฉันใช้เพลย์บุ๊ค Ansible ที่สร้างขึ้นโดยใช้โปรแกรม โดยทั่วไปเนื่องจาก playbooks เป็นเพียง YAML นี่เป็นเรื่องง่าย อย่างไรก็ตามเมื่อใช้key=valueแบบฟอร์ม" แบบง่าย" playbooks จะไม่ใช่ YAML ที่แท้จริง - ซึ่งรวมถึงเนื้อหาที่ฝังอยู่ในshlexรูปแบบ -parsable เพื่อหลีกเลี่ยงความคลุมเครือในรูปแบบนี้ (เป็นkey=valueคู่ที่โต้แย้งกับคำสั่งหรืออาร์กิวเมนต์สำหรับ ansible?) และมีเพียงรูปแบบเดียวในการแยกและสร้างฉันไม่มีเงื่อนไขโดยใช้กลไก args ซับซ้อนแสดงตัวอย่างในansible พื้นที่เก็บข้อมูลตัวอย่าง สิ่งนี้ใช้ไวยากรณ์ของชนิดต่อไปนี้: action: module-name args: key1: value1 key2: value2 ... ซึ่งดีและดี อย่างไรก็ตามเมื่อพยายามที่จะใช้แบบฟอร์มนี้สำหรับโมดูลshellหรือcommand( ซึ่งเอกสารอธิบายคำสั่งที่แท้จริงว่าถูกส่งผ่านในการโต้แย้งชื่อfree_form) สิ่งนี้ทำงานได้ไม่ดี: action: shell args: free_form: echo hello_world >/tmp/something creates: /tmp/something เมื่อเรียกใช้สิ่งนี้จะทำงานต่อไปนี้: /bin/sh -c " …
9 ansible 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.