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

Red Hat Ansible คือการจัดการการกำหนดค่าที่ขับเคลื่อนด้วยโมเดลการปรับใช้ / การจัดระเบียบแบบหลายโหนดและระบบการเรียกใช้งานระยะไกล ใช้ SSH โดยค่าเริ่มต้นดังนั้นจึงไม่มีซอฟต์แวร์พิเศษที่จะติดตั้งบนโหนดที่คุณจัดการ Ansible เขียนด้วย Python แต่สามารถขยายเป็นภาษาใดก็ได้ มาในเวอร์ชันโอเพ่นซอร์สและเวอร์ชันสำหรับองค์กร

22
วิธีสร้างไดเรกทอรีโดยใช้ Ansible
Наэтотвопросестьответына กองมากเกินнарусском : Каксоздатьпапкунадругомсервереприпомощиเบิ้ล? คุณจะสร้างไดเรกทอรีwwwที่/srvบนระบบที่ใช้เดเบียนด้วยเพลย์บุ๊ค Ansible ได้อย่างไร

8
เรียกใช้คำสั่งบนโฮสต์ Ansible
เป็นไปได้หรือไม่ที่จะรันคำสั่งบนโฮสต์ Ansible? สถานการณ์ของฉันคือฉันต้องการที่จะเช็คเอาต์จากเซิร์ฟเวอร์ git ที่โฮสต์ภายใน (และไม่สามารถเข้าถึงได้นอกไฟร์วอลล์ บริษัท ) จากนั้นฉันต้องการอัปโหลดการชำระเงิน (tarballed) ไปยังเซิร์ฟเวอร์การผลิต (โฮสต์ภายนอก) ในขณะนี้ฉันกำลังมองหาสคริปต์ที่ใช้เช็คเอาต์ทาร์บอลแล้วเรียกใช้สคริปต์การปรับใช้ - แต่ถ้าฉันสามารถรวมสิ่งนี้เข้ากับ Ansible ซึ่งจะเป็นที่นิยมมากกว่า

12
จำกัด Playbooks Ansible ที่ปลอดภัยไปยังเครื่องเดียวหรือไม่
ฉันกำลังใช้ Ansible สำหรับงานการจัดการผู้ใช้อย่างง่ายด้วยคอมพิวเตอร์กลุ่มเล็ก ๆ ขณะนี้ฉันตั้ง playbooks ไว้hosts: allและไฟล์โฮสต์ของฉันเป็นเพียงกลุ่มเดียวที่มีรายการเครื่องทั้งหมด: # file: hosts [office] imac-1.local imac-2.local imac-3.local ฉันพบตัวเองบ่อยครั้งที่ต้องกำหนดเป้าหมายเครื่องเดียว ansible-playbookขีด จำกัด ของคำสั่งที่สามารถเล่นเช่นนี้ ansible-playbook --limit imac-2.local user.yml แต่ดูเหมือนจะเปราะบางโดยเฉพาะอย่างยิ่งสำหรับ playbook ที่อาจทำลายล้าง การปล่อยlimitธงหมายความว่าเพลย์ลิสต์จะถูกเรียกใช้ทุกที่ เนื่องจากเครื่องมือเหล่านี้มีการใช้งานเป็นครั้งคราวดูเหมือนว่าน่าจะเป็นขั้นตอนในการเล่นที่ไม่สามารถป้องกันได้ดังนั้นเราจึงไม่ได้ทำอะไรหลายเดือนนับจากนี้ มีวิธีปฏิบัติที่ดีที่สุดสำหรับการ จำกัด playbook ให้ทำงานกับเครื่องเดียวหรือไม่? playbooks ควรจะไม่เป็นอันตรายหากรายละเอียดที่สำคัญบางอย่างถูกปล่อยออกมา

23
ระบุรหัสผ่าน sudo สำหรับ Ansible
ฉันจะระบุรหัสผ่าน sudo สำหรับ Ansible แบบไม่โต้ตอบได้อย่างไร ฉันใช้งานเพลย์บุ๊ค Ansible เช่นนี้: $ ansible-playbook playbook.yml -i inventory.ini \ --user=username --ask-sudo-pass แต่ฉันต้องการเรียกใช้เช่นนี้: $ ansible-playbook playbook.yml -i inventory.ini \ --user=username` **--sudo-pass=12345** มีวิธีหรือไม่? ฉันต้องการทำให้การปรับใช้โครงการเป็นไปโดยอัตโนมัติให้มากที่สุด
225 ansible 

10
ฉันจะส่งตัวแปรไปยังเพลย์บุ๊คที่สามารถเล่นได้ในบรรทัดคำสั่งได้อย่างไร
ฉันยังใหม่กับ ansible และสงสัยว่าจะทำอย่างไรต่อไปนี้ใช้งานไม่ได้ ansible-playbook -i '10.0.0.1,' yada-yada.yml --tags 'loaddata' django_fixtures="tile_colors" django_fixturesตัวแปรของฉันอยู่ที่ไหน

11
วิธีย้าย / เปลี่ยนชื่อไฟล์โดยใช้งาน Ansible บนระบบรีโมต
เป็นไปได้อย่างไรที่จะย้าย / เปลี่ยนชื่อไฟล์ / ไดเรกทอรีโดยใช้โมดูล Ansible บนระบบระยะไกล? ฉันไม่ต้องการใช้งานคำสั่ง / เชลล์และฉันไม่ต้องการคัดลอกไฟล์จากระบบโลคัลไปยังระบบรีโมต
202 ansible 

19
Ansible ล้มเหลวด้วย / bin / sh: 1: / usr / bin / python: ไม่พบ
ฉันพบข้อผิดพลาดที่ไม่เคยเห็นมาก่อน นี่คือคำสั่งและข้อผิดพลาด: $ ansible-playbook create_api.yml PLAY [straw] ****************************************************************** GATHERING FACTS *************************************************************** failed: [104.55.47.224] => {"failed": true, "parsed": false} /bin/sh: 1: /usr/bin/python: not found TASK: [typical | install required system packages] ***************************** FATAL: no hosts matched or all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit …

6
วิธีการเรียกใช้งานเพียงงานเดียวในเพลย์บุ๊ค ansible ได้อย่างไร
มีวิธีในการใช้งานเพียงงานเดียวในเพลย์บุ๊คที่ขายได้หรือไม่? roles/hadoop_primary/tasks/hadoop_master.ymlยกตัวอย่างเช่นใน ฉันมี"start hadoop job tracker services"งาน ฉันสามารถรันภารกิจนั้นได้หรือไม่? ไฟล์ hadoop_master.yml: --- # Playbook for Hadoop master servers - name: Install the namenode and jobtracker packages apt: name={{item}} force=yes state=latest with_items: - hadoop-0.20-mapreduce-jobtracker - hadoop-hdfs-namenode - hadoop-doc - hue-plugins - name: start hadoop jobtracker services service: name=hadoop-0.20-mapreduce-jobtracker state=started tags: debug
172 ansible 

10
ฉันจะหารายการของตัวแปรที่กำหนดล่วงหน้า Ansible ได้ที่ไหน
ฉันเห็นว่า Ansible มีตัวแปรที่กำหนดไว้ล่วงหน้าซึ่งเราสามารถใช้ใน playbooks และไฟล์เทมเพลต ตัวอย่างเช่นที่อยู่ IP ของโฮสต์คือ ansible_eth0.ipv4.address Google และการค้นหาเอกสารที่ฉันไม่พบรายการตัวแปรทั้งหมดที่มี บางคนจะแสดงรายการพวกเขาให้ฉันหรือไม่

3
วิธีรับชื่อโฮสต์ของเครื่องปัจจุบันตามที่กำหนดไว้ในไฟล์ Ansible hosts
ฉันกำลังตั้งค่าเพลย์บุ๊ค Ansible เพื่อตั้งค่าเซิร์ฟเวอร์คู่ มีงานสองอย่างที่ฉันต้องการเรียกใช้หากโฮสต์ปัจจุบันคือโฮสต์ dev ในพื้นที่ของฉันชื่อ "local" ในไฟล์โฮสต์ของฉัน ฉันจะทำสิ่งนี้ได้อย่างไร ฉันไม่พบที่ใดก็ได้ในเอกสาร ฉันได้ลองทำสิ่งนี้เมื่อคำสั่ง แต่มันล้มเหลวเนื่องจากการansible_hostnameแก้ไขชื่อโฮสต์ที่สร้างขึ้นเมื่อสร้างเครื่องไม่ใช่ชื่อที่คุณกำหนดในไฟล์โฮสต์ - name: Install this only for local dev machine pip: name=pyramid when: ansible_hostname == "local"
166 ansible 

10
จะละเว้นการตรวจสอบความถูกต้องของ SSH ที่ไม่สามารถตรวจได้อย่างไร
มีวิธีละเว้นการตรวจสอบความถูกต้องของ SSH ที่ทำโดย Ansible หรือไม่ ตัวอย่างเช่นเมื่อฉันเพิ่งตั้งเซิร์ฟเวอร์ใหม่ฉันต้องตอบว่าใช่สำหรับคำถามนี้: GATHERING FACTS *************************************************************** The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is xx:yy:zz:.... Are you sure you want to continue connecting (yes/no)? ฉันรู้ว่านี่เป็นความคิดที่ไม่ดี แต่ฉันได้รวมสิ่งนี้ไว้ในสคริปต์ที่สร้างเซิร์ฟเวอร์เสมือนใหม่ที่ผู้ให้บริการคลาวด์ของฉันก่อนแล้วจึงเรียกเพลย์บุ๊คที่สามารถตรวจสอบได้ของฉันเพื่อกำหนดค่า ฉันต้องการหลีกเลี่ยงการแทรกแซงของมนุษย์ในระหว่างการดำเนินการสคริปต์
165 ssh  ansible 

8
ansible: lineinfile สำหรับหลายบรรทัด?
เช่นเดียวกับที่มีโมดูลlineinfileสำหรับเพิ่มหนึ่งบรรทัดในไฟล์มีวิธีเพิ่มหลายบรรทัดหรือไม่? ฉันไม่ต้องการใช้เทมเพลตเพราะคุณต้องเตรียมไฟล์ทั้งหมด ฉันต้องการเพิ่มบางสิ่งลงในไฟล์ที่มีอยู่โดยไม่จำเป็นต้องรู้ว่าไฟล์มีอยู่แล้วดังนั้นเทมเพลตจึงไม่ใช่ตัวเลือก
162 ansible 

5
วิธีการสลับผู้ใช้ต่องานหรือชุดของงาน?
ชุดรูปแบบที่เกิดซ้ำที่อยู่ในเพลย์บุ๊คที่อ่านได้ของฉันคือฉันมักจะต้องดำเนินการคำสั่งด้วยสิทธิ์ sudo ( sudo: yes) เพราะฉันต้องการทำเพื่อผู้ใช้บางคน เป็นการดีที่ฉันค่อนข้างจะใช้ sudo เพื่อสลับไปยังผู้ใช้นั้นและรันคำสั่งตามปกติ เพราะแล้วฉันจะไม่ต้องทำคำสั่งโพสต์ตามปกติของฉันล้างเช่นไดเรกทอรี chowning นี่คือตัวอย่างจากหนึ่งใน playbooks ของฉัน: - name: checkout repo git: repo=https://github.com/some/repo.git version=master dest={{ dst }} sudo: yes - name: change perms file: dest={{ dst }} state=directory mode=0755 owner=some_user sudo: yes เป็นการดีที่ฉันสามารถเรียกใช้คำสั่งหรือชุดคำสั่งเป็นผู้ใช้ที่แตกต่างกันแม้ว่าจะต้องใช้ sudo เพื่อ su ให้กับผู้ใช้นั้น
160 ansible 

17
Ansible: วิธีลบไฟล์และโฟลเดอร์ในไดเรกทอรี?
รหัสด้านล่างจะลบไฟล์แรกที่ได้รับภายในเว็บเท่านั้น ฉันต้องการลบไฟล์และโฟลเดอร์ทั้งหมดที่อยู่ในสารบบเว็บและเก็บสารบบเว็บ ฉันจะทำสิ่งนั้นได้อย่างไร - name: remove web dir contents file: path='/home/mydata/web/{{ item }}' state=absent with_fileglob: - /home/mydata/web/* หมายเหตุ: ฉันได้ลองแล้ว rm -rfใช้คำสั่งและเปลือก แต่พวกเขาไม่ทำงาน บางทีฉันกำลังใช้พวกเขาผิด ความช่วยเหลือในทิศทางที่ถูกต้องจะได้รับการชื่นชม ฉันกำลังใช้ ansible 2.1.0.0

5
คุณจะหยุด Ansible จากการสร้างไฟล์. retry ในโฮมไดเร็กตอรี่ได้อย่างไร?
เมื่อ Ansible มีปัญหาในการเล่นกับโฮสต์มันจะส่งชื่อของโฮสต์ไปยังไฟล์ในโฮมไดเร็กตอรี่ของผู้ใช้ที่ลงท้ายด้วย '.retry' สิ่งเหล่านี้มักไม่ได้ใช้และทำให้เกิดความยุ่งเหยิงมีวิธีปิดหรือวางในไดเรกทอรีอื่นหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.