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

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

3
เรียกใช้ตัวจัดการการเรียกใช้งานใน Ansible เสมอ
ฉันใช้ Ansible เพื่อจัดเตรียมเซิร์ฟเวอร์การพัฒนาของฉัน ฉันต้องการให้บริการบางอย่างสำหรับฉัน ฉันมีตัวจัดการสำหรับจุดประสงค์นี้ แต่วิธีที่ดีที่สุดในการเรียกใช้ตัวจัดการโดยไม่มีเงื่อนไขเช่นทำให้ทำงานได้อย่างไร บางสิ่งเช่นนี้ tasks: - name: Trigger handler run_handler: name=nginx-restart
33 ansible 

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

8
SSH ยกเลิกการทำงานด้วยการรับรองความถูกต้องล้มเหลวมากเกินไป
ฉันกำลังพยายามเรียกใช้สคริปต์การจัดสรรที่เรียบง่ายแต่ฉันพบข้อผิดพลาดเมื่อทำงานvagrant upและจากนั้นvagrant provisionคำสั่ง ฉันอ่านว่าฉันต้องการสร้าง/etc/ansible/hostsไฟล์ที่ฉันทำเสร็จแล้วเติมด้วย: [vagrant] 192.168.222.111 การกำหนดค่า SSH ของฉัน (ลบรายละเอียดบางส่วน): Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/ashleyconnor/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL Host server HostName XXX.XXX.XXX.XXX User ash PreferredAuthentications publickey IdentityFile ~/.ssh/ash_ovh Host deployer HostName XXX.XXX.XXX.XXX User deployer PreferredAuthentications publickey IdentityFile ~/.ssh/deployer_ovh …

2
แปลงค่าของตัวแปร Ansible จากตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่
ฉันกำลังทำงานกับ playbook เพื่อเข้าร่วมระบบ linux กับ Active Directory ฉันไม่สามารถหาวิธีแปลงค่าของ ansible_hostname เป็นตัวพิมพ์ใหญ่ได้ หนึ่งในคำสั่งที่ฉันต้องการเรียกใช้ต้องให้ชื่อโฮสต์เป็นตัวพิมพ์ใหญ่
25 linux  ansible 

2
Ansible จะป้องกันการเรียกใช้ 'rm -rf /' ในเชลล์สคริปต์หรือไม่
นี่ขึ้นอยู่กับคำถามหลอกลวงนี้ที่นี่ ปัญหาที่อธิบายคือการมีสคริปต์ทุบตีซึ่งมีบางสิ่งที่มีผลต่อ: rm -rf {pattern1}/{pattern2} ... ซึ่งถ้ารูปแบบทั้งสองรวมเป็นหนึ่งหรือเปล่าองค์ประกอบจะขยายไปอย่างน้อยหนึ่งตัวอย่างของrm -rf /สมมติว่าคำสั่งเดิมที่ถูกถ่ายทอดอย่างถูกต้องและ OP ได้ทำการขยายตัวรั้งมากกว่าการขยายตัวพารามิเตอร์ ในคำอธิบายของ OP เรื่องหลอกลวงเขากล่าวว่า: คำสั่ง [... ] นั้นไม่เป็นอันตราย แต่ดูเหมือนว่าแทบจะไม่มีใครสังเกตเห็น เครื่องมือ Ansible ป้องกันข้อผิดพลาดเหล่านี้ [... ] แต่ [... ] ดูเหมือนไม่มีใครรู้ว่าไม่เช่นนั้นพวกเขาจะรู้ว่าสิ่งที่ฉันอธิบายไม่สามารถเกิดขึ้นได้ ดังนั้นสมมติว่าคุณมีเชลล์สคริปต์ที่ส่งrm -rf /คำสั่งผ่านการขยายวงเล็บปีกกาหรือการขยายพารามิเตอร์มันเป็นความจริงหรือไม่ที่การใช้Ansibleจะป้องกันไม่ให้คำสั่งนั้นถูกเรียกใช้และถ้าเป็นเช่นนั้นจะทำเช่นนี้ได้อย่างไร? การดำเนินการrm -rf /ด้วยสิทธิ์พิเศษรูท "ไม่เป็นอันตราย" ตราบใดที่คุณใช้ Ansible ทำหรือไม่
23 linux  bash  ansible  rm 

6
ใช้ apt-get autoremove กับ ansible
ฉันรักษาฝูงของเซิร์ฟเวอร์ EC2 ด้วย ansible เซิร์ฟเวอร์ที่มีการปรับปรุงอย่างสม่ำเสมอและปรับใช้โมดูลฉลาด เมื่อฉันพยายามอัพเกรดเซิร์ฟเวอร์ฉันได้รับข้อความต่อไปนี้: $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: linux-headers-3.13.0-29 linux-headers-3.13.0-29-generic linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-image-3.13.0-29-generic linux-image-3.13.0-32-generic Use 'apt-get autoremove' to remove them. 0 upgraded, 0 …
23 apt  ansible 

2
ใช้งาน Ansible ในฐานะผู้ใช้เฉพาะ
ฉันกำลังพยายามเรียกใช้งาน Ansible ที่เฉพาะเจาะจงในฐานะผู้ใช้ที่แตกต่างจากผู้ที่ใช้งาน playbook .ymlไฟล์ของฉันมีลักษณะเช่นนี้: --- - hosts: staging_servers tasks: - name: check user remote_user: someusername shell: whoami การรันภารกิจนี้แสดงให้ฉันเห็นว่าwhoamiคำสั่งส่งคืนผู้ใช้ที่แตกต่างจากที่ฉันกำหนดไว้ในภารกิจ (ส่งกลับผู้ใช้ที่กำหนดไว้ในhostsไฟล์ที่เรียกว่าubuntu) ฉันพยายามกำหนดภารกิจเช่นนี้: --- - hosts: staging_servers tasks: - name: check user sudo: yes sudo_user: someusername shell: whoami แต่ฉันได้รับMissing sudo passwordข้อผิดพลาด '' ถึงแม้ว่าจะมีบรรทัดในsudoersไฟล์ที่ระบุsomeusername ALL=(ALL) NOPASSWD:ALLและออกคำสั่งด้วยsudoบนเครื่องระยะไกลเนื่องจากsomeusernameไม่ถามรหัสผ่าน ดังนั้นฉันจะรันงานเฉพาะในฐานะผู้ใช้อื่นที่ไม่ใช่ผู้ใช้ที่กำหนดไว้ในhostsไฟล์หรือrootตัวเขาเองได้อย่างไร?

4
Ansible: เป็นไปได้หรือไม่ที่จะ "ส่งไฟล์ cat" และส่งออกไปยังหน้าจอขณะที่เล่น playbook และไม่แก้จุดบกพร่องหรือไม่
ฉันเขียน playbook ที่ติดตั้งและกำหนดค่า Google Authenticator ต่อผู้ใช้หนึ่งราย ฉันต้องการขั้นตอนสุดท้ายของ playbook ไปcatยังไฟล์การกำหนดค่า google_authenticator การใช้โมดูล "debug" ฉันสามารถรับข้อมูลที่จะแสดงบนหน้าจอ แต่เป็นข้อความ debug เท่านั้น: TASK: [debug var=details.stdout_lines] **************************************** ok: [localhost] => { "details.stdout_lines": [ "ZKMFTE2ADYA2OYCH", "\"RATE_LIMIT 3 30", "\" DISALLOW_REUSE", "\" TOTP_AUTH", "12920994", "88224784", "69464205", "38144121", "45634120" ] } ฉันอ่านออนไลน์ที่ฉันสามารถทำอะไรเช่นนั้น: - name: Print to screen google authenticator details …

6
ติดตั้งแพ็คเกจ rpm โดยใช้ Ansible
ฉันจะติดตั้งแพคเกจ. rpm บนเครื่องระยะไกลโดยใช้ Ansible ได้อย่างไร ทางออกที่ชัดเจนคือการใช้commandโมดูล แต่มันก็ค่อนข้างโง่ นอกจากนี้ฉันต้องการหลีกเลี่ยงการตั้งค่าที่เก็บ yum เพียงหนึ่งแพคเกจ มีวิธีการปฏิบัติเพิ่มเติมในการแก้ไขปัญหานี้หรือไม่?
22 rpm  ansible 

2
การจัดการการกำหนดค่า: โทโพโลยีแบบพุชและแบบพุช
ระบบการจัดการการกำหนดค่า (CM) ที่เป็นที่ยอมรับมากขึ้นเช่น Puppet และ Chef ใช้วิธีการแบบดึง: ไคลเอนต์สำรวจต้นแบบหลักที่ส่วนกลางเป็นระยะสำหรับการปรับปรุง บางคนเสนอวิธีการที่ไม่เชี่ยวชาญเช่นกัน (เช่นเป็นแบบ push-based) แต่ระบุว่ามันไม่ใช่ 'สำหรับการผลิต' (Saltstack) หรือ 'scalable ที่น้อยลง' (Puppet) ระบบเดียวที่ฉันรู้ว่าเป็นแบบ push-based ตั้งแต่เริ่มต้นคือวิ่ง Ansible อะไรคือข้อได้เปรียบในการปรับขนาดที่เฉพาะเจาะจงของระบบที่ใช้แรงดึง ทำไมมันจึงง่ายกว่าที่จะเพิ่ม pull-masters มากกว่า push-agent ตัวอย่างเช่นagiletesting.blogspot.nlเขียน: ในระบบ 'ดึง' ลูกค้าจะติดต่อกับเซิร์ฟเวอร์โดยไม่ขึ้นต่อกันดังนั้นระบบโดยรวมสามารถปรับขนาดได้มากกว่าระบบ 'ดัน' ในอีกทางหนึ่ง Rackspace แสดงให้เห็นว่าพวกเขาสามารถจัดการกับระบบ 15Kด้วยรูปแบบการผลักดัน infastructures.orgเขียน: เราสาบานด้วยวิธีการดึงสำหรับการบำรุงรักษาโครงสร้างพื้นฐานโดยใช้เครื่องมือเช่น SUP, CVSup, เซิร์ฟเวอร์ rsync หรือ cfengine แทนที่จะผลักดันการเปลี่ยนแปลงไปยังไคลเอนต์แต่ละเครื่องไคลเอนต์แต่ละคนจะต้องรับผิดชอบในการสำรวจเซิร์ฟเวอร์ทองคำตอนบูตและหลังจากนั้นเป็นระยะเพื่อรักษาระดับการหมุนรอบของตัวเอง ก่อนที่จะนำมุมมองนี้มาใช้เราได้พัฒนาสคริปต์แบบพุชอิงที่มีพื้นฐานมาจาก ssh, rsh, rcp และ …

7
ฉันจะหยุด Ansible จากการเขียนรหัสผ่านไปยังล็อกไฟล์ได้อย่างไร
ฉันกำลังตั้งค่าเซิร์ฟเวอร์ MySQL และต้องการให้ Ansible ตั้งmysql-rootรหัสผ่านระหว่างการติดตั้ง ด้วยความช่วยเหลือของอินเทอร์เน็ตฉันมาด้วยวิธีนี้: - name: Set MySQL root password before installing debconf: name='mysql-server' question='mysql-server/root_password' value='{{mysql_root_pwd | quote}}' vtype='password' - name: Confirm MySQL root password before installing debconf: name='mysql-server' question='mysql-server/root_password_again' value='{{mysql_root_pwd | quote}}' vtype='password' - name: Install Mysql apt: pkg=mysql-server state=latest mysql_root_pwdเป็นตัวแปรที่โหลดจาก Ansible Vault สิ่งนี้ทำงานได้ดี แต่ตอนนี้บนเซิร์ฟเวอร์มีหลายบรรทัดในบันทึก: Apr 10 …
22 security  ansible 

4
การจัดการที่คล่องแคล่วและไม่น่าเชื่อในสภาพแวดล้อมขนาดใหญ่
เป็นวิธีที่ดีที่สุดในการจัดการ iptables จากจุดหนึ่งและมีความสามารถในการแก้ไขบางอย่างบนเซิร์ฟเวอร์ท้องถิ่นคืออะไร เราจำเป็นต้องเพิ่มกฎบางอย่างที่รวมศูนย์ไว้บนเซิร์ฟเวอร์ทั้งหมด แต่เรามีเซิร์ฟเวอร์เฉพาะที่มีข้อกำหนดเฉพาะซึ่งควรมีชุดกฎของตนเอง ฉันคิดเกี่ยวกับ bash script ที่มีการรวมหลายรายการซึ่งถูกจัดการจากส่วนกลางด้วย ansible และรวมถึงการจัดการบนเซิร์ฟเวอร์ภายใน มันเป็นวิธีการที่ดีหรือไม่? หรืออาจจะมีสิ่งที่ดีกว่า เราไม่สามารถสร้างเทมเพลต yml2 สำหรับ ansible ได้เนื่องจากมีความแตกต่างระหว่างโฮสต์ที่เฉพาะเจาะจงมากเกินไป โปรดให้ตัวอย่างของการจัดการแบบรวมศูนย์ของ iptables
20 iptables  ansible 

3
ฉันจะเพิ่มสิทธิ์ sudo ให้กับผู้ใช้ที่สร้างด้วย Ansible ได้อย่างไร
วิธีที่สะอาดที่สุดในการทำเช่นนี้คืออะไร? พยายามเพิ่มผู้ใช้ในกลุ่ม sudo ด้วยโมดูลผู้ใช้ แต่ Ansible รายงานว่าไม่พบกลุ่ม sudo
20 ansible 

3
การจัดการคลัสเตอร์ของคอมพิวเตอร์ linux หลังไฟร์วอลล์
ผลิตภัณฑ์ของ บริษัท ของฉันเป็นกล่อง Linux (Ubuntu) ซึ่งนั่งอยู่ในเครือข่ายของคนอื่นที่ใช้ซอฟต์แวร์ของเรา ถึงตอนนี้เรามีกล่องน้อยกว่า 25 กล่องในป่าและใช้ TeamViewer เพื่อจัดการกล่อง ตอนนี้เรากำลังจะจัดส่ง 1,000 กล่องเหล่านี้และ TeamViewer ไม่มีตัวเลือกอีกต่อไป งานของฉันคือการคิดออกวิธีการเข้าถึงกล่องเหล่านี้และการปรับปรุงซอฟแวร์ที่พวกเขา โซลูชันนี้จะสามารถเจาะผ่านไฟร์วอลล์และคุณมีอะไรบ้าง ฉันพิจารณาแล้ว: 1. โฮมโตโซลูชัน (เช่นบริการ Linux) ที่สร้างอุโมงค์ย้อนกลับ SSHไปยังเซิร์ฟเวอร์ในคลาวด์และบริการอื่นในคลาวด์ที่ติดตามสิ่งเหล่านั้น & ช่วยให้คุณเชื่อมต่อกับพวกเขา เห็นได้ชัดว่านี่คือการใช้แรงงานที่เข้มข้นและการพูดอย่างตรงไปตรงมารู้สึกเหมือนนำนวัตกรรมมาใช้ใหม่เนื่องจาก บริษัท อื่น ๆ จำนวนมากต้องประสบปัญหานี้แล้ว ถึงอย่างนั้นฉันก็ไม่แน่ใจว่าเราจะทำผลงานได้อย่างยอดเยี่ยม 2. เครื่องมือเช่นหุ่นเชพเชฟหรือ OpenVPN ฉันพยายามอ่านให้มากที่สุดเท่าที่จะเป็นไปได้ แต่ดูเหมือนว่าฉันจะไม่สามารถเจาะผ่านการพูดการตลาดมากพอที่จะเข้าใจตัวเลือกที่ชัดเจนที่จะไปด้วย ไม่มีใครนอกจากเราต้องเชื่อมต่อกับกล่องเหล่านี้ มีใครบ้างที่มีประสบการณ์ที่เกี่ยวข้องซึ่งสามารถให้คำแนะนำแก่ฉันได้บ้าง

6
Ansible: กำหนดตัวแปรในไฟล์ vars ตามเงื่อนไขหากตรงตามเงื่อนไขที่กำหนด
ขึ้นอยู่กับค่า (True / False) ของตัวแปรที่กำหนดไว้ใน group_vars ฉันพยายามกำหนดตัวแปรบางอย่างในไฟล์ vars ค่าของพวกเขาขึ้นอยู่กับค่าของกลุ่ม var ไฟล์ var ปัจจุบันของฉันมีลักษณะดังนี้: {% if my_group_var %} test: var1: value var2: value ... varn: value {% else %} test: var1: other_value var2: other_value ... varn: other_value {% endif %} สำหรับบทบาทของฉันฉันใช้ตัวแปรที่กำหนดไว้ในไฟล์นี้ Playbook ทดสอบของฉันมีลักษณะดังนี้: - name: blabla hosts: blabla vars_files: - <path>/test_vars.yml …

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