Score:0

Puppet - ฉันสามารถเลือกแจ้งบริการได้หรือไม่

ธง jp

ฉันมีสคริปต์ Puppet ที่จัดการสิ่งต่าง ๆ ในสภาพแวดล้อมที่แตกต่างกันตาม ถ้า / อื่น ๆ บล็อก. แต่ฉันมีบล็อกทรัพยากรไฟล์ทั่วไปจำนวนมากที่ด้านล่างซึ่งใช้กับทุกสภาพแวดล้อม ปัจจุบันบล็อกเหล่านั้น แจ้ง => บริการ ['my-service']แต่สำหรับการผลิตฉันต้องการไม่แจ้งให้ทราบ ฉันต้องการให้อัปเดตไฟล์เท่านั้น ไม่เริ่มหรือหยุดบริการใดๆ

แนวคิดเริ่มต้นของฉันคือ ฉันสามารถจัดเก็บบริการไว้ในตัวแปรและตั้งค่าในแต่ละส่วนได้หรือไม่

ตัวอย่าง:

ถ้า ($ env == 'dev') {
  $myService = บริการ['บริการของฉัน']
} elsif ($env == 'ผลิตภัณฑ์') {
  $myService = บริการ['dummy-service']
}

ไฟล์ { "myfile.xml":
      ตรวจสอบให้แน่ใจ => ไฟล์
      เนื้อหา =>
        แม่แบบ ("my template.erb"),
      ต้องการ => แพ็คเกจ ['my-service'],
      แจ้ง => $myService
}

ฉันไม่แน่ใจว่าจะได้ผลหรือไม่ แต่ถ้าได้ผล ฉันจะใช้บริการจำลองอะไรได้บ้าง

Score:2
ธง us

ใช่ เป็นไปได้ และโค้ดของคุณค่อนข้างใกล้เคียงกับวิธีแก้ปัญหาที่ถูกต้อง:

ถ้า ($ env == 'dev') {
  $my_service = 'บริการของฉัน'
} elsif ($env == 'ผลิตภัณฑ์') {
  $my_service = 'บริการจำลอง'
}

ไฟล์ { "myfile.xml":
  ตรวจสอบให้แน่ใจ => ไฟล์
  เนื้อหา => แม่แบบ ("my template.erb"),
  ต้องการ => แพ็คเกจ ['my-service'],
  แจ้ง => บริการ[$my_service]
}

อย่างไรก็ตาม เนื่องจากคำขอของคุณคือไม่ต้องแจ้งเลยในสภาพแวดล้อมบางอย่าง วิธีที่ดีกว่าควรทำด้วยวิธีนี้ แทนที่จะแจ้งบริการจำลอง:

ถ้า ($ env == 'dev') {
  ไฟล์['myfile.xml'] ~> บริการ['my-service']
} 

เหล่านี้เรียกว่าลูกศรผูกมัด: https://puppet.com/docs/puppet/7/lang_relationships.html#lang_rel_chaining_arrows

bdetweiler avatar
jp flag
ไฟล์ Puppet ของฉันซับซ้อนเกินไปที่จะทำสิ่งนี้ให้สำเร็จ ดังนั้นฉันจึงลงเอยด้วยการสร้างคลาสแยกต่างหากสำหรับการเปลี่ยนแปลงการกำหนดค่า จากนั้นใช้ตัวดำเนินการลูกโซ่เพื่อเรียก `-> Class['my_configs']` หลังจากติดตั้ง RPM ตอนนี้ฉันสามารถเลือกอัปเดตการกำหนดค่าได้โดยใช้ `puppet agent -t --tags my_configs` หรือฉันสามารถติดตั้ง RPM + configs ทั้งหมดได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา