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

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

2
เขี่ย Ansible Playbook หลังจากติดตั้ง Cobbler
ฉันกำลังทำงานเกี่ยวกับการปรับใช้ Cobbler และ Ansible เพื่อใช้งานเซิร์ฟเวอร์ของเราและมีปัญหาสุดท้าย เพลย์บุ๊ค Ansible ของฉันใช้งานได้ดีการติดตั้ง Cobbler ของฉันใช้งานได้ดี แต่ปัญหาคือการรวมเข้าด้วยกัน ฉันเขียนทริกเกอร์หลังการติดตั้งสำหรับ Cobbler ที่จะเริ่มเล่น playbooks Ansible ของฉันตามโปรไฟล์ Cobbler ที่ใช้สคริปต์ทำงานได้ดีเมื่อวิ่งด้วยตัวเอง ปัญหาคือเพื่อให้สามารถใช้งานเซิร์ฟเวอร์ได้ต้องรีบู๊ตก่อน แต่ Cobbler เรียกทริกเกอร์หลังการติดตั้งก่อนรีบูตครั้งแรก มีทริกเกอร์ "firstboot" ใน Cobbler แต่ฉันไม่สามารถทำให้มันทำงานได้เลย มันไม่เคยกระตุ้นแม้แต่ครั้งเดียวหลังจากการบู๊ตครั้งแรก ถ้าฉันพยายามที่จะเรียกใช้ Ansible ก่อนที่จะรีบูตเซิร์ฟเวอร์เพิ่งหมดเวลา นี่คือ CentOS 6.5, Ansible 1.6 และ Cobbler 2.4 TLDR: วิธีรับ Cobbler "Firstboot" ทริกเกอร์ให้ทำงานหรือวิธีเรียกใช้ Ansible Playbook หลังจากติดตั้งได้สำเร็จ แต่ก่อนที่จะทำการรีบูทครั้งแรก ความคิดใด …

7
จะสร้างคีย์ SSH โฮสต์ผ่าน ansible ได้อย่างไร
ฉันกำลังพยายามสร้างคีย์โฮสต์ ssh อีกครั้งบนเซิร์ฟเวอร์ระยะไกลจำนวนหนึ่งผ่านทาง ansible (และssh-keygen) แต่ไฟล์ดูเหมือนจะไม่ปรากฏขึ้น Playbook นั้นใช้งานได้ดี แต่ไฟล์ในรีโมตจะไม่เปลี่ยนแปลง ฉันต้องหันไปใช้echo -eแฮ็คเกอร์เนื่องจากรีโมตเหล่านี้ใช้งาน Ubuntu 14.04 และยังไม่มีเวอร์ชั่นที่ถูกต้องของรุ่นที่python-pexpectใช้งานได้ (อ้างอิงจาก ansible) ฉันกำลังคิดถึงอะไร Playbook และผลลัพธ์ของฉันอยู่ด้านล่าง: PlayBook --- - hosts: all become: true gather_facts: false tasks: - name: Generate /etc/ssh/ RSA host key command : echo -e 'y\n'|ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C "" -N "" …
11 ansible  ssh-keys 

3
แจกจ่ายคีย์สาธารณะ ssh ในโฮสต์
ฉันกำลังตั้งค่าเครื่องบางอย่างด้วย Ansible และจำเป็นต้องเปิดใช้งานการเชื่อมต่อรหัสผ่านน้อยลงระหว่างพวกเขา ฉันมีต้นแบบฐานข้อมูลและทาสหลายคน สำหรับการจำลองแบบเริ่มต้นทาสจะต้อง ssh ลงในต้นแบบและรับสำเนาของฐานข้อมูล ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการเพิ่มกุญแจสาธารณะทาสทั้งหมดลงในauthorized_keysไฟล์ต้นแบบคืออะไร ฉันคิดเกี่ยวกับการนำเสนอพับลิกคีย์ของทาสเป็นตัวแปรแล้วเพิ่มผ่านauthorized_keyโมดูล แต่ฉันจะต้องรักษารายการของคีย์ ฉันกำลังมองหาวิธีการที่ฉันเพิ่งเพิ่มโฮสต์อื่นกลุ่มทาสและส่วนที่เหลือจะทำงานโดยอัตโนมัติ ความคิดใด ๆ ปรับปรุง: จนถึงตอนนี้ฉันได้รับรหัสหลอกต่อไปนี้: # collect public keys from slave machines - name: collect slave keys {% for host in groups['databases_slave'] %} shell: /bin/cat /var/lib/postgresql/.ssh/id_rsa.pub register: slave_keys #how to add to an array here? {% endfor %} # Tasks …

3
ansible blockinfile ปิดการใช้งานเครื่องหมาย
ฉันยังใหม่กับ ansible แต่ฉันสามารถใช้ฟังก์ชันblockinfileได้สำเร็จ อย่างไรก็ตามฉันไม่สามารถหาวิธีป้องกันการแทรกเครื่องหมาย ฉันอ่านเอกสาร แต่มันไม่ปรากฏขึ้นเพื่ออธิบาย นี่คือสิ่งที่ปรากฏในทุกไฟล์ที่ blockinfile เขียนถึง # BEGIN ANSIBLE MANAGED BLOCK # END ANSIBLE MANAGED BLOCK
11 ansible 

2
ฉันจะหาบันทึกข้อผิดพลาด ansible ล่าสุดได้ที่ไหน
ฉันใช้สคริปต์ ansible เพื่อทำให้การกำหนดค่าเซิร์ฟเวอร์ขึ้น ฉันเรียกใช้สคริปต์จากภายในเซิร์ฟเวอร์และทำทุกอย่างที่คลัง localhost ตอนนี้การเชื่อมต่อ ssh ฉันต้องไปยังเซิร์ฟเวอร์ปิดและฉันไม่พบไฟล์บันทึก เส้นทางบันทึกมาตรฐานของสิ่งนี้อยู่ที่ไหน ภายใต้ / var / log ไม่มีไฟล์ ansible ฉันกำลังเรียกใช้สคริปต์อีกครั้งและฉันคาดว่าข้อผิดพลาดจะกลับมาอีกครั้ง แต่นี่ไม่ใช่วิธีการแก้ปัญหาที่ยอดเยี่ยมเนื่องจากสคริปต์ใช้เวลาสองสามชั่วโมงกว่าจะถึงจุดผิดพลาด
11 ansible 

1
สถานะปัจจุบันของการจัดการผู้ใช้ด้วย Ansible คืออะไร
ฉันใช้ Ansible ไปสู่ความสำเร็จเป็นเวลาประมาณ 3 ปีในการจัดการระบบลินุกซ์ที่เพิ่มขึ้นเรื่อย ๆ ก่อนที่จะดำน้ำในคำถามของฉันฉันต้องกำหนดบริบท เป็นส่วนหนึ่งของงานประจำวันของฉันฉันทำการออกแบบระบบการปรับใช้และการบำรุงรักษาสำหรับ บริษัท ต่าง ๆ ที่ดำเนินงานภายใต้ บริษัท เดียวหรือ บริษัท ศูนย์บ่มเพาะ มีการผสมข้ามสายพันธุ์จำนวนมากในกลุ่ม บริษัท ผลงานของเราและดังนั้นเราจึงไม่สามารถพูดได้ว่ามีเพียงผู้ใช้ A, B และ C เท่านั้นที่จะต้องเข้าถึงระบบของ บริษัท X พวกเขาอาจต้องเข้าถึงระบบของ บริษัท Y เช่นกัน สิ่งนี้มีความซับซ้อนเนื่องจากข้อเท็จจริงที่ว่าสภาพแวดล้อมที่เข้าใจได้ของแต่ละ บริษัท นั้นอาศัยอยู่ในที่เก็บ git ที่แตกต่างกัน ซึ่งหมายความว่ามีการทำสำเนารหัสจำนวนมากสำหรับการปรับใช้ผู้ใช้กับระบบของ บริษัท ต่าง ๆ ฉันสิ้นสุดการคัดลอก / วางบล็อคของรหัสเช่นนี้เพื่อนำผู้ใช้ไปใช้กับระบบของ บริษัท : - name: add several users user: …
10 linux  ansible 

1
กำหนดค่าข้อมูลรับรอง SSH ต่อสภาพแวดล้อม
ฉันกำลังพยายามหาวิธีกำหนดค่าข้อมูลรับรอง SSH แยกกันสำหรับการผลิตและการจัดเตรียมสภาพแวดล้อมด้วย Ansible ฉันเข้าใจว่าคุณสามารถกำหนดค่าที่อยู่ IP ของเซิร์ฟเวอร์และชื่อโฮสต์แยกกันโดยใช้ไฟล์รายการต่างๆโดยส่งผ่าน-iหรือ--inventory-fileโต้แย้งไปยังansible-playbookคำสั่ง ansible.cfgแต่ผมไม่เห็นตัวเลือกดังกล่าว ปัจจุบันข้อมูลประจำตัวอาศัยอยู่ใน/etc/ansible/ansible.cfg: [defaults] private_key_file=/home/caleb/.ssh/staging_key.pem remote_user=ubuntu sudo_user=root gathering=explicit ฉันจะกำหนดค่าข้อมูลรับรอง SSH หลายแห่งสำหรับการผลิตและอีกหนึ่งสำหรับการแสดงละคร
10 ansible 

1
เพลย์บุ๊ค Ansible ไม่ทำงานพยายามเรียกใช้สร้างและกำหนดค่าด้วยสวิตช์ที่ซับซ้อน
นี่คือการติดตาม-on นี้คำถาม ฉันพยายามใช้ Ansible เพื่อจัดเตรียม Vagrant VM VM กำลังเรียกใช้ CentOS 6.4 ฉันใช้เพลย์ลิสต์แบบ ansible (ตัวย่อ) ต่อไปนี้: - hosts: default vars: home: '/home/vagrant' curl_version: '7_19_7' curl_url: 'https://github.com/bagder/curl/archive/curl-{{ curl_version }}.tar.gz' curl_dir: '{{ home }}/curl-curl-{{ curl_version }}' # user: vagrant remote_user: vagrant sudo: yes tasks: - name: Ensure required packages and installed and up …
10 vagrant  ansible 

2
ฉันควรติดตั้ง Ansible ด้วย python pip หรือ homebrew บน Mac OSX Mavericks หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเพิ่งย้ายไปใช้ OSX เพื่อจัดการกล่อง linux ของฉันดังนั้นฉันใหม่มากที่จะใช้โปรแกรม linux บน OSX ฉันต้องการใช้ Vagrant กับ Ansible ในการบูตสภาพแวดล้อมการพัฒนาของฉันดังนั้นฉันต้องติดตั้งก่อน อย่างไรก็ตามฉันได้ค้นพบสองวิธีในการติดตั้ง Ansible บน OSX: Pip: http://devopsu.com/guides/ansible-mac-osx.html Homebrew: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ansible.rb ฉันได้ติดตั้ง Ansible ด้วยวิธี pip แล้วเนื่องจากฉันได้พบกับแนวทางนั้นก่อน ข้อดีและข้อเสียของทั้งสองวิธีคืออะไร ฉันควรติดตั้ง Ansible โดยใช้ pip หรือ homebrew หรือไม่? ฉันได้พบว่าการติดตั้งง่ายรบกวน homebrew: Warning: /usr/bin occurs before /usr/local/bin This means …

3
มันไม่ปลอดภัยที่จะมีผู้ใช้ ansible กับ sudo ไม่มีรหัสผ่านหรือไม่?
ฉันใหม่กับ Ansible คู่มือการจัดเตรียม VPS ส่วนใหญ่ที่ฉันเคยเห็นมาแล้ว: ปิดใช้งานรูทจากการเข้าสู่ระบบ สร้างผู้ใช้ใหม่ที่สามารถเข้าสู่ระบบด้วยเท่านั้นssh(ไม่ใช่รหัสผ่าน) เพิ่มผู้ใช้ใหม่ในwheelกลุ่มด้วยสิทธิ์sudoโดยไม่ใช้รหัสผ่าน ฉันเข้าใจ (1) และ (2) แต่ไม่ใช่ (3) ไม่มีรหัสผ่านแน่นอนsudoเหมือนเข้าสู่ระบบในเป็นroot? ฉันเข้าใจถึงประโยชน์ (ความสะดวกสบาย) แต่มันไม่ปลอดภัยอย่างนี้หรือ ฉันรู้ว่าผู้ดูแลระบบใช้เครือข่ายของพวกเขาในรูปแบบที่หลากหลายและดังนั้นจึงอาจกล่าวได้ว่าเป็น "อัตนัย" แต่นี่เป็นวิธีปฏิบัติที่ธรรมดามากมันแสดงให้เห็นแม้กระทั่งในเอกสารที่เป็นทางการต่างๆ มันขัดกับสามัญสำนึก ตรรกะเบื้องหลังมันคืออะไร?
10 linux  security  vps  ansible  sudo 

4
สร้างผู้ใช้ที่ไม่ใช่รูทและปิดใช้งานรูท SSH ใน Ansible
ฉันพยายามเขียนเพลย์บุ๊ค Ansible เพื่อบูตเซิร์ฟเวอร์ของฉัน ตามค่าเริ่มต้นบน Linode ฉันสามารถลงชื่อเข้าใช้ด้วยรูทด้วยรหัสผ่านเท่านั้นดังนั้น playbook ของฉันจะล็อกอินเป็นรูทสร้างผู้ใช้ที่ไม่ใช่รูทด้วยคีย์ SSH และปิดใช้งานรูทและรหัสผ่าน SSH นี่เป็นปัญหาเพราะตอนนี้ฉันไม่สามารถเรียกใช้ playbook นั้นอีกครั้งได้เนื่องจากการล็อกอินรูทถูกปิดใช้งาน! ฉันต้องการให้ playbook เป็น idempotent และไม่ต้องเพิ่มและลบโฮสต์หลังจากทำการบูตพวกเขา
9 ansible 

3
การจัดการการกำหนดค่าสำหรับ 'เซิร์ฟเวอร์เดียวผู้ดูแลระบบหลายคน'
เราได้ตั้งค่าเซิร์ฟเวอร์ที่ใช้โครงสร้างพื้นฐานสำหรับการเชื่อมโยงขนาดเล็ก จนถึงตอนนี้เราได้พยายามจัดการการกำหนดค่าด้วย Ansible แต่ยังไม่ประสบความสำเร็จ บางทีเราอาจทำผิด โดยหลักการแล้วความคิดคือเซิร์ฟเวอร์นี้จะถูกทิ้งไว้ตามลำพังโดยส่วนใหญ่แล้วผู้คนจะเพิ่มหรือเปลี่ยนแปลงสิ่งต่าง ๆ ในดวงจันทร์สีน้ำเงิน สิ่งนี้ทำให้มีความสำคัญที่สิ่งใดก็ตามที่มีการกำหนดค่าและใช้งานบนเซิร์ฟเวอร์นั้นมีเอกสารที่ชัดเจนและชัดเจนเนื่องจากผู้ที่ไม่ได้ดูแลระบบบ่อยครั้งต้องสูญเสียภาพรวม (อย่าลืมรายละเอียด) นอกจากนี้เมื่อเวลาผ่านไปองค์ประกอบของกลุ่มคนที่จะดูแลเซิร์ฟเวอร์นี้จะเปลี่ยนไป (เมื่อผู้คนออกไปและเข้าร่วม 'คณะกรรมการ') เราเริ่มต้นด้วยการติดตั้งใหม่ทั้งหมดเพิ่มบทบาทใน ansible เมื่อใดก็ตามที่เราต้องการตั้งค่าบางอย่าง (nginx, phpfpm, postfix, firewall, sftp, munin, .. ) บางทีอาจเป็นเพราะการขาดประสบการณ์ของเราแน่นอนว่าเราไม่สามารถพิมพ์ชุดของงานที่ต้องตรวจสอบได้อย่างแม่นยำในแบบที่เราต้องการในครั้งเดียวและเนื่องจากการกำหนดค่าเป็นกระบวนการทดลองและข้อผิดพลาดเล็กน้อย ซึ่งหมายความว่าในทางปฏิบัติโดยทั่วไปเราจะกำหนดค่าบริการใดก็ตามที่เราต้องการเรียกใช้บนเซิร์ฟเวอร์ก่อนแล้วจึงแปลเป็นงานที่ต้องทำ คุณสามารถดูว่าสิ่งนี้เกิดขึ้นที่ไหน ผู้คนลืมที่จะทดสอบงานหรือกลัวที่จะเสี่ยงต่อการทำลายสิ่งต่าง ๆ หรือแย่กว่านั้นคือเราลืมหรือละเลยที่จะเพิ่มสิ่งต่าง ๆ เข้าไปในสิ่งที่เข้าใจได้ วันนี้เรามีความมั่นใจน้อยมากว่าการกำหนดค่า ansible สะท้อนให้เห็นถึงสิ่งที่กำหนดค่าบนเซิร์ฟเวอร์ ขณะนี้ฉันเห็นปัญหาหลักสามประการ: เป็นการยากที่จะอ่าน (อ่าน: เราไม่มีวิธีที่ดี) ทดสอบงานที่ต้องทำโดยไม่เสี่ยงต่อการแตกหัก มันเพิ่มงานพิเศษเพื่อหาการกำหนดค่าที่ต้องการก่อนแล้วจึงหาวิธีการแปลสิ่งนี้เป็นงานที่สามารถเข้าใจได้ (นึกคิด) เราไม่ได้ใช้มันบ่อยพอที่จะสร้างความคุ้นเคยและกิจวัตรประจำวัน การพิจารณาที่สำคัญที่นี่คือสำหรับทุกสิ่งที่เราทำมันควรจะง่ายสำหรับผู้มาใหม่ที่จะเรียนรู้เชือกโดยไม่ต้องฝึกฝนมากมาย มีทางเลือกที่ทำงานได้ที่ยังคงให้การรับประกันและการตรวจสอบบางอย่าง (เทียบได้กับการรวมไฟล์ Ansible กับบางไฟล์master) ที่ "กำหนดค่าสิ่งต่าง …

2
รุ่นเซิร์ฟเวอร์ที่ไม่น่าไว้วางใจที่มี Docker / Ansible vs. Ansible, Puppet และ Foreman ใน AWS?
พวกเรากำลังโต้เถียงกันที่น่าสนใจและกำลังตกอยู่ในสองค่าย ฉันสนใจในปัญหาเฉพาะใด ๆ กับความคิดหรือ gotchas เราอาจจะหายไป จริงๆแล้วอะไรก็ตามที่สามารถช่วยเราในการตัดสินใจหรือชี้ให้เห็นสิ่งที่เราไม่ได้พิจารณา ฉันรู้ว่ากระโปรงนี้มีกฎว่า "ไม่มีความคิดเห็น" อย่างใกล้ชิด แต่ฉันหวังว่ามันจะยังเป็นคำถามที่ยอมรับได้ ขออภัยในความยาวเช่นกันมีความแตกต่างกันนิดหน่อย 1) ด้านหนึ่ง (ของฉัน - ฉันไม่ไร้อคติ) พบว่ารูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบน่าสนใจมากสำหรับระบบคลาวด์ ด้วยเหตุนี้เราจึงทำการย้ายต้นแบบส่วนประกอบทั้งหมดของโครงสร้างพื้นฐานของเราไปยัง Docker แอปพลิเคชันที่กำหนดเองของเราสร้างขึ้นผ่าน Jenkins โดยตรงในอิมเมจ Docker ที่ปรับใช้กับ Docker Registry ในพื้นที่ จากนั้นเราสร้างบทบาท Ansible จำนวนมากและ playbook ที่สามารถเข้าถึงเซิร์ฟเวอร์เปล่าติดตั้ง Docker แล้วบอก Docker ให้ติดตั้งคอนเทนเนอร์ทั้งหมดตามต้องการ หลังจากผ่านไปสองสามนาทีแอปทั้งหมดและโครงสร้างพื้นฐานที่รองรับทั้งหมดจะเชื่อมต่อและทำงาน - การบันทึกการตรวจสอบการสร้างฐานข้อมูล / ประชากร ฯลฯ เครื่องที่เสร็จแล้วเป็นสภาพแวดล้อมแบบ QA หรือ dev ที่มีอยู่ในตัวเองพร้อมสำเนาที่แน่นอนของ ใบสมัคร แผนของเราในการขยายขนาดนี้คือการสร้าง …

2
วิธีระบุโฮสต์ที่แตกต่างกันสำหรับ playbooks ที่แตกต่างกันในหนึ่งสคริปต์ที่เข้าใจได้
ตามที่ฉันเข้าใจเพลย์บุ๊คแต่ละรายการจะมีโฮสต์หนึ่งรายการ ฉันต้องการที่จะรู้ว่าถ้าฉันสร้าง playbook คอนเทนเนอร์ที่มี playbooks อื่น ๆ ฉันสามารถกำหนดค่าโฮสต์สำหรับ playbook แต่ละรายการได้หรือไม่ ดังนั้นสิ่งที่ชอบ --- - include playbook_1.yml hosts: tag_postgres - include: playbook_2.yml hosts: tag_rabbitmq ฉันสามารถใส่ playbooks ที่แตกต่างกันทั้งหมดในสคริปต์และโทรหนึ่ง แต่ด้วยวิธีนี้ฉันไม่สามารถนำ set_fact บางอย่างจาก playbook หนึ่งไปยังอีกเล่มหนึ่งได้ดังนั้นจึงมีงานซ้ำซ้อนมากมาย ข้อพิสูจน์อีกข้อหนึ่งคือฉันจะเปิดตัว ec2 บนอเมซอนซึ่งจะมีได้ไหม hosts: localhost และการกำหนดค่าของ ec2 ที่เปิดตัวซึ่งโดยทั่วไปจะกำหนดค่าสินค้าคงคลังจาก-i ec2.pyและมีโฮสต์ที่ระบุเป็น hosts: tag_<some_tag> เกิดขึ้นผ่าน playbook เดียวกันหรือชุด playbooks รวม (บทบาทที่แตกต่าง)
9 ansible 

1
Ansible - เข้าถึงผ่าน Bastion ด้วย MFA
ในสภาพแวดล้อมปัจจุบันของฉันฉันมีเซิร์ฟเวอร์ Linux ทั้งหมดของฉันเท่านั้นที่สามารถเข้าถึงได้ผ่านโฮสต์ป้อมปราการซึ่งเปิดใช้งาน MFA ฉันจัดการเพื่อให้ Ansible ประสบความสำเร็จในการพูดคุยกับเซิร์ฟเวอร์ผ่านป้อมปราการปัญหาเดียวคือมันสร้างการเชื่อมต่อใหม่ไปที่ป้อมปราการสำหรับแต่ละโฮสต์ซึ่งหมายความว่าฉันต้องป้อนคีย์ MFA ให้มากที่สุดเท่าที่ฉันมีเซิร์ฟเวอร์ เวลาที่ไม่ดี :( ฉันได้ลองทำสิ่งต่าง ๆ เช่นนี้ใน ssh config เพื่อพยายามมัลติเพล็กซ์ทำงาน: Host bastion ControlMaster auto ControlPath ~/.ssh/ansible-%r@%h:%p ControlPersist 5m น่าเสียดายที่มันดูเหมือนจะไม่ทำ ทุกคนมีเคล็ดลับเกี่ยวกับวิธีที่ฉันสามารถหยุด Ansible อีกครั้งสร้างการเชื่อมต่อผ่านโฮสต์ป้อมปราการของฉันสำหรับทุกพื้นที่ที่สัมผัส ขอบคุณ!

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