เชชเชชเซเช เช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชจ เชธเชฟเชธเซเชเชฎ เชเซ. เชคเซเชจเซ เชเชชเชฏเซเช เชฏเชเชฎเชพเชจเซเชจเซ เชเชเซเชเชฟเชค เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชฒเชพเชตเชตเชพ เช เชจเซ เช เชธเซเชฅเชฟเชคเชฟ เชเชพเชณเชตเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ.
เชนเซเช เชนเชตเซ เชชเชพเชเช เชตเชฐเซเชทเชฅเซ เชชเชชเซเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชฐเชนเซเชฏเซ เชเซเช. เช เชเซเชเซเชธเซเช เช เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเชเชฅเซ เชฎเซเชเซเชฏ เชฎเซเชฆเซเชฆเชพเชเชจเซเช เชญเชพเชทเชพเชเชคเชฐเชฟเชค เช เชจเซ เชชเซเชจเชเชเซเชฐเชฎเชพเชเชเชฟเชค เชธเชเชเชฒเชจ เชเซ, เชเซ เชจเชตเชพ เชจเชฟเชถเชพเชณเซเชฏเชพเชจเซ เชชเชชเซเชเชจเชพ เชธเชพเชฐเชจเซ เชเชกเชชเชฅเซ เชธเชฎเชเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เชฎเซเชณเชญเซเชค เชฎเชพเชนเชฟเชคเซ
เชชเชชเซเชเชจเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชเซเชฒเชพเชฏเชเช-เชธเชฐเซเชตเชฐ เชเซ, เชเซ เชเซ เชคเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชธเชพเชฅเซ เชธเชฐเซเชตเชฐเชฒเซเชธ เชเชชเชฐเซเชถเชจเชจเซ เชชเชฃ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ.
เชเชชเชฐเซเชถเชจเชจเชพ เชชเซเชฒ เชฎเซเชกเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ: เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชฆเชฐ เช เชกเชงเชพ เชเชฒเชพเชเชฎเชพเช เชเชเชตเชพเชฐ, เชเซเชฒเชพเชฏเชเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฎเชพเชเซ เชธเชฐเซเชตเชฐเชจเซ เชธเชเชชเชฐเซเช เชเชฐเซ เชเซ เช เชจเซ เชคเซเชจเซ เชฒเชพเชเซ เชเชฐเซ เชเซ. เชเซ เชคเชฎเซ Ansible เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซเชฏเซเช เชเซ, เชคเซ เชชเชเซ เชคเซเช เชเช เช เชฒเช เชชเซเชถ เชฎเซเชกเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ: เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฒเชพเชเซ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเซ เชเซ, เชเซเชฒเชพเชฏเชเช เชชเซเชคเซ เชเชเชเชชเชฃ เชฒเชพเชเซ เชเชฐเชถเซ เชจเชนเซเช.
เชจเซเชเชตเชฐเซเช เชเชฎเซเชฏเซเชจเชฟเชเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฆเซเชตเชฟ-เชฎเชพเชฐเซเชเซ TLS เชเชจเซเชเซเชฐเชฟเชชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ: เชธเชฐเซเชตเชฐ เช เชจเซ เชเซเชฒเชพเชฏเชเช เชชเชพเชธเซ เชคเซเชฎเชจเซ เชชเซเชคเชพเชจเซ เชเชพเชจเชเซ เชเซเช เช เชจเซ เช เชจเซเชฐเซเชช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ เชนเซเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชฐเซเชตเชฐ เชเซเชฐเชพเชนเชเซ เชฎเชพเชเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ เชเชพเชฐเซ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ เชฌเชพเชนเซเชฏ CA เชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเชเซเชฏ เชเซ.
เชฎเซเชจเชฟเชซเซเชธเซเชเซเชจเซ เชชเชฐเชฟเชเชฏ
ะ ัะตัะผะธะฝะพะปะพะณะธะธ Puppet เชเช เชชเซเชคเชณเซ เชธเชฐเซเชตเชฐ เชฎเชพเชเซ เชเซเชกเชพเชตเชพ เชเชพเชเช เซ (เชเชพเชเช เซ). เชจเซเชกเซเชธ เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฒเชเชพเชฏเซเชฒ เชเซ เชฎเซเชจเชฟเชซเซเชธเซเชเซเชฎเชพเช เชเชพเชธ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเชฎเชพเช - เชชเชชเซเช เชกเซเชเชธเชเชฒ.
เชชเชชเซเช เชกเซเชเชธเชเชฒ เช เชเซเชทเชฃเชพเชคเซเชฎเช เชญเชพเชทเชพ เชเซ. เชคเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชธเชเชธเชพเชงเชจเซเชจเซ เชเซเชทเชฃเชพเชเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชจเซเชกเชจเซ เชเชเซเชเชฟเชค เชธเซเชฅเชฟเชคเชฟเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ:
- เชซเชพเชเชฒ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ เช เชจเซ เชคเซเชฎเชพเช เชเซเชเซเชเชธ เชธเชพเชฎเชเซเชฐเซ เชเซ.
- เชชเซเชเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ.
- เชธเซเชตเชพ เชถเชฐเซ เชฅเช เชเช เชเซ.
เชธเชเชธเชพเชงเชจเซ เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเชพ เชนเซเช เชถเชเซ เชเซ:
- เชคเซเชฏเชพเช เช
เชตเชฒเชเชฌเชจ เชเซ, เชคเซเช เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชเซเชฐเชฎเชจเซ เช
เชธเชฐ เชเชฐเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, "เชชเชนเซเชฒเชพ เชชเซเชเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ, เชชเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ, เชชเชเซ เชธเซเชตเชพ เชถเชฐเซ เชเชฐเซ." - เชคเซเชฏเชพเช เชธเซเชเชจเชพเช เชเซ - เชเซ เชเซเช เชธเชเชธเชพเชงเชจ เชฌเชฆเชฒเชพเชฏเซเช เชนเซเชฏ, เชคเซ เชคเซ เชคเซเชจเชพ เชชเชฐ เชธเชฌเซเชธเซเชเซเชฐเชพเชเชฌ เชเชฐเซเชฒเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเซเชเชจเชพเช เชฎเซเชเชฒเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชฌเชฆเชฒเชพเชฏ เชเซ, เชคเซ เชคเชฎเซ เชเชชเชฎเซเชณเซ เชธเซเชตเชพเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ เชถเชเซ เชเซ.
เชตเชงเซเชฎเชพเช, เชชเชชเซเช เชกเซเชเชธเชเชฒเชฎเชพเช เชเชพเชฐเซเชฏเซ เช เชจเซ เชเชฒเซ, เชคเซเชฎเช เชถเชฐเชคเซ เชจเชฟเชตเซเชฆเชจเซ เช เชจเซ เชชเชธเชเชฆเชเซเชเชพเชฐเซ เชเซ. เชตเชฟเชตเชฟเชง เชเซเชฎเซเชชเชฒเซเชเซเชเช เชฎเชฟเชเซเชจเชฟเชเชฎเซเชธ เชชเชฃ เชธเชชเซเชฐเซเชเซเชก เชเซ - EPP เช เชจเซ ERB.
เชชเชชเซเช เชฐเซเชฌเซเชฎเชพเช เชฒเชเชพเชฏเซเชฒ เชเซ, เชคเซเชฅเซ เชเชฃเซ เชฐเชเชจเชพเช เช เชจเซ เชถเชฌเซเชฆเซ เชคเซเชฏเชพเชเชฅเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ. เชฐเซเชฌเซ เชคเชฎเชจเซ เชชเชชเซเชเชจเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ - เชเชเชฟเชฒ เชคเชฐเซเช, เชจเชตเชพ เชชเซเชฐเชเชพเชฐเชจเชพเช เชธเชเชธเชพเชงเชจเซ, เชเชพเชฐเซเชฏเซ เชเชฎเซเชฐเซ.
เชเซเชฏเชพเชฐเซ เชชเชชเซเช เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชธเชฐเซเชตเชฐ เชชเชฐเชจเชพ เชฆเชฐเซเช เชเซเชเซเชเชธ เชจเซเชก เชฎเชพเชเซ เชฎเซเชจเชฟเชซเซเชธเซเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเชฎเซเชชเชพเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชกเชฟเชฐเซเชเซเชเชฐเซ เชซเชเชเซเชถเชจ, เชเชฒ เช เชจเซ เชถเชฐเชคเซ เชจเชฟเชตเซเชฆเชจเซเชจเชพ เชตเชฟเชธเซเชคเชฐเชฃเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชเชฃเชคเชฐเซ เชเชฐเซเชฏเชพ เชชเชเซ เชธเชเชธเชพเชงเชจเซ เช เชจเซ เชคเซเชฎเชจเชพ เชธเชเชฌเชเชงเซเชจเซ เชธเซเชเชฟ เชเซ.
เชธเชฟเชจเซเชเซเชเซเชธ เช เชจเซ เชเซเชกเชธเซเชเชพเชเชฒ
เช เชนเซเช เช เชงเชฟเชเซเชค เชฆเชธเซเชคเชพเชตเซเชเซเชจเชพ เชตเชฟเชญเชพเชเซ เชเซ เชเซ เชคเชฎเชจเซ เชธเชฟเชจเซเชเซเชเซเชธเชจเซ เชธเชฎเชเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชถเซ เชเซ เชเชชเซเชฒเชพ เชเชฆเชพเชนเชฐเชฃเซ เชชเซเชฐเชคเชพ เชจ เชนเซเชฏ เชคเซ:
เชตเชฟเชตเชฟเชง เชญเชพเชทเชพ เชฐเชเชจเชพเชเชจเซเช เชตเชพเชเซเชฏเชฐเชเชจเชพ. เชธเชเชธเชพเชงเชจ เชตเชพเชเซเชฏเชฐเชเชจเชพ. เชจเซเชกเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชฟเชจเซเชเซเชเซเชธ.
เชฎเซเชจเชฟเชซเซเชธเซเช เชเซเชตเซเช เชฆเซเชเชพเชฏ เชเซ เชคเซเชจเซเช เช เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชเซ:
# ะะพะผะผะตะฝัะฐัะธะธ ะฟะธััััั, ะบะฐะบ ะธ ะผะฝะพะณะพ ะณะดะต, ะฟะพัะปะต ัะตัััะบะธ.
#
# ะะฟะธัะฐะฝะธะต ะบะพะฝัะธะณััะฐัะธะธ ะฝะพะดั ะฝะฐัะธะฝะฐะตััั ั ะบะปััะตะฒะพะณะพ ัะปะพะฒะฐ node,
# ะทะฐ ะบะพัะพััะผ ัะปะตะดัะตั ัะตะปะตะบัะพั ะฝะพะดั โ ั
ะพััะฝะตะนะผ (ั ะดะพะผะตะฝะพะผ ะธะปะธ ะฑะตะท)
# ะธะปะธ ัะตะณัะปััะฝะพะต ะฒััะฐะถะตะฝะธะต ะดะปั ั
ะพััะฝะตะนะผะพะฒ, ะธะปะธ ะบะปััะตะฒะพะต ัะปะพะฒะพ default.
#
# ะะพัะปะต ััะพะณะพ ะฒ ัะธะณััะฝัั
ัะบะพะฑะบะฐั
ะพะฟะธััะฒะฐะตััั ัะพะฑััะฒะตะฝะฝะพ ะบะพะฝัะธะณััะฐัะธั ะฝะพะดั.
#
# ะะดะฝะฐ ะธ ัะฐ ะถะต ะฝะพะดะฐ ะผะพะถะตั ะฟะพะฟะฐััั ะฟะพะด ะฝะตัะบะพะปัะบะพ ัะตะปะตะบัะพัะพะฒ. ะัะพ ะฟัะธะพัะธัะตั
# ัะตะปะตะบัะพัะพะฒ ะฝะฐะฟะธัะฐะฝะพ ะฒ ััะฐััะต ะฟัะพ ัะธะฝัะฐะบัะธั ะพะฟะธัะฐะฝะธั ะฝะพะด.
node 'hostname', 'f.q.d.n', /regexp/ {
# ะะพะฝัะธะณััะฐัะธั ะฟะพ ัััะธ ัะฒะปัะตััั ะฟะตัะตัะธัะปะตะฝะธะตะผ ัะตััััะพะฒ ะธ ะธั
ะฟะฐัะฐะผะตััะพะฒ.
#
# ะฃ ะบะฐะถะดะพะณะพ ัะตััััะฐ ะตััั ัะธะฟ ะธ ะฝะฐะทะฒะฐะฝะธะต.
#
# ะะฝะธะผะฐะฝะธะต: ะฝะต ะผะพะถะตั ะฑััั ะดะฒัั
ัะตััััะพะฒ ะพะดะฝะพะณะพ ัะธะฟะฐ ั ะพะดะธะฝะฐะบะพะฒัะผะธ ะฝะฐะทะฒะฐะฝะธัะผะธ!
#
# ะะฟะธัะฐะฝะธะต ัะตััััะฐ ะฝะฐัะธะฝะฐะตััั ั ะตะณะพ ัะธะฟะฐ. ะขะธะฟ ะฟะธัะตััั ะฒ ะฝะธะถะฝะตะผ ัะตะณะธัััะต.
# ะัะพ ัะฐะทะฝัะต ัะธะฟั ัะตััััะพะฒ ะฝะฐะฟะธัะฐะฝะพ ะฝะธะถะต.
#
# ะะพัะปะต ัะธะฟะฐ ะฒ ัะธะณััะฝัั
ัะบะพะฑะบะฐั
ะฟะธัะตััั ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ, ะฟะพัะพะผ ะดะฒะพะตัะพัะธะต,
# ะดะฐะปััะต ะธะดัั ะพะฟัะธะพะฝะฐะปัะฝะพะต ะฟะตัะตัะธัะปะตะฝะธะต ะฟะฐัะฐะผะตััะพะฒ ัะตััััะฐ ะธ ะธั
ะทะฝะฐัะตะฝะธะน.
# ะะฝะฐัะตะฝะธั ะฟะฐัะฐะผะตััะพะฒ ัะบะฐะทัะฒะฐัััั ัะตัะตะท ั.ะฝ. hash rocket (=>).
resource { 'title':
param1 => value1,
param2 => value2,
param3 => value3,
}
}
เชเชจเซเชกเซเชจเซเชเซเชถเชจ เช
เชจเซ เชฒเชพเชเชจ เชฌเซเชฐเซเชเซเชธ เชฎเซเชจเชฟเชซเซเชธเซเชเชจเซ เชเชตเชถเซเชฏเช เชญเชพเช เชจเชฅเซ, เชชเชฐเชเชคเซ เชเช เชญเชฒเชพเชฎเชฃ เชเซ
- เชเซ-เชธเซเชชเซเชธ เชเชจเซเชกเซเชจเซเชเซเชธ, เชเซเชฌเชจเซ เชเชชเชฏเซเช เชฅเชคเซ เชจเชฅเซ.
- เชธเชฐเซเชชเชพเชเชพเชฐ เชเซเชเชธเชจเซ เชเชเซเชฏเชพ เชฆเซเชตเชพเชฐเชพ เช เชฒเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ; เชเซเชฒเซเชจเซเชธ เชเชเซเชฏเชพ เชฆเซเชตเชพเชฐเชพ เช เชฒเช เชฅเชคเชพ เชจเชฅเซ.
- เชเซเชฒเซเชฒเชพ เชเช เชธเชนเชฟเชค เชฆเชฐเซเช เชชเซเชฐเชพเชฎเซเชเชฐ เชชเชเซ เช
เชฒเซเชชเชตเชฟเชฐเชพเชฎ. เชฆเชฐเซเช เชชเชฐเชฟเชฎเชพเชฃ เชเช เช
เชฒเช เชฒเชพเชเชจ เชชเชฐ เชเซ. เชชเชฐเชฟเชฎเชพเชฃเซ เช
เชจเซ เชเช เชชเชฐเชฟเชฎเชพเชฃ เชตเชฟเชจเชพเชจเชพ เชเซเชธ เชฎเชพเชเซ เช
เชชเชตเชพเชฆ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ: เชคเชฎเซ เชเช เชฒเซเชเซ เชชเชฐ เช
เชจเซ เช
เชฒเซเชชเชตเชฟเชฐเชพเชฎ เชตเชฟเชจเชพ เชฒเชเซ เชถเชเซ เชเซ (เชฆเชพ.เชค.
resource { 'title': }
ะธresource { 'title': param => value }
). - เชชเชฐเชฟเชฎเชพเชฃเซ เชชเชฐเชจเชพ เชคเซเชฐเซ เชธเชฎเชพเชจ เชธเซเชคเชฐ เชชเชฐ เชนเซเชตเชพ เชเซเชเช.
- เชคเซเชฎเชจเซ เชเชเชณ เชธเชเชธเชพเชงเชจ เชธเชเชฌเชเชง เชคเซเชฐ เชฒเชเชพเชฏเซเชฒ เชเซ.
เชชเซเชชเซเชเชธเชฐเซเชตเชฐ เชชเชฐ เชซเชพเชเชฒเซเชจเซเช เชธเซเชฅเชพเชจ
เชตเชงเซ เชธเชฎเชเซเชคเซ เชฎเชพเชเซ, เชนเซเช "เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ" เชจเซ เชเซเชฏเชพเชฒ เชฐเชเซ เชเชฐเซเชถ. เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เช เชกเชฟเชฐเซเชเซเชเชฐเซ เชเซ เชเซ เชเซเชเซเชเชธ เชจเซเชก เชฎเชพเชเซ เชชเชชเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชงเชฐเชพเชตเซ เชเซ.
เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชชเซเชเชจเชพ เชธเชเชธเซเชเชฐเชฃ เช เชจเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชตเชพเชคเชพเชตเชฐเชฃเชจเชพ เชเชงเชพเชฐเซ เชฌเชฆเชฒเชพเชฏ เชเซ. เชชเชฐเซเชฏเชพเชตเชฐเชฃ เช เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเชพ เชธเซเชตเชคเชเชคเซเชฐ เชธเซเช เชเซ เชเซ เช เชฒเช เชกเชฟเชฐเซเชเซเชเชฐเซเชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชฟเช เชธเชพเชฅเซ เชธเชเชฏเซเชเชจเชฎเชพเช เชตเชชเชฐเชพเชฏ เชเซ, เชเซ เชเชฟเชธเซเชธเชพเชฎเชพเช เชเชฟเช เชถเชพเชเชพเชเชฎเชพเชเชฅเซ เชตเชพเชคเชพเชตเชฐเชฃ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชฆเชฐเซเช เชจเซเชก เชเช เช เชฅเชตเชพ เชฌเซเชเชพ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ. เช เชจเซเชก เชชเชฐ เช เช เชฅเชตเชพ ENC เชฎเชพเช เชเซเช เชตเซ เชถเชเชพเชฏ เชเซ, เชเซเชจเชพ เชตเชฟเชถเซ เชนเซเช เชเชเชพเชฎเซ เชฒเซเชเชฎเชพเช เชตเชพเชค เชเชฐเซเชถ.
- เชคเซเชฐเซเชเชพ เชธเชเชธเซเชเชฐเชฃเชฎเชพเช ("เชเซเชจเซ เชชเชชเซเช") เชฌเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชนเชคเซ
/etc/puppet
. เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ เชเชชเชฏเซเช เชตเซเชเชฒเซเชชเชฟเช เชเซ - เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชฎเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเซเชจเชพ เชชเชชเซเช เชธเชพเชฅเซ เชเชฐเชคเชพ เชจเชฅเซ. เชเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ/etc/puppet/environments
, เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชกเชฟเชฐเซเชเซเชเชฐเซ เชนเชถเซ. เชเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃเซเชจเซ เชเชชเชฏเซเช เชจ เชฅเชพเชฏ, เชคเซ เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชนเชถเซ. - เชเซเชฅเชพ เชธเชเชธเซเชเชฐเชฃ ("เชจเชตเซ เชชเชชเซเช") เชฅเซ เชถเชฐเซ เชเชฐเซเชจเซ, เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ เชเชชเชฏเซเช เชซเชฐเชเชฟเชฏเชพเชค เชฌเชจเซเชฏเซ, เช
เชจเซ เชฌเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชเชธเซเชกเชตเชพเชฎเชพเช เชเชตเซ
/etc/puppetlabs/code
. เชคเชฆเชจเซเชธเชพเชฐ, เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ/etc/puppetlabs/code/environments
, เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซ เช เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชกเชฟเชฐเซเชเซเชเชฐเซ เชเซ.
เชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชธเชฌเชกเชฟเชฐเซเชเซเชเชฐเซ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ manifests
, เชเซเชฎเชพเช เชจเซเชกเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเชพ เชเช เช
เชฅเชตเชพ เชตเชงเซ เชฎเซเชจเชฟเชซเซเชธเซเช เชนเซเชฏ เชเซ. เชตเชงเซเชฎเชพเช, เชคเซเชฏเชพเช เชธเชฌเชกเชฟเชฐเซเชเซเชเชฐเซ เชนเซเชตเซ เชเซเชเช modules
, เชเซเชฎเชพเช เชฎเซเชกเซเชฏเซเชฒเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ. เชนเซเช เชคเชฎเชจเซ เชฅเซเชกเชพ เชธเชฎเชฏ เชชเชเซ เชเชนเซเชถ เชเซ เชฎเซเชกเซเชฏเซเชฒเซ เชถเซเช เชเซ. เชตเชงเซเชฎเชพเช, เชเซเชจเซ เชชเชชเซเชเชฎเชพเช เชธเชฌเชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฃ เชนเซเช เชถเชเซ เชเซ files
, เชเซเชฎเชพเช เชตเชฟเชตเชฟเชง เชซเชพเชเชฒเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เชเซเชจเซ เชเชชเชฃเซ เชจเซเชกเซเชธ เชชเชฐ เชเซเชชเซ เชเชฐเซเช เชเซเช. เชจเชตเซ เชชเชชเซเชเชฎเชพเช, เชฌเชงเซ เชซเชพเชเชฒเซ เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชฎเซเชจเชฟเชซเซเชธเซเช เชซเชพเชเชฒเซเชฎเชพเช เชเชเซเชธเซเชเซเชเชถเชจ เชนเซเชฏ เชเซ .pp
.
เชฒเชกเชพเช เชเชฆเชพเชนเชฐเชฃเซ เชเช เชฆเชเชชเชคเชฟ
เชคเซเชจเชพ เชชเชฐ เชจเซเชก เช เชจเซ เชธเชเชธเชพเชงเชจเชจเซเช เชตเชฐเซเชฃเชจ
เชจเซเชก เชชเชฐ server1.testdomain
เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเซ เชเซเชเช /etc/issue
เชธเชพเชฎเชเซเชฐเซ เชธเชพเชฅเซ Debian GNU/Linux n l
. เชซเชพเชเชฒ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช
เชจเซ เชเซเชฅเชจเซ เชฎเชพเชฒเชฟเชเซเชจเซ เชนเซเชตเซ เชเซเชเช root
, เชเชเซเชธเซเชธ เช
เชงเชฟเชเชพเชฐเซ เชนเซเชตเชพ เชเซเชเช 644
.
เช เชฎเซ เชฎเซเชจเชฟเชซเซเชธเซเชเซ เชฒเชเซเช เชเซเช:
node 'server1.testdomain' { # ะฑะปะพะบ ะบะพะฝัะธะณััะฐัะธะธ, ะพัะฝะพัััะธะนัั ะบ ะฝะพะดะต server1.testdomain
file { '/etc/issue': # ะพะฟะธััะฒะฐะตะผ ัะฐะนะป /etc/issue
ensure => present, # ััะพั ัะฐะนะป ะดะพะปะถะตะฝ ัััะตััะฒะพะฒะฐัั
content => 'Debian GNU/Linux n l', # ั ะฝะตะณะพ ะดะพะปะถะฝะพ ะฑััั ัะฐะบะพะต ัะพะดะตัะถะธะผะพะต
owner => root, # ะฟะพะปัะทะพะฒะฐัะตะปั-ะฒะปะฐะดะตะปะตั
group => root, # ะณััะฟะฟะฐ-ะฒะปะฐะดะตะปะตั
mode => '0644', # ะฟัะฐะฒะฐ ะฝะฐ ัะฐะนะป. ะะฝะธ ะทะฐะดะฐะฝั ะฒ ะฒะธะดะต ัััะพะบะธ (ะฒ ะบะฐะฒััะบะฐั
), ะฟะพัะพะผั ััะพ ะธะฝะฐัะต ัะธัะปะพ ั 0 ะฒ ะฝะฐัะฐะปะต ะฑัะดะตั ะฒะพัะฟัะธะฝััะพ ะบะฐะบ ะทะฐะฟะธัะฐะฝะฝะพะต ะฒ ะฒะพััะผะตัะธัะฝะพะน ัะธััะตะผะต, ะธ ะฒัั ะฟะพะนะดัั ะฝะต ัะฐะบ, ะบะฐะบ ะทะฐะดัะผะฐะฝะพ
}
}
เชจเซเชก เชชเชฐเชจเชพ เชธเชเชธเชพเชงเชจเซ เชตเชเซเชเซเชจเชพ เชธเชเชฌเชเชงเซ
เชจเซเชก เชชเชฐ server2.testdomain
nginx เชเชพเชฒเชคเซเช เชนเซเชตเซเช เชเซเชเช, เช
เชเชพเช เชคเซเชฏเชพเชฐ เชเชฐเซเชฒ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช.
เชเชพเชฒเซ เชธเชฎเชธเซเชฏเชพเชจเซเช เชตเชฟเชเชเชจ เชเชฐเซเช:
- เชชเซเชเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชเชฐเซเชฐเซ เชเซ
nginx
. - เชคเซ เชเชฐเซเชฐเซ เชเซ เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชธเชฐเซเชตเชฐเชฎเชพเชเชฅเซ เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ.
- เชธเซเชตเชพ เชเชพเชฒเซ เชนเซเชตเซ เชเชฐเซเชฐเซ เชเซ
nginx
. - เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เช เชชเชกเซเช เชฅเชฏเซเชฒ เชนเซเชฏ, เชคเซ เชธเซเชตเชพ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชฅเชตเซ เชเชตเชถเซเชฏเช เชเซ.
เช เชฎเซ เชฎเซเชจเชฟเชซเซเชธเซเชเซ เชฒเชเซเช เชเซเช:
node 'server2.testdomain' { # ะฑะปะพะบ ะบะพะฝัะธะณััะฐัะธะธ, ะพัะฝะพัััะธะนัั ะบ ะฝะพะดะต server2.testdomain
package { 'nginx': # ะพะฟะธััะฒะฐะตะผ ะฟะฐะบะตั nginx
ensure => installed, # ะพะฝ ะดะพะปะถะตะฝ ะฑััั ัััะฐะฝะพะฒะปะตะฝ
}
# ะััะผะฐั ัััะตะปะบะฐ (->) ะณะพะฒะพัะธั ะพ ัะพะผ, ััะพ ัะตัััั ะฝะธะถะต ะดะพะปะถะตะฝ
# ัะพะทะดะฐะฒะฐัััั ะฟะพัะปะต ัะตััััะฐ, ะพะฟะธัะฐะฝะฝะพะณะพ ะฒััะต.
# ะขะฐะบะธะต ะทะฐะฒะธัะธะผะพััะธ ััะฐะฝะทะธัะธะฒะฝั.
-> file { '/etc/nginx': # ะพะฟะธััะฒะฐะตะผ ัะฐะนะป /etc/nginx
ensure => directory, # ััะพ ะดะพะปะถะฝะฐ ะฑััั ะดะธัะตะบัะพัะธั
source => 'puppet:///modules/example/nginx-conf', # ะตั ัะพะดะตัะถะธะผะพะต ะฝัะถะฝะพ ะฑัะฐัั ั ะฟะฐะฟะฟะตั-ัะตัะฒะตัะฐ ะฟะพ ัะบะฐะทะฐะฝะฝะพะผั ะฐะดัะตัั
recurse => true, # ะบะพะฟะธัะพะฒะฐัั ัะฐะนะปั ัะตะบัััะธะฒะฝะพ
purge => true, # ะฝัะถะฝะพ ัะดะฐะปััั ะปะธัะฝะธะต ัะฐะนะปั (ัะต, ะบะพัะพััั
ะฝะตั ะฒ ะธััะพัะฝะธะบะต)
force => true, # ัะดะฐะปััั ะปะธัะฝะธะต ะดะธัะตะบัะพัะธะธ
}
# ะะพะปะฝะธััะฐั ัััะตะปะบะฐ (~>) ะณะพะฒะพัะธั ะพ ัะพะผ, ััะพ ัะตัััั ะฝะธะถะต ะดะพะปะถะตะฝ
# ะฟะพะดะฟะธัะฐัััั ะฝะฐ ะธะทะผะตะฝะตะฝะธั ัะตััััะฐ, ะพะฟะธัะฐะฝะฝะพะณะพ ะฒััะต.
# ะะพะปะฝะธััะฐั ัััะตะปะบะฐ ะฒะบะปััะฐะตั ะฒ ัะตะฑั ะฟััะผัั (->).
~> service { 'nginx': # ะพะฟะธััะฒะฐะตะผ ัะตัะฒะธั nginx
ensure => running, # ะพะฝ ะดะพะปะถะตะฝ ะฑััั ะทะฐะฟััะตะฝ
enable => true, # ะตะณะพ ะฝัะถะฝะพ ะทะฐะฟััะบะฐัั ะฐะฒัะพะผะฐัะธัะตัะบะธ ะฟัะธ ััะฐััะต ัะธััะตะผั
}
# ะะพะณะดะฐ ัะตัััั ัะธะฟะฐ service ะฟะพะปััะฐะตั ัะฒะตะดะพะผะปะตะฝะธะต,
# ัะพะพัะฒะตัััะฒัััะธะน ัะตัะฒะธั ะฟะตัะตะทะฐะฟััะบะฐะตััั.
}
เช เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชชเซเช เชธเชฐเซเชตเชฐ เชชเชฐ เชฒเชเชญเช เชจเซเชเซเชจเซ เชซเชพเชเชฒ เชธเซเชฅเชพเชจเชจเซ เชเชฐเซเชฐ เชเซ:
/etc/puppetlabs/code/environments/production/ # (ััะพ ะดะปั ะฝะพะฒะพะณะพ ะะฐะฟะฟะตัะฐ, ะดะปั ััะฐัะพะณะพ ะบะพัะฝะตะฒะพะน ะดะธัะตะบัะพัะธะตะน ะฑัะดะตั /etc/puppet)
โโโ manifests/
โ โโโ site.pp
โโโ modules/
โโโ example/
โโโ files/
โโโ nginx-conf/
โโโ nginx.conf
โโโ mime.types
โโโ conf.d/
โโโ some.conf
เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐเซ
เชธเชฎเชฐเซเชฅเชฟเชค เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐเซเชจเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ เช
เชนเซเช เชฎเชณเซ เชถเชเซ เชเซ
เชซเชพเชเชฒ
เชซเชพเชเชฒเซ, เชกเชฟเชฐเซเชเซเชเชฐเซเช, เชธเชฟเชฎเชฒเชฟเชเช, เชคเซเชฎเชจเซ เชธเชพเชฎเชเซเชฐเซ เช เชจเซ เชเชเซเชธเซเชธ เช เชงเชฟเชเชพเชฐเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เชเซ.
เชชเชฐเชฟเชฎเชพเชฃเซ:
- ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ - เชซเชพเชเชฒเชจเซ เชฎเชพเชฐเซเช (เชตเซเชเชฒเซเชชเชฟเช)
- เชชเชพเชฅ โ เชซเชพเชเชฒเชจเซ เชชเชพเชฅ (เชเซ เชคเซ เชจเชพเชฎเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชจ เชนเซเชฏ เชคเซ)
- เชเชพเชคเชฐเซ - เชซเชพเชเชฒ เชชเซเชฐเชเชพเชฐ:
absent
- เชซเชพเชเชฒ เชเชพเชขเซ เชจเชพเชเซpresent
- เชเซเชเชชเชฃ เชชเซเชฐเชเชพเชฐเชจเซ เชซเชพเชเชฒ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ (เชเซ เชคเซเชฏเชพเช เชเซเช เชซเชพเชเชฒ เชจเชฅเซ, เชคเซ เชจเชฟเชฏเชฎเชฟเชค เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ)file
- เชจเชฟเชฏเชฎเชฟเชค เชซเชพเชเชฒdirectory
- เชกเชฟเชฐเซเชเซเชเชฐเซlink
- เชธเชฟเชฎเชฒเชฟเชเช
- เชธเชพเชฎเชเซเชฐเซ โ เชซเชพเชเชฒ เชธเชฎเชพเชตเชฟเชทเซเชเซ (เชซเชเซเชค เชจเชฟเชฏเชฎเชฟเชค เชซเชพเชเชฒเซ เชฎเชพเชเซ เช เชฏเซเชเซเชฏ เชเซ, เชคเซเชจเซ เชธเชพเชฅเซ เชเชเชธเชพเชฅเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ เชธเซเชคเซเชฐเซเชค เช เชฅเชตเชพ เชฒเชเซเชทเซเชฏ)
- เชธเซเชคเซเชฐเซเชค โ เชชเชพเชฅเชจเซ เชฒเชฟเชเช เชเซ เชเซเชฏเชพเชเชฅเซ เชคเชฎเซ เชซเชพเชเชฒเชจเซ เชธเชพเชฎเชเซเชฐเซเชจเซ เชจเชเชฒ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ (เชธเชพเชฅเซ เชธเชพเชฅเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ เชธเชพเชฎเชเซเชฐเซ เช
เชฅเชตเชพ เชฒเชเซเชทเซเชฏ). เชธเซเชเซเชฎ เชธเชพเชฅเซ เชเซเชฏเชพเช เชคเซ URI เชคเชฐเซเชเซ เชเชฒเซเชฒเซเชเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ
puppet:
(ัะพะณะดะฐ ะฑัะดัั ะธัะฟะพะปัะทะพะฒะฐะฝั ัะฐะนะปั ั ะฟะฐะฟะฟะตั-ัะตัะฒะตัะฐ), ัะฐะบ ะธ ัะพ ัั ะตะผะพะนhttp:
(เชฎเชจเซ เชเชถเชพ เชเซ เชเซ เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชถเซเช เชฅเชถเซ เชคเซ เชธเซเชชเชทเซเช เชเซ), เช เชจเซ เชกเชพเชฏเชพเชเซเชฐเชพเชฎ เชธเชพเชฅเซ เชชเชฃfile:
เช เชฅเชตเชพ เชธเซเชเซเชฎเชพ เชตเชฟเชจเชพ เชธเชเชชเซเชฐเซเชฃ เชชเชพเชฅ เชคเชฐเซเชเซ (เชชเชเซ เชจเซเชก เชชเชฐ เชธเซเชฅเชพเชจเชฟเช FS เชฎเชพเชเชฅเซ เชซเชพเชเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ) - เชฒเชเซเชทเซเชฏ โ เชเซเชฏเชพเช เชธเชฟเชฎเชฒเชฟเชเช เชจเชฟเชฐเซเชฆเซเชถ เชเชฐเซ เชเซ (เชธเชพเชฅเซ เชธเชพเชฅเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ เชธเชพเชฎเชเซเชฐเซ เช เชฅเชตเชพ เชธเซเชคเซเชฐเซเชค)
- เชฎเชพเชฒเชฟเช - เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ เชเซเชจเซ เชชเชพเชธเซ เชซเชพเชเชฒ เชนเซเชตเซ เชเซเชเช
- เชเซเชฅ โ เชเซ เชเซเชฅเชจเซ เชซเชพเชเชฒ เชนเซเชตเซ เชเซเชเช
- เชธเซเชฅเชฟเชคเชฟ - เชซเชพเชเชฒ เชชเชฐเชตเชพเชจเชเซเช (เชธเซเชเซเชฐเชฟเชเช เชคเชฐเซเชเซ)
- เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ - เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชเซ
- เชถเซเชงเซเชงเซเชเชฐเชฃ - เชชเชชเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชจ เชนเซเชฏ เชคเซเชตเซ เชซเชพเชเชฒเซเชจเซ เชเชพเชขเซ เชจเชพเชเชตเชพ เชธเชเซเชทเชฎ เชเชฐเซ เชเซ
- เชฌเชณ - เชชเชชเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชจ เชนเซเชฏ เชคเซเชตเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชเซ
เชชเซเชเซเช
เชชเซเชเซเชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชเซ เช เชจเซ เชฆเซเชฐ เชเชฐเซ เชเซ. เชธเซเชเชจเชพเชเชจเซ เชนเซเชจเซเชกเชฒ เชเชฐเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ - เชเซ เชชเซเชฐเชพเชฎเซเชเชฐ เชธเซเชชเชทเซเช เชเชฐเซเชฒ เชนเซเชฏ เชคเซ เชชเซเชเซเช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชเซ refresh_on_reinstall.
เชชเชฐเชฟเชฎเชพเชฃเซ:
- ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ - เชชเซเชเซเช เชจเชพเชฎ (เชตเซเชเชฒเซเชชเชฟเช)
- เชจเชพเชฎ - เชชเซเชเซเชเชจเซเช เชจเชพเชฎ (เชเซ เชจเชพเชฎเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชจ เชนเซเชฏ เชคเซ)
- เชชเซเชฐเชฆเชพเชคเชพ - เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชเซเช เชฎเซเชจเซเชเชฐ
- เชเชพเชคเชฐเซ - เชชเซเชเซเชเชจเซ เชเชเซเชเชฟเชค เชธเซเชฅเชฟเชคเชฟ:
present
,installed
- เชเซเชเชชเชฃ เชธเชเชธเซเชเชฐเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซlatest
- เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเชabsent
- เชเชพเชขเซ เชจเชพเชเซเชฏเซเช (apt-get remove
)purged
โ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชธเชพเชฅเซ เชเชพเชขเซ เชจเชพเชเซเชฒ (apt-get purge
)held
- เชชเซเชเซเช เชธเชเชธเซเชเชฐเชฃ เชฒเซเช เชฅเชฏเซเชฒ เชเซ (apt-mark hold
)ะปัะฑะฐั ะดััะณะฐั ัััะพะบะฐ
- เชเชฒเซเชฒเซเชเชฟเชค เชธเชเชธเซเชเชฐเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ
- refresh_on_reinstall - เชเซ
true
, เชชเชเซ เชธเซเชเชจเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเชพ เชชเชเซ เชชเซเชเซเช เชซเชฐเซเชฅเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชธเซเชคเซเชฐเซเชค-เชเชงเชพเชฐเชฟเชค เชตเชฟเชคเชฐเชฃเซ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ, เชเซเชฏเชพเช เชฌเชฟเชฒเซเชก เชชเชฐเชฟเชฎเชพเชฃเซ เชฌเชฆเชฒเชคเซ เชตเชเชคเซ เชชเซเชเซเชเซ เชชเซเชจเชเชจเชฟเชฐเซเชฎเชพเชฃ เชเชฐเซเชฐเซ เชนเซเช เชถเชเซ เชเซ. เชกเชฟเชซเซเชฒเซเชfalse
.
เชธเซเชตเชพ
เชธเซเชตเชพเชเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เชเซ. เชธเซเชเชจเชพเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ - เชธเซเชตเชพ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ เชเซ.
เชชเชฐเชฟเชฎเชพเชฃเซ:
- ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ - เชฎเซเชจเซเช เชเชฐเชตเชพเชจเซ เชธเซเชตเชพ (เชตเซเชเชฒเซเชชเชฟเช)
- เชจเชพเชฎ - เชธเซเชตเชพ เชเซ เชเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ (เชเซ เชจเชพเชฎเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชจ เชนเซเชฏ เชคเซ)
- เชเชพเชคเชฐเซ - เชธเซเชตเชพเชจเซ เชเชเซเชเชฟเชค เชธเซเชฅเชฟเชคเชฟ:
running
- เชถเชฐเซstopped
- เชฌเชเชง
- เชธเชเซเชทเชฎ เชเชฐเซ - เชธเซเชตเชพ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเซเชทเชฎเชคเชพเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ:
true
- เชเชเซเชฐเชจ เชธเชเซเชทเชฎ เชเซ (systemctl enable
)mask
- เชตเซเชถเชฎเชพเช (systemctl mask
)false
- เชเชเซเชฐเชจ เช เชเซเชทเชฎ เชเซ (systemctl disable
)
- เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ - เชธเซเชตเชพ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชเชฆเซเชถ
- เชธเซเชฅเชฟเชคเชฟ - เชธเซเชตเชพเชจเซ เชธเซเชฅเชฟเชคเชฟ เชคเชชเชพเชธเชตเชพเชจเซ เชเชฆเซเชถ
- hasrestart โ เชธเซเชเชตเซ เชเซ เชถเซเช เชธเซเชตเชพ initscript เชชเซเชจเชเชถเชฐเซ เชเชฐเชตเชพเชจเซเช เชเชงเชพเชฐ เชเชชเซ เชเซ. เชเซ
false
เช เชจเซ เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเช เชฅเชฏเซเชฒ เชเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ โ เช เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชเชฟเชเชฎเชค เชตเชชเชฐเชพเชฏ เชเซ. เชเซfalse
ะธ ะฟะฐัะฐะผะตัั เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฒเซเชฒเซเชเชฟเชค เชจเชฅเซ - เชธเซเชตเชพ เชฌเชเชง เชฅเช เชเช เชเซ เช เชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเชฏเซเช เชเซ (เชชเชฐเชเชคเซ systemd เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซsystemctl restart
). - เชธเซเชเซเชเชธ โ เชธเซเชเชตเซ เชเซ เชถเซเช เชธเซเชตเชพ initscript เชเชฆเซเชถเชจเซ เชเชงเชพเชฐ เชเชชเซ เชเซ
status
. เชเซfalse
, เชชเชเซ เชชเชฐเชฟเชฎเชพเชฃ เชฎเซเชฒเซเชฏเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ เชธเซเชฅเชฟเชคเชฟ. เชกเชฟเชซเซเชฒเซเชtrue
.
exec
เชฌเชพเชนเซเชฏ เชเชฆเซเชถเซ เชเชฒเชพเชตเซ เชเซ. เชเซ เชคเชฎเซ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชคเชพ เชจเชฅเซ เชฌเชจเชพเชตเซ เชเซ, เชฎเชพเชคเซเชฐ เชเซ, เชธเชฟเชตเชพเชฏ เช เชฅเชตเชพ เชคเชพเชเชเซเชฅเซ, เชเชฆเซเชถ เชฆเชฐ เชตเชเชคเซ เชชเชชเซเช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ. เชธเซเชเชจเชพเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ - เชเชฆเซเชถ เชเชฒเชพเชตเซ เชเซ.
เชชเชฐเชฟเชฎเชพเชฃเซ:
- ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ - เชเชฒเชพเชตเชตเชพเชจเซ เชเชฆเซเชถ (เชตเซเชเชฒเซเชชเชฟเช)
- เชเชฆเซเชถ - เชเชฒเชพเชตเชตเชพเชจเซ เชเชฆเซเชถ (เชเซ เชคเซ เชจเชพเชฎเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชจ เชนเซเชฏ เชคเซ)
- เชชเชพเชฅ โ เชชเชพเชฅ เชเซ เชเซเชฎเชพเช เชเชเซเชเซเชเซเชฏเซเชเซเชฌเชฒ เชซเชพเชเชฒเชจเซ เชเซเชตเชพเชจเซ เชเซ
- เชฎเชพเชคเซเชฐ เชเซ โ เชเซ เช เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเชฆเซเชถ เชถเซเชจเซเชฏ เชฐเซเชเชฐเซเชจ เชเซเชก เชธเชพเชฅเซ เชชเซเชฐเซเชฃ เชฅเชพเชฏ, เชคเซ เชฎเซเชเซเชฏ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ.
- เชธเชฟเชตเชพเชฏ โ เชเซ เช เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเชฆเซเชถ เชฌเชฟเชจ-เชถเซเชจเซเชฏ เชฐเซเชเชฐเซเชจ เชเซเชก เชธเชพเชฅเซ เชชเซเชฐเซเชฃ เชฅเชพเชฏ, เชคเซ เชฎเซเชเซเชฏ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ.
- เชฌเชจเชพเชตเซ เชเซ โ เชเซ เช เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชซเชพเชเชฒ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ, เชคเซ เชฎเซเชเซเชฏ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ
- เชคเชพเชเชเซเชฅเซ - เชเซ
true
, เชคเซ เชเชฆเซเชถ เชซเชเซเชค เชคเซเชฏเชพเชฐเซ เช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ เชเซเชฏเชพเชฐเซ เช exec เช เชจเซเชฏ เชธเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชธเซเชเชจเชพ เชฎเซเชณเชตเซ - cwd โ ะดะธัะตะบัะพัะธั, ะธะท ะบะพัะพัะพะน ะทะฐะฟััะบะฐัั ะบะพะผะฐะฝะดั
- เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ โ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซเชจเซ เชชเชพเชธเซเชฅเซ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชจเซ เชเซ
- เชชเซเชฐเชฆเชพเชคเชพ - เชเชฆเซเชถ เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซ:
- เชชเซเชเซเชธเชฟเชเซเชธ โ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชธเชฐเชณ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชธเซเชชเชทเซเช เชเชฐเชตเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ เชชเชพเชฅ
- เชถเซเชฒ - เชเชฆเซเชถ เชถเซเชฒเชฎเชพเช เชถเชฐเซ เชฅเชพเชฏ เชเซ
/bin/sh
, เชเชฒเซเชฒเซเชเชฟเชค เชจ เชนเซเช เชถเชเซ เชชเชพเชฅ, เชคเชฎเซ เชเซเชฒเซเชฌเชฟเชเช, เชชเชพเชเชชเซเชธ เช เชจเซ เช เชจเซเชฏ เชถเซเชฒ เชธเซเชตเชฟเชงเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชเซ เชเซเช เชตเชฟเชถเชฟเชทเซเช เช เชเซเชทเชฐเซ เชนเซเชฏ เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชชเชฎเซเชณเซ เชถเซเชงเชพเชฏ เชเซ (|
,;
,&&
,||
เชตเชเซเชฐเซ).
เชเซเชฐเซเชจ
เชเซเชฐเซเชจเชเซเชฌเซเชธเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ.
เชชเชฐเชฟเชฎเชพเชฃเซ:
- ะฝะฐะทะฒะฐะฝะธะต ัะตััััะฐ - เชฎเชพเชคเซเชฐ เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเซ เชเชณเชเชเชฐเซเชคเชพ
- เชเชพเชคเชฐเซ - เชคเชพเช เชเซเชฌ เชธเซเชฅเชฟเชคเชฟ:
present
- เชเซ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ เชคเซ เชฌเชจเชพเชตเซabsent
- เชเซ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชนเซเชฏ เชคเซ เชเชพเชขเซ เชจเชพเชเซ
- เชเชฆเซเชถ - เชเชฏเซ เชเชฆเซเชถ เชเชฒเชพเชตเชตเซ
- เชชเชฐเซเชฏเชพเชตเชฐเชฃ - เชเชฏเชพ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชจเซ เชเซ (เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชจเซ เชธเซเชเชฟ เช
เชจเซ เชคเซเชฎเชจเชพ เชฎเซเชฒเซเชฏเซ เชฆเซเชตเชพเชฐเชพ
=
) - เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ - เชเชฏเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเชพเชธเซเชฅเซ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชจเซ เชเซ
- เชฎเชฟเชจเชฟเช, เชเชฒเชพเช, เชธเชพเชชเซเชคเชพเชนเชฟเช, เชฎเชพเชธ, เชฎเชนเชฟเชจเชพเชจเซ เชฆเชฟเชตเชธ - เชเซเชฐเซเชจ เชเซเชฏเชพเชฐเซ เชเชฒเชพเชตเชตเซเช. เชเซ เชเชฎเชพเชเชจเซ เชเซเชเชชเชฃ เชตเชฟเชถเซเชทเชคเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชจเชฅเซ, เชคเซ เชเซเชฐเซเชจเซเชเชพเชฌเชฎเชพเช เชคเซเชจเซเช เชฎเซเชฒเซเชฏ เชนเชถเซ
*
.
ะ Puppet 6.0 เชเซเชฐเซเชจ เชเชพเชฃเซ เชเซ
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชเชธเชพเชงเชจเซ เชตเชฟเชถเซ
เชธเชเชธเชพเชงเชจ เชตเชฟเชถเชฟเชทเซเชเชคเชพ เชฎเชพเชเซเชจเซ เชเชตเชถเซเชฏเชเชคเชพเช
เชธเซเชฅเซ เชธเชพเชฎเชพเชจเซเชฏ เชญเซเชฒ เชเชชเชฃเซ เช เชจเซเชญเชตเซเช เชเซเช เชกเซเชชเซเชฒเชฟเชเซเช เชเซเชทเชฃเชพ. เช เชญเซเชฒ เชคเซเชฏเชพเชฐเซ เชฅเชพเชฏ เชเซ เชเซเชฏเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพเชฎเชพเช เชธเชฎเชพเชจ เชจเชพเชฎ เชธเชพเชฅเซ เชธเชฎเชพเชจ เชชเซเชฐเชเชพเชฐเชจเชพเช เชฌเซ เช เชฅเชตเชพ เชตเชงเซ เชธเชเชธเชพเชงเชจเซ เชฆเซเชเชพเชฏ เชเซ.
ะะพััะพะผั ะตัั ัะฐะท ะฝะฐะฟะธัั: เชธเชฎเชพเชจ เชจเซเชก เชฎเชพเชเซ เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชธเชฎเชพเชจ เชถเซเชฐเซเชทเช เชธเชพเชฅเซ เชธเชฎเชพเชจ เชชเซเชฐเชเชพเชฐเชจเชพ เชธเชเชธเชพเชงเชจเซ เชจ เชนเซเชตเชพ เชเซเชเช!
เชเซเชเชฒเซเชเชตเชพเชฐ เชธเชฎเชพเชจ เชจเชพเชฎ เชธเชพเชฅเซ เชชเซเชเซเชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชเซ, เชชเชฐเชเชคเซ เชตเชฟเชตเชฟเชง เชชเซเชเซเช เชฎเซเชจเซเชเชฐ เชธเชพเชฅเซ. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเชฎเชพเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ name
เชญเซเชฒ เชเชพเชณเชตเชพ เชฎเชพเชเซ:
package { 'ruby-mysql':
ensure => installed,
name => 'mysql',
provider => 'gem',
}
package { 'python-mysql':
ensure => installed,
name => 'mysql',
provider => 'pip',
}
เช
เชจเซเชฏ เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐเซ เชชเชพเชธเซ เชกเซเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชณเชตเชพ เชฎเชพเชเซ เชธเชฎเชพเชจ เชตเชฟเชเชฒเซเชชเซ เชเซ - name
ั เชธเซเชตเชพ, command
ั exec, ะธ ัะฐะบ ะดะฐะปะตะต.
เชฎเซเชเชพเชชเซเชฐเชพเชฎเซเชเชฐเซเชธ
เชฆเชฐเซเช เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐ เชคเซเชจเซ เชชเซเชฐเชเซเชคเชฟเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชฟเชจเชพ เชเซเชเชฒเชพเช เชตเชฟเชถเชฟเชทเซเช เชชเชฐเชฟเชฎเชพเชฃเซ เชงเชฐเชพเชตเซ เชเซ.
เชฎเซเชเชพ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ
เชเซเชเชเซ เชธเซเชเชฟ:
- เชเชฐเซเชฐ โ เช เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชเชตเซ เชเซ เชเซ เช เชธเซเชคเซเชฐเซเชค เชเชฏเชพ เชธเซเชคเซเชฐเซเชคเซ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ.
- เชชเชนเซเชฒเชพเช - เช เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเช เชเชฐเซ เชเซ เชเซ เชเชฏเชพ เชธเชเชธเชพเชงเชจเซ เช เชธเชเชธเชพเชงเชจ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ.
- เชเชฎเซเชฆเชตเชพเชฐเซ เชจเซเชเชงเชพเชตเชตเชพ โ เช เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเช เชเชฐเซ เชเซ เชเซ เช เชธเซเชคเซเชฐเซเชค เชเชฏเชพ เชธเซเชคเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชธเซเชเชจเชพเช เชฎเซเชณเชตเซ เชเซ.
- เชธเซเชเชฟเชค โ เช เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเช เชเชฐเซ เชเซ เชเซ เชเชฏเชพ เชธเซเชคเซเชฐเซเชคเซ เช เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชธเซเชเชจเชพเช เชฎเซเชณเชตเซ เชเซ.
เชธเซเชเชฟเชฌเชฆเซเชง เชคเชฎเชพเชฎ เชฎเซเชเชพเชชเซเชฐเชพเชฎเซเชเชฐเซเชธ เชเชพเช เชคเซ เชเช เชฐเชฟเชธเซเชฐเซเชธ เชฒเชฟเชเช เช เชฅเชตเชพ เชเซเชฐเชธ เชเซเชเชธเชฎเชพเช เชฒเชฟเชเชเซเชธเชจเซ เชถเซเชฐเซเชฃเซ เชธเซเชตเซเชเชพเชฐเซ เชเซ.
เชธเชเชธเชพเชงเชจเซเชจเซ เชฒเชฟเชเชเซเชธ
เชธเชเชธเชพเชงเชจ เชฒเชฟเชเช เช เชซเชเซเชค เชธเชเชธเชพเชงเชจเชจเซ เชเชฒเซเชฒเซเช เชเซ. เชคเซเช เชฎเซเชเซเชฏเชคเซเชตเซ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชฆเชฐเซเชถเชพเชตเชตเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ. เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ เชคเซเชตเชพ เชธเชเชธเชพเชงเชจเชจเซ เชธเชเชฆเชฐเซเชญ เชเชชเชตเชพเชฅเซ เชธเชเชเชฒเชจ เชญเซเชฒ เชฅเชถเซ.
เชฒเชฟเชเชเชจเซเช เชตเชพเชเซเชฏเชฐเชเชจเชพ เชจเซเชเซ เชฎเซเชเชฌ เชเซ: เชฎเซเชเชพ เช เชเซเชทเชฐ เชธเชพเชฅเซ เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐ (เชเซ เชชเซเชฐเชเชพเชฐ เชจเชพเชฎเชฎเชพเช เชกเชฌเชฒ เชเซเชฒเซเชจ เชนเซเชฏ, เชคเซ เชเซเชฒเซเชจเซเชธ เชตเชเซเชเซเชจเชพ เชจเชพเชฎเชจเชพ เชฆเชฐเซเช เชญเชพเชเชจเซ เชเซเชชเชฟเชเชฒเชพเชเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ), เชชเชเซ เชเซเชฐเชธ เชเซเชเชธเชฎเชพเช เชธเชเชธเชพเชงเชจเชจเซเช เชจเชพเชฎ (เชจเชพเชฎเชจเซ เชเซเชธ) เชฌเชฆเชฒเชพเชคเซเช เชจเชฅเซ!). เชคเซเชฏเชพเช เชเซเช เชเชเซเชฏเชพ เชนเซเชตเซ เชเซเชเช เชจเชนเซเช; เชเซเชฐเชธ เชเซเชเชธ เชเชพเชเชชเชจเชพ เชจเชพเชฎ เชชเชเซ เชคเชฐเชค เช เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ:
file { '/file1': ensure => present }
file { '/file2':
ensure => directory,
before => File['/file1'],
}
file { '/file3': ensure => absent }
File['/file1'] -> File['/file3']
เชจเชฟเชฐเซเชญเชฐเชคเชพ เช เชจเซ เชธเซเชเชจเชพเช
เช เชเชพเช เชเชนเซเชฏเซเช เชคเซเชฎ, เชธเชเชธเชพเชงเชจเซ เชตเชเซเชเซเชจเซ เชธเชฐเชณ เช เชตเชฒเชเชฌเชจ เชธเชเชเซเชฐเชฎเชฃเชเชพเชฐเซ เชเซ. เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชฎเซเชฐเชคเซ เชตเชเชคเซ เชธเชพเชตเชเซเชค เชฐเชนเซ - เชคเชฎเซ เชเชเซเชฐเซเชฏ เช เชตเชฒเชเชฌเชจ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ, เชเซ เชธเชเชเชฒเชจ เชญเซเชฒเชจเซเช เชเชพเชฐเชฃ เชฌเชจเชถเซ.
เช เชตเชฒเชเชฌเชจเชฅเซ เชตเชฟเชชเชฐเซเชค, เชธเซเชเชจเชพเช เชธเชเชเซเชฐเชฎเชฟเชค เชจเชฅเซ. เชธเซเชเชจเชพเช เชฎเชพเชเซ เชจเซเชเซเชจเชพ เชจเชฟเชฏเชฎเซ เชฒเชพเชเซ เชชเชกเซ เชเซ:
- เชเซ เชธเชเชธเชพเชงเชจเชจเซ เชธเซเชเชจเชพ เชฎเชณเซ เชเซ, เชคเซ เชคเซ เช เชชเชกเซเช เชฅเชพเชฏ เชเซ. เช เชชเชกเซเช เชเซเชฐเชฟเชฏเชพเช เชธเชเชธเชพเชงเชจ เชชเซเชฐเชเชพเชฐ - เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ exec เชเชฆเซเชถ เชเชฒเชพเชตเซ เชเซ, เชธเซเชตเชพ เชธเซเชตเชพ เชซเชฐเซ เชถเชฐเซ เชเชฐเซ เชเซ, เชชเซเชเซเช เชชเซเชเซเช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชเซ. เชเซ เชธเชเชธเชพเชงเชจเชฎเชพเช เช เชชเชกเซเช เชเซเชฐเชฟเชฏเชพ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชจ เชนเซเชฏ, เชคเซ เชเชเช เชฅเชคเซเช เชจเชฅเซ.
- เชชเชชเซเชเชจเชพ เชเช เชฐเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชธเชเชธเชพเชงเชจ เชเช เชเชฐเชคเชพ เชตเชงเซ เชตเชพเชฐ เช เชชเชกเซเช เชฅเชคเซเช เชจเชฅเซ. เช เชถเชเซเชฏ เชเซ เชเชพเชฐเชฃ เชเซ เชธเซเชเชจเชพเชเชฎเชพเช เช เชตเชฒเชเชฌเชจเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เช เชจเซ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเซเชฐเชพเชซเชฎเชพเช เชเชเซเชฐ เชจเชฅเซ.
- ะัะปะธ ะะฐะฟะฟะตั ะผะตะฝัะตั ัะพััะพัะฝะธะต ัะตััััะฐ, ัะพ ัะตัััั ะพัะฟัะฐะฒะปัะตั ัะฒะตะดะพะผะปะตะฝะธั ะฒัะตะผ ะฟะพะดะฟะธัะฐะฝะฝัะผ ะฝะฐ ะฝะตะณะพ ัะตััััะฐะผ.
- เชเซ เชเซเช เชธเชเชธเชพเชงเชจ เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชคเซ เชคเซเชจเชพ เชชเชฐ เชธเชฌเซเชธเซเชเซเชฐเชพเชเชฌ เชเชฐเซเชฒ เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเซเชเชจเชพเช เชฎเซเชเชฒเซ เชเซ.
เช เชจเชฟเชถเซเชเชฟเชค เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชนเซเชจเซเชกเชฒ เชเชฐเชตเซเช
ะะฐะบ ะฟัะฐะฒะธะปะพ, ะตัะปะธ ั ะบะฐะบะพะณะพ-ัะพ ะฟะฐัะฐะผะตััะฐ ัะตััััะฐ ะฝะตั ะทะฝะฐัะตะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั ะธ ััะพั ะฟะฐัะฐะผะตัั ะฝะต ัะบะฐะทะฐะฝ ะฒ ะผะฐะฝะธัะตััะต, ัะพ ะะฐะฟะฟะตั ะฝะต ะฑัะดะตั ะผะตะฝััั ััะพ ัะฒะพะนััะฒะพ ั ัะพะพัะฒะตัััะฒัััะตะณะพ ัะตััััะฐ ะฝะฐ ะฝะพะดะต. ะะฐะฟัะธะผะตั, ะตัะปะธ ั ัะตััััะฐ ัะธะฟะฐ เชซเชพเชเชฒ เชชเชฐเชฟเชฎเชพเชฃ เชเชฒเซเชฒเซเชเชฟเชค เชจเชฅเซ owner
, เชชเชเซ เชชเชชเซเช เชธเชเชฌเชเชงเชฟเชค เชซเชพเชเชฒเชจเชพ เชฎเชพเชฒเชฟเชเชจเซ เชฌเชฆเชฒเชถเซ เชจเชนเซเช.
เชตเชฐเซเชเซ, เชเชฒเซ เช เชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชเชจเซ เชชเชฐเชฟเชเชฏ
เชงเชพเชฐเซ เชเซ เชเชชเชฃเซ เชชเชพเชธเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชธเชฎเชพเชจ เชญเชพเช เชนเซเชฏ เชคเซเชตเชพ เชเชฃเชพ เชเชพเชเช เซ เชเซ, เชชเชฐเชเชคเซ เชคเซเชฎเชพเช เชคเชซเชพเชตเชคเซ เชชเชฃ เชเซ - เช
เชจเซเชฏเชฅเชพ เชเชชเชฃเซ เชคเซ เชฌเชงเชพเชจเซ เชเช เชฌเซเชฒเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซ เชถเชเซเช. node {}
. เช
เชฒเชฌเชคเซเชค, เชคเชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเชพ เชธเชฎเชพเชจ เชญเชพเชเซเชจเซ เชจเชเชฒ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เช เชเช เชเชฐเชพเชฌ เชเชเซเชฒ เชเซ - เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชตเชงเซ เชเซ, เช
เชจเซ เชเซ เชคเชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชญเชพเช เชฌเชฆเชฒเซ เชเซ, เชคเซ เชคเชฎเชพเชฐเซ เชเชฃเซ เชเชเซเชฏเชพเช เชธเชฎเชพเชจ เชตเชธเซเชคเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเซ เชชเชกเชถเซ. เชคเซ เช เชธเชฎเชฏเซ, เชญเซเชฒ เชเชฐเชตเซ เชธเชฐเชณ เชเซ, เช
เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, DRY (เชคเชฎเชพเชฐเซ เชเชพเชคเชจเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเชถเซ เชจเชนเซเช) เชธเชฟเชฆเซเชงเชพเชเชคเชจเซ เชถเซเชง เชเช เชเชพเชฐเชฃเชธเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ.
เช เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชเชตเซ เชกเชฟเชเชพเชเชจ เชเซ เชตเชฐเซเช.
เชตเชฐเซเชเซ
เชชเซเชฐเชฅเชฎ เชตเชฐเซเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชตเชฐเซเชฃเชจ เชชเซเชคเซ เชเซเชฏเชพเชเชฏ เชเซเช เชธเชเชธเชพเชงเชจเซ เชเชฎเซเชฐเชคเซเช เชจเชฅเซ. เชตเชฐเซเช เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ:
# ะะฟะธัะฐะฝะธะต ะบะปะฐััะฐ ะฝะฐัะธะฝะฐะตััั ั ะบะปััะตะฒะพะณะพ ัะปะพะฒะฐ class ะธ ะตะณะพ ะฝะฐะทะฒะฐะฝะธั.
# ะะฐะปััะต ะธะดัั ัะตะปะพ ะบะปะฐััะฐ ะฒ ัะธะณััะฝัั
ัะบะพะฑะบะฐั
.
class example_class {
...
}
เช เชชเชเซ เชตเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ:
# ะฟะตัะฒัะน ะฒะฐัะธะฐะฝั ะธัะฟะพะปัะทะพะฒะฐะฝะธั โ ะฒ ััะธะปะต ัะตััััะฐ ั ัะธะฟะพะผ class
class { 'example_class': }
# ะฒัะพัะพะน ะฒะฐัะธะฐะฝั ะธัะฟะพะปัะทะพะฒะฐะฝะธั โ ั ะฟะพะผะพััั ััะฝะบัะธะธ include
include example_class
# ะฟัะพ ะพัะปะธัะธะต ััะธั
ะดะฒัั
ะฒะฐัะธะฐะฝัะพะฒ ะฑัะดะตั ัะฐััะบะฐะทะฐะฝะพ ะดะฐะปััะต
ะัะธะผะตั ะธะท ะฟัะตะดัะดััะตะน ะทะฐะดะฐัะธ โ ะฒัะฝะตัะตะผ ัััะฐะฝะพะฒะบั ะธ ะฝะฐัััะพะนะบั nginx ะฒ ะบะปะฐัั:
class nginx_example {
package { 'nginx':
ensure => installed,
}
-> file { '/etc/nginx':
ensure => directory,
source => 'puppet:///modules/example/nginx-conf',
recure => true,
purge => true,
force => true,
}
~> service { 'nginx':
ensure => running,
enable => true,
}
}
node 'server2.testdomain' {
include nginx_example
}
เชเชฒเซ
เช เชเชพเชเชจเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเชเชฅเซ เชตเชฐเซเช เชฌเชฟเชฒเชเซเชฒ เชฒเชตเชเซเช เชจเชฅเซ เชเชพเชฐเชฃ เชเซ เชคเซ เชนเชเชฎเซเชถเชพ เชธเชฎเชพเชจ nginx เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฒเชพเชตเซ เชเซ. เชเชพเชฒเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชตเซเชฐเซเชเชฌเชฒเชจเซ เชฎเชพเชฐเซเช เชฌเชจเชพเชตเซเช, เชชเชเซ เช เชตเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเซเชเชชเชฃ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเชพเชฅเซ nginx เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ.
เชคเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ
เชงเซเชฏเชพเชจ เชเชชเซ: เชชเชชเซเชเชฎเชพเช เชเชฒเซ เช เชชเชฐเชฟเชตเชฐเซเชคเชจเชถเซเชฒ เชเซ!
เชตเชงเซเชฎเชพเช, เชตเซเชฐเซเชเชฌเชฒ เชเชพเชนเซเชฐ เชเชฐเซเชฏเชพ เชชเชเซ เช เชคเซเชจเซ เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเชพเชฏ เชเซ, เช
เชจเซเชฏเชฅเชพ เชตเซเชฐเซเชเชฌเชฒเชจเซเช เชฎเซเชฒเซเชฏ undef
.
เชเชฒเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
# ัะพะทะดะฐะฝะธะต ะฟะตัะตะผะตะฝะฝัั
$variable = 'value'
$var2 = 1
$var3 = true
$var4 = undef
# ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะฟะตัะตะผะตะฝะฝัั
$var5 = $var6
file { '/tmp/text': content => $variable }
# ะธะฝัะตัะฟะพะปััะธั ะฟะตัะตะผะตะฝะฝัั
โ ัะฐัะบัััะธะต ะทะฝะฐัะตะฝะธั ะฟะตัะตะผะตะฝะฝัั
ะฒ ัััะพะบะฐั
. ะ ะฐะฑะพัะฐะตั ัะพะปัะบะพ ะฒ ะดะฒะพะนะฝัั
ะบะฐะฒััะบะฐั
!
$var6 = "Variable with name variable has value ${variable}"
เชชเชชเซเช เชชเชพเชธเซ เชเซ เชจเซเชฎเชธเซเชชเซเชธ, เช เชจเซ เชเชฒเซ, เชคเซ เชฎเซเชเชฌ, เชงเชฐเชพเชตเซ เชเซ เชฆเซเชถเซเชฏเชคเชพ เชตเชฟเชธเซเชคเชพเชฐ: เชธเชฎเชพเชจ เชจเชพเชฎ เชธเชพเชฅเซเชจเซเช เชเชฒ เช เชฒเช เช เชฒเช เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเชฒเชจเซ เชเชฟเชเชฎเชค เชเชเซเชฒเชคเซ เชตเชเชคเซ, เชเชฒ เชตเชฐเซเชคเชฎเชพเชจ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชถเซเชงเชพเชฏ เชเซ, เชชเชเซ เชเชจเซเชเซเชฒเซเชเชฟเชเช เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช, เชตเชเซเชฐเซ.
เชจเซเชฎเชธเซเชชเซเชธ เชเชฆเชพเชนเชฐเชฃเซ:
- เชตเซเชถเซเชตเชฟเช - เชตเชฐเซเช เช เชฅเชตเชพ เชจเซเชก เชตเชฐเซเชฃเชจเชจเซ เชฌเชนเชพเชฐเชจเชพ เชเชฒเซ เชคเซเชฏเชพเช เชเชพเชฏ เชเซ;
- ะฟัะพัััะฐะฝััะฒะพ ะธะผัะฝ ะฝะพะดั ะฒ ะพะฟะธัะฐะฝะธะธ ะฝะพะดั;
- เชตเชฐเซเช เชตเชฐเซเชฃเชจเชฎเชพเช เชตเชฐเซเช เชจเชพเชฎเชจเซ เชเชเซเชฏเชพ.
เชเชฒเชจเซ เชเชเซเชธเซเชธ เชเชฐเชคเซ เชตเชเชคเซ เช เชธเซเชชเชทเซเชเชคเชพเชจเซ เชเชพเชณเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชเชฒเชจเชพ เชจเชพเชฎเชฎเชพเช เชจเซเชฎเชธเซเชชเซเชธเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชถเชเซ เชเซ:
# ะฟะตัะตะผะตะฝะฝะฐั ะฑะตะท ะฟัะพัััะฐะฝััะฒะฐ ะธะผัะฝ
$var
# ะฟะตัะตะผะตะฝะฝะฐั ะฒ ะณะปะพะฑะฐะปัะฝะพะผ ะฟัะพัััะฐะฝััะฒะต ะธะผัะฝ
$::var
# ะฟะตัะตะผะตะฝะฝะฐั ะฒ ะฟัะพัััะฐะฝััะฒะต ะธะผัะฝ ะบะปะฐััะฐ
$classname::var
$::classname::var
เชเชพเชฒเซ เชธเชเชฎเชค เชฅเชเช เชเซ nginx เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชฎเชพเชฐเซเช เชเชฒเชฎเชพเช เชฐเชนเซเชฒเซ เชเซ $nginx_conf_source
. ะขะพะณะดะฐ ะบะปะฐัั ะฑัะดะตั ะฒัะณะปัะดะตัั ัะปะตะดัััะธะผ ะพะฑัะฐะทะพะผ:
class nginx_example {
package { 'nginx':
ensure => installed,
}
-> file { '/etc/nginx':
ensure => directory,
source => $nginx_conf_source, # ะทะดะตัั ะธัะฟะพะปัะทัะตะผ ะฟะตัะตะผะตะฝะฝัั ะฒะผะตััะพ ัะธะบัะธัะพะฒะฐะฝะฝะพะน ัััะพะบะธ
recure => true,
purge => true,
force => true,
}
~> service { 'nginx':
ensure => running,
enable => true,
}
}
node 'server2.testdomain' {
$nginx_conf_source = 'puppet:///modules/example/nginx-conf'
include nginx_example
}
เชเซ เชเซ, เชเชชเซเชฒ เชเชฆเชพเชนเชฐเชฃ เชเชฐเชพเชฌ เชเซ เชเชพเชฐเชฃ เชเซ เชคเซเชฏเชพเช เช เชฎเซเช โเชเซเชชเซเชค เชเซเชเชพเชจโ เชเซ เชเซ เชตเชฐเซเชเชจเซ เช เชเชฆเชฐ เชเซเชฏเชพเชเช เชเชตเชพ เช เชจเซ เชเชตเชพ เชจเชพเชฎ เชธเชพเชฅเซเชจเซเช เชเชฒ เชตเชชเชฐเชพเชฏ เชเซ. เช เชเซเชเชพเชจเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฌเชจเชพเชตเชตเซเช เชตเชงเซ เชฏเซเชเซเชฏ เชเซ - เชตเชฐเซเชเซเชฎเชพเช เชชเชฐเชฟเชฎเชพเชฃเซ เชนเซเช เชถเชเซ เชเซ.
เชตเชฐเซเช เชชเชฐเชฟเชฎเชพเชฃเซ เชเซเชฒเชพเชธ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชตเซเชฐเซเชเชฌเชฒ เชเซ, เชคเซ เชเซเชฒเชพเชธ เชนเซเชกเชฐเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเซ เช เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเซเชฒเชพเชธ เชฌเซเชกเซเชฎเชพเช เชฐเซเชเซเชฏเซเชฒเชฐ เชตเซเชฐเซเชเชฌเชฒเซเชธเชจเซ เชเซเชฎ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชตเชเชคเซ เชชเชฐเชฟเชฎเชพเชฃ เชฎเซเชฒเซเชฏเซ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชชเชฐเชฟเชฎเชพเชฃ เชกเชฟเชซเซเชฒเซเช เชฎเซเชฒเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเซ เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชกเชฟเชซเซเชฒเซเช เชฎเซเชฒเซเชฏ เชจ เชนเซเชฏ เช เชจเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเซ เชตเชเชคเซ เชฎเซเชฒเซเชฏ เชธเซเช เชจ เชนเซเชฏ, เชคเซ เชคเซ เชธเชเชเชฒเชจ เชญเซเชฒเชจเซเช เชเชพเชฐเชฃ เชฌเชจเชถเซ.
เชเชพเชฒเซ เชเชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเชเชฅเซ เชตเชฐเซเชเชจเซ เชชเชฐเชฟเชฎเชพเชฃเชฟเชค เชเชฐเซเช เช
เชจเซ เชฌเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชเชฎเซเชฐเซเช: เชชเซเชฐเชฅเชฎ, เชเชฐเซเชฐเซ, เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชฎเชพเชฐเซเช เชเซ, เช
เชจเซ เชฌเซเชเซเช, เชตเซเชเชฒเซเชชเชฟเช, nginx เชธเชพเชฅเซเชจเชพ เชชเซเชเซเชเชจเซเช เชจเชพเชฎ เชเซ (เชกเซเชฌเชฟเชฏเชจเชฎเชพเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเซเชฏเชพเช เชชเซเชเซเชเซ เชเซ. nginx
, nginx-light
, nginx-full
).
# ะฟะตัะตะผะตะฝะฝัะต ะพะฟะธััะฒะฐัััั ััะฐะทั ะฟะพัะปะต ะธะผะตะฝะธ ะบะปะฐััะฐ ะฒ ะบััะณะปัั
ัะบะพะฑะบะฐั
class nginx_example (
$conf_source,
$package_name = 'nginx-light', # ะฟะฐัะฐะผะตัั ัะพ ะทะฝะฐัะตะฝะธะตะผ ะฟะพ ัะผะพะปัะฐะฝะธั
) {
package { $package_name:
ensure => installed,
}
-> file { '/etc/nginx':
ensure => directory,
source => $conf_source,
recurse => true,
purge => true,
force => true,
}
~> service { 'nginx':
ensure => running,
enable => true,
}
}
node 'server2.testdomain' {
# ะตัะปะธ ะผั ั
ะพัะธะผ ะทะฐะดะฐัั ะฟะฐัะฐะผะตััั ะบะปะฐััะฐ, ััะฝะบัะธั include ะฝะต ะฟะพะดะพะนะดัั* โ ะฝัะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั resource-style declaration
# *ะฝะฐ ัะฐะผะพะผ ะดะตะปะต ะฟะพะดะพะนะดัั, ะฝะพ ะฟัะพ ััะพ ัะฐััะบะฐะถั ะฒ ัะปะตะดัััะตะน ัะตัะธะธ. ะะปััะตะฒะพะต ัะปะพะฒะพ "Hiera".
class { 'nginx_example':
conf_source => 'puppet:///modules/example/nginx-conf', # ะทะฐะดะฐัะผ ะฟะฐัะฐะผะตััั ะบะปะฐััะฐ ัะพัะฝะพ ัะฐะบ ะถะต, ะบะฐะบ ะฟะฐัะฐะผะตััั ะดะปั ะดััะณะธั
ัะตััััะพะฒ
}
}
เชชเชชเซเชเชฎเชพเช เชตเซเชฐเซเชเชฌเชฒ เชเชพเชเชช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชตเซเช
ะขะธะฟ ะฟะธัะตััั ะฝะตะฟะพััะตะดััะฒะตะฝะฝะพ ะฟะตัะตะด ะธะผะตะฝะตะผ ะฟะฐัะฐะผะตััะฐ:
class example (
String $param1,
Integer $param2,
Array $param3,
Hash $param4,
Hash[String, String] $param5,
) {
...
}
เชตเชฐเซเชเซ: เชตเชฐเซเชเชจเชพเชฎ เชตเชฟ เชตเชฐเซเช{'classname':} เชถเชพเชฎเซเชฒ เชเชฐเซ
เชฆเชฐเซเช เชตเชฐเซเช เชเช เชชเซเชฐเชเชพเชฐเชจเซเช เชธเชพเชงเชจ เชเซ เชตเชฐเซเช. ะะฐะบ ะธ ะฒ ัะปััะฐะต ั ะปัะฑัะผะธ ะดััะณะธะผะธ ัะธะฟะฐะผะธ ัะตััััะพะฒ, ะฝะฐ ะพะดะฝะพะน ะฝะพะดะต ะฝะต ะผะพะถะตั ะฟัะธัััััะฒะพะฒะฐัั ะดะฒะฐ ัะบะทะตะผะฟะปััะฐ ะพะดะฝะพะณะพ ะธ ัะพะณะพ ะถะต ะบะปะฐััะฐ.
ะัะปะธ ะฟะพะฟัะพะฑะพะฒะฐัั ะดะพะฑะฐะฒะธัั ะบะปะฐัั ะฝะฐ ะพะดะฝั ะธ ัั ะถะต ะฝะพะดั ะดะฒะฐ ัะฐะทะฐ ั ะฟะพะผะพััั class { 'classname':}
(เชเซเช เชคเชซเชพเชตเชค เชจเชฅเซ, เช
เชฒเช เช
เชฅเชตเชพ เชธเชฎเชพเชจ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเชพเชฅเซ), เชธเชเชเชฒเชจ เชญเซเชฒ เชนเชถเซ. เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เชธเชเชธเชพเชงเชจ เชถเซเชฒเซเชฎเชพเช เชตเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชคเซ เชคเชฎเซ เชคเชฐเชค เช เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชคเซเชจเชพ เชคเชฎเชพเชฎ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเซเชชเชทเซเชเชชเชฃเซ เชธเซเช เชเชฐเซ เชถเชเซ เชเซ.
เชเซ เชเซ, เชเซ เชคเชฎเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ include
, เชชเชเซ เชตเชฐเซเช เชเชเซเชเชฟเชค เชคเชฐเซเชเซ เชเชฃเซ เชตเชเชค เชเชฎเซเชฐเซ เชถเชเชพเชฏ เชเซ. เชนเชเซเชเชค เช เชเซ เชเซ include
เช เชเช เชเชเชกเชฎเซเชชเซเชเซเชจเซเช เชซเชเชเซเชถเชจ เชเซ เชเซ เชคเชชเชพเชธเซ เชเซ เชเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเซเชฒเชพเชธ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ เชเซ เชจเชนเซเช. เชเซ เชตเชฐเซเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชจเชฅเซ, เชคเซ เชคเซ เชคเซเชจเซ เชเชฎเซเชฐเซ เชเซ, เช
เชจเซ เชเซ เชคเซ เชชเชนเซเชฒเซเชฅเซ เช เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ, เชคเซ เชคเซ เชเชเช เชเชฐเชคเซเช เชจเชฅเซ. เชชเชฐเชเชคเซ เชเชชเชฏเซเชเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช include
เชคเชฎเซ เชตเชฐเซเช เชเซเชทเชฃเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชตเชฐเซเช เชชเชฐเชฟเชฎเชพเชฃเซ เชธเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ - เชฌเชงเชพ เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชฌเชพเชนเซเชฏ เชกเซเชเชพ เชธเซเชคเซเชฐเซเชค - Hiera เช
เชฅเชตเชพ ENC เชฎเชพเช เชธเซเช เชนเซเชตเชพ เชเซเชเช. เช
เชฎเซ เชนเชตเซ เชชเชเซเชจเชพ เชฒเซเชเชฎเชพเช เชคเซเชฎเชจเชพ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเชถเซเช.
เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชเซ
เช เชเชพเชเชจเชพ เชฌเซเชฒเซเชเชฎเชพเช เชเชฃเชพเชตเซเชฏเชพ เชฎเซเชเชฌ, เชเช เช เชตเชฐเซเช เชจเซเชก เชชเชฐ เชเช เชเชฐเชคเชพ เชตเชงเซ เชตเชเชค เชนเชพเชเชฐ เชฐเชนเซ เชถเชเชคเซ เชจเชฅเซ. เชเซ เชเซ, เชเซเชเชฒเชพเช เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชคเชฎเชพเชฐเซ เชธเชฎเชพเชจ เชจเซเชก เชชเชฐ เชตเชฟเชตเชฟเชง เชชเชฐเชฟเชฎเชพเชฃเซ เชธเชพเชฅเซ เชเซเชกเชจเชพ เชธเชฎเชพเชจ เชฌเซเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชเซเชทเชฎ เชฌเชจเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชคเซเชจเชพ เชชเซเชคเชพเชจเชพ เชชเซเชฐเชเชพเชฐเชจเชพ เชธเชเชธเชพเชงเชจเชจเซ เชเชฐเซเชฐ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, PHP เชฎเซเชกเซเชฏเซเชฒ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ Avito เชฎเชพเช เชจเซเชเซ เชฎเซเชเชฌ เชเชฐเซเช เชเซเช:
- เช เชฎเซเชกเซเชฏเซเชฒ เชธเชพเชฅเซ เชชเซเชเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ.
- เชเชพเชฒเซ เช เชฎเซเชกเซเชฏเซเชฒ เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชฌเชจเชพเชตเซเช.
- เช เชฎเซ php-fpm เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพ เชฎเชพเชเซ เชธเชฟเชฎเชฒเชฟเชเช เชฌเชจเชพเชตเซเช เชเซเช.
- เช เชฎเซ php cli เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพ เชฎเชพเชเซ เชธเชฟเชฎเชฒเชฟเชเช เชฌเชจเชพเชตเซเช เชเซเช.
เชเชตเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชเซเชฎ เชเซ เชกเชฟเชเชพเชเชจ $title
, เชเซเชฏเชพเช เชธเชเชธเชพเชงเชจเชจเซเช เชจเชพเชฎ เชเชพเชนเซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชเชพเชฏ เชเซ. เชเซเชฎ เชตเชฐเซเชเซเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชชเซเชฐเชฅเชฎ เชตเซเชฏเชพเชเซเชฏเชพ เชตเชฐเซเชฃเชตเชตเซ เชเชตเชถเซเชฏเช เชเซ, เชคเซ เชชเชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ.
PHP เชฎเชพเชเซ เชฎเซเชกเซเชฏเซเชฒ เชธเชพเชฅเซเชจเซเช เชธเชฐเชณ เชเชฆเชพเชนเชฐเชฃ:
define php74::module (
$php_module_name = $title,
$php_package_name = "php7.4-${title}",
$version = 'installed',
$priority = '20',
$data = "extension=${title}.son",
$php_module_path = '/etc/php/7.4/mods-available',
) {
package { $php_package_name:
ensure => $version,
install_options => ['-o', 'DPkg::NoTriggers=true'], # ััะธะณะณะตัั ะดะตะฑะธะฐะฝะพะฒัะบะธั
php-ะฟะฐะบะตัะพะฒ ัะฐะผะธ ัะพะทะดะฐัั ัะธะผะปะธะฝะบะธ ะธ ะฟะตัะตะทะฐะฟััะบะฐัั ัะตัะฒะธั php-fpm - ะฝะฐะผ ััะพ ะฝะต ะฝัะถะฝะพ, ัะฐะบ ะบะฐะบ ะธ ัะธะผะปะธะฝะบะฐะผะธ, ะธ ัะตัะฒะธัะพะผ ะผั ัะฟัะฐะฒะปัะตะผ ั ะฟะพะผะพััั Puppet
}
-> file { "${php_module_path}/${php_module_name}.ini":
ensure => $ensure,
content => $data,
}
file { "/etc/php/7.4/cli/conf.d/${priority}-${php_module_name}.ini":
ensure => link,
target => "${php_module_path}/${php_module_name}.ini",
}
file { "/etc/php/7.4/fpm/conf.d/${priority}-${php_module_name}.ini":
ensure => link,
target => "${php_module_path}/${php_module_name}.ini",
}
}
node server3.testdomain {
php74::module { 'sqlite3': }
php74::module { 'amqp': php_package_name => 'php-amqp' }
php74::module { 'msgpack': priority => '10' }
}
เชกเซเชชเซเชฒเชฟเชเซเช เชเซเชทเชฃเชพ เชญเซเชฒเชจเซ เชชเชเชกเชตเชพเชจเซ เชธเซเชฅเซ เชธเชนเซเชฒเซ เชฐเชธเซเชคเซ เชกเชฟเชซเชพเชเชจเชฎเชพเช เชเซ. เชเชตเซเช เชฅเชพเชฏ เชเซ เชเซ เชเซเช เชตเซเชฏเชพเชเซเชฏเชพเชฎเชพเช เชธเชคเชค เชจเชพเชฎ เชธเชพเชฅเซ เชธเชเชธเชพเชงเชจ เชนเซเชฏ, เช เชจเซ เช เชฎเซเช เชจเซเชก เชชเชฐ เช เชตเซเชฏเชพเชเซเชฏเชพเชจเชพ เชฌเซ เช เชฅเชตเชพ เชตเชงเซ เชเชฆเชพเชนเชฐเชฃเซ เชนเซเชฏ.
เชเชจเชพเชฅเซ เชคเชฎเชพเชฐเซ เชเชพเชคเชจเซ เชธเซเชฐเชเซเชทเชฟเชค เชเชฐเชตเซ เชธเชฐเชณ เชเซ: เชตเซเชฏเชพเชเซเชฏเชพเชจเซ เช
เชเชฆเชฐเชจเชพ เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชคเซเชจเชพ เชเชงเชพเชฐเซ เชจเชพเชฎ เชนเซเชตเซเช เชเชตเชถเซเชฏเช เชเซ $title
. เชเช เชตเชฟเชเชฒเซเชช เช เชธเชเชธเชพเชงเชจเซเชจเซ เช
เชฆเชฎเซเชฏ เชเชฎเซเชฐเซ เชเซ; เชธเซเชฅเซ เชธเชฐเชณ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเซเชฏเชพเชเซเชฏเชพเชจเชพ เชคเชฎเชพเชฎ เชเชฆเชพเชนเชฐเชฃเซ เชฎเชพเชเซ เชธเชพเชฎเชพเชจเซเชฏ เชธเชเชธเชพเชงเชจเซเชจเซ เชเช เช
เชฒเช เชตเชฐเซเชเชฎเชพเช เชเชธเซเชกเชตเชพ เช
เชจเซ เช เชตเชฐเซเชเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฎเชพเช เชถเชพเชฎเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซ เชชเซเชฐเชคเซเช เชเซ - เชเชพเชฐเซเชฏ include
ะธะดะตะผะฟะพัะตะฝัะฝะฐ.
เชธเชเชธเชพเชงเชจเซ เชเชฎเซเชฐเชคเซ เชตเชเชคเซ เชฌเซเชฆเซเชงเชฟเชฎเชคเซเชคเชพ เชนเชพเชเชธเชฒ เชเชฐเชตเชพเชจเซ เช
เชจเซเชฏ เชฐเซเชคเซ เชเซ, เชเชเชฒเซ เชเซ เชเชพเชฐเซเชฏเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ defined
ะธ ensure_resources
, เชชเชฐเชเชคเซ เชนเซเช เชคเชฎเชจเซ เชคเซเชจเชพ เชตเชฟเชถเซ เชเชเชพเชฎเซ เชเชชเชฟเชธเซเชกเชฎเชพเช เชเชนเซเชถ.
เชตเชฐเซเชเซ เช เชจเซ เชตเซเชฏเชพเชเซเชฏเชพเช เชฎเชพเชเซ เชจเชฟเชฐเซเชญเชฐเชคเชพ เช เชจเซ เชธเซเชเชจเชพเช
เชตเชฐเซเชเซ เช เชจเซ เชตเซเชฏเชพเชเซเชฏเชพเช เชจเชฟเชฐเซเชญเชฐเชคเชพ เช เชจเซ เชธเซเชเชจเชพเชเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชจเซเชเซเชจเชพ เชจเชฟเชฏเชฎเซ เชเชฎเซเชฐเซ เชเซ:
- เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชชเชฐ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชคเชจเชพ เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซ เชชเชฐ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชฎเซเชฐเซ เชเซ;
- เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เช เชตเชฒเชเชฌเชจ เชคเชฎเชพเชฎ เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชธเชเชธเชพเชงเชจเซเชฎเชพเช เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชฎเซเชฐเซ เชเซ;
- เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชธเซเชเชจเชพ เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเซเชเชฟเชค เชเชฐเซ เชเซ;
- เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชตเชฐเซเช/เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเชฌเซเชธเซเชเซเชฐเชพเชเชฌ เชเชฐเซ เชเซ.
เชถเชฐเชคเซ เชจเชฟเชตเซเชฆเชจเซ เช เชจเซ เชชเชธเชเชฆเชเซเชเชพเชฐเซ
if
เชคเซ เช เชนเซเช เชธเชฐเชณ เชเซ:
if ะะซะ ะะะะะะ1 {
...
} elsif ะะซะ ะะะะะะ2 {
...
} else {
...
}
เชธเชฟเชตเชพเชฏ
เชเซเชฏเชพเช เชธเซเชงเซ เชเช if เชตเชฟเชชเชฐเซเชค เชนเซเชฏ: เชเซ เช เชญเชฟเชตเซเชฏเชเซเชคเชฟ เชเซเชเซ เชนเซเชฏ เชคเซ เชเซเชกเชจเซ เชฌเซเชฒเซเช เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
unless ะะซะ ะะะะะะ {
...
}
เชเซเชธ
เช เชนเซเช เชชเชฃ เชเชเช เชเชเชฟเชฒ เชจเชฅเซ. เชคเชฎเซ เชฎเซเชฒเซเชฏเซ เชคเชฐเซเชเซ เชจเชฟเชฏเชฎเชฟเชค เชฎเซเชฒเซเชฏเซ (เชถเชฌเซเชฆเชฎเชพเชณเชพเช, เชธเชเชเซเชฏเชพเช, เชตเชเซเชฐเซ), เชจเชฟเชฏเชฎเชฟเชค เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเช เช เชจเซ เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ.
case ะะซะ ะะะะะะ {
ะะะะงะะะะ1: { ... }
ะะะะงะะะะ2, ะะะะงะะะะ3: { ... }
default: { ... }
}
เชชเชธเชเชฆเชเซเชเชพเชฐเซ
เชชเชธเชเชฆเชเซเชเชพเชฐ เช เชญเชพเชทเชพเชจเซ เชธเชฎเชพเชจ เชฐเชเชจเชพ เชเซ case
, เชชเชฐเชเชคเซ เชเซเชกเชจเชพ เชฌเซเชฒเซเชเชจเซ เชเชฒเชพเชตเชตเชพเชจเซ เชฌเชฆเชฒเซ, เชคเซ เชฎเซเชฒเซเชฏ เชชเชฐเชค เชเชฐเซ เชเซ.
$var = $othervar ? { 'val1' => 1, 'val2' => 2, default => 3 }
เชฎเซเชกเซเชฏเซเชฒเซ
เชเซเชฏเชพเชฐเซ เชเซเช เชตเชฃเซ เชจเชพเชจเซ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชคเซเชจเซ เชธเชฐเชณเชคเชพเชฅเซ เชเช เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชฐเชพเชเซ เชถเชเชพเชฏ เชเซ. เชชเชฐเชเชคเซ เชเชชเชฃเซ เชเซเชเชฒเชพ เชตเชงเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซเช เชเซเช, เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชเซเชเชฒเชพ เชตเชงเซ เชตเชฐเซเชเซ เช เชจเซ เชเชพเชเช เซ เชเซ, เชคเซ เชตเชงเซ เชเซ เช เชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชฎเชพเช เช เชธเซเชตเชฟเชงเชพเชเชจเช เชฌเชจเซ เชเซ.
เชตเชงเซเชฎเชพเช, เชเซเชกเชจเชพ เชชเซเชจเชเชเชชเชฏเซเชเชจเซ เชธเชฎเชธเซเชฏเชพ เชเซ - เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฎ เชเซเชก เชเช เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เช เชเซเชกเชจเซ เช เชจเซเชฏ เชฒเซเชเซ เชธเชพเชฅเซ เชถเซเชฐ เชเชฐเชตเซ เชฎเซเชถเซเชเซเชฒ เชเซ. เช เชฌเซ เชธเชฎเชธเซเชฏเชพเช เชเชเซเชฒเชตเชพ เชฎเชพเชเซ, เชชเชชเซเช เชชเชพเชธเซ เชฎเซเชกเซเชฏเซเชฒเซเชธ เชจเชพเชฎเชจเซ เชเชจเซเชเชฟเชเซ เชเซ.
เชฎเซเชกเซเชฏเซเชฒเซ - เช เชเช เช เชฒเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซเชฒเชพ เชตเชฐเซเชเซ, เชตเซเชฏเชพเชเซเชฏเชพเช เช เชจเซ เช เชจเซเชฏ เชชเชชเซเช เชเชจเซเชเชฟเชเซเชจเชพ เชธเซเช เชเซ. เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชฎเซเชกเซเชฏเซเชฒ เช เชชเชชเซเช เชฒเซเชเชฟเชเชจเซ เชธเซเชตเชคเชเชคเซเชฐ เชญเชพเช เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, nginx เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชฎเซเชกเซเชฏเซเชฒ เชนเซเช เชถเชเซ เชเซ, เช เชจเซ เชคเซเชฎเชพเช nginx เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชถเซเช เช เชจเซ เชฎเชพเชคเซเชฐ เชถเซเช เชเชฐเซเชฐเซ เชเซ เชคเซ เช เชนเชถเซ, เช เชฅเชตเชพ PHP เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเซเชกเซเชฏเซเชฒ เชนเซเช เชถเชเซ เชเซ, เชตเชเซเชฐเซ.
เชฎเซเชกเซเชฏเซเชฒเซ เชตเชฐเซเชเชจ เชเชฐเซเชฒ เชเซ, เช
เชจเซ เชเชเชฌเซเชเชพ เชชเชฐ เชฎเซเชกเซเชฏเซเชฒเซเชจเซ เช
เชตเชฒเชเชฌเชจ เชชเชฃ เชธเชชเซเชฐเซเชเซเชก เชเซ. เชฎเซเชกเซเชฏเซเชฒเซเชจเซ เชเซเชฒเซเชฒเซ เชฐเซเชชเซเชเซเชเชฐเซ เชเซ -
เชชเชชเซเช เชธเชฐเซเชตเชฐ เชชเชฐ, เชฎเซเชกเซเชฏเซเชฒเซ เชฐเซเช เชกเชพเชฏเชฐเซเชเซเชเชฐเซเชจเชพ เชฎเซเชกเซเชฏเซเชฒเซเชธ เชธเชฌเชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ. เชฆเชฐเซเช เชฎเซเชกเซเชฏเซเชฒเชจเซ เช เชเชฆเชฐ เชเช เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชกเชฟเชฐเซเชเซเชเชฐเซ เชธเซเชเซเชฎ เชนเซเชฏ เชเซ - เชฎเซเชจเชฟเชซเซเชธเซเช, เชซเชพเชเชฒเซ, เชเซเชฎเซเชชเชฒเซเชเซเชธ, เชฒเชฟเชฌ, เชตเชเซเชฐเซ.
เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชซเชพเชเชฒ เชธเซเชเซเชฐเชเซเชเชฐ
เชฎเซเชกเซเชฏเซเชฒเชจเชพ เชฐเซเชเชฎเชพเช เชตเชฐเซเชฃเชจเชพเชคเซเชฎเช เชจเชพเชฎเซ เชธเชพเชฅเซ เชจเซเชเซเชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชนเซเช เชถเชเซ เชเซ:
manifests
- เชคเซเชฎเชพเช เชฎเซเชจเชฟเชซเซเชธเซเชเซ เชเซfiles
- เชคเซเชฎเชพเช เชซเชพเชเชฒเซ เชเซtemplates
- เชคเซ เชจเชฎเซเชจเชพเช เชธเชฎเชพเชตเซ เชเซlib
- เชคเซเชฎเชพเช เชฐเซเชฌเซ เชเซเชก เชเซ
ะญัะพ ะฝะต ะฟะพะปะฝัะน ัะฟะธัะพะบ ะดะธัะตะบัะพัะธะน ะธ ัะฐะนะปะพะฒ, ะฝะพ ะดะปั ััะพะน ััะฐััะธ ะฟะพะบะฐ ะดะพััะฐัะพัะฝะพ.
เชธเชเชธเชพเชงเชจเซเชจเชพ เชจเชพเชฎ เช เชจเซ เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชซเชพเชเชฒเซเชจเชพ เชจเชพเชฎ
เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชธเชเชธเชพเชงเชจเซ (เชตเชฐเซเชเซ, เชตเซเชฏเชพเชเซเชฏเชพเช) เชจเซ เชคเชฎเชจเซ เชเชฎเซ เชคเซ เชจเชพเชฎ เชเชชเซ เชถเชเชพเชฏ เชจเชนเซเช. เชตเชงเซเชฎเชพเช, เชธเชเชธเชพเชงเชจเชจเชพ เชจเชพเชฎ เช เชจเซ เชซเชพเชเชฒเชจเชพ เชจเชพเชฎ เชตเชเซเชเซ เชธเซเชงเซ เชชเชคเซเชฐเชตเซเชฏเชตเชนเชพเชฐ เชเซ เชเซเชฎเชพเช เชชเชชเซเช เชคเซ เชธเชเชธเชพเชงเชจเชจเชพ เชตเชฐเซเชฃเชจ เชฎเชพเชเซ เชเซเชถเซ. เชเซ เชคเชฎเซ เชจเชพเชฎเชเชฐเชฃเชจเชพ เชจเชฟเชฏเชฎเซเชจเซเช เชเชฒเซเชฒเชเชเชจ เชเชฐเซ เชเซ, เชคเซ เชชเชชเซเช เชซเชเซเชค เชธเชเชธเชพเชงเชจ เชตเชฐเซเชฃเชจ เชถเซเชงเซ เชถเชเชถเซ เชจเชนเซเช, เช เชจเซ เชคเชฎเชจเซ เชธเชเชเชฒเชจ เชญเซเชฒ เชฎเชณเชถเซ.
เชจเชฟเชฏเชฎเซ เชธเชฐเชณ เชเซ:
- เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซ เชฎเซเชกเซเชฏเซเชฒ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชนเซเชตเชพ เชเซเชเช. เชเซ เชฎเซเชกเซเชฏเซเชฒ เชเชนเซเชตเชพเชฏ เชเซ
foo
, เชชเชเซ เชคเซเชฎเชพเชเชจเชพ เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซเช เชจเชพเชฎ เชนเซเชตเซเช เชเซเชเชfoo::<anything>
, เช เชฅเชตเชพ เชฎเชพเชคเซเชฐfoo
. - ะ ะตัััั ั ะฝะฐะทะฒะฐะฝะธะตะผ ะผะพะดัะปั ะดะพะปะถะตะฝ ะฑััั ะฒ ัะฐะนะปะต
init.pp
. - เช
เชจเซเชฏ เชธเชเชธเชพเชงเชจเซ เชฎเชพเชเซ, เชซเชพเชเชฒ เชจเชพเชฎเชเชฐเชฃ เชฏเซเชเชจเชพ เชจเซเชเซ เชฎเซเชเชฌ เชเซ:
- เชฎเซเชกเซเชฏเซเชฒ เชจเชพเชฎ เชธเชพเชฅเซเชจเซ เชเชชเชธเชฐเซเช เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ
- ะฒัะต ะดะฒะพะนะฝัะต ะดะฒะพะตัะพัะธั, ะตัะปะธ ะพะฝะธ ะตััั, ะทะฐะผะตะฝััััั ะฝะฐ ัะปะตัะธ
- เชเชเซเชธเซเชเซเชเชถเชจ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ
.pp
เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ เชฆเชฐเซเชถเชพเชตเซเชถ. เชงเชพเชฐเซ เชเซ เชนเซเช เชเช เชฎเซเชกเซเชฏเซเชฒ เชฒเชเซ เชฐเชนเซเชฏเซ เชเซเช nginx
. เชคเซเชฎเชพเช เชจเซเชเซเชจเชพ เชธเชเชธเชพเชงเชจเซ เชเซ:
- เชตเชฐเซเช
nginx
เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซinit.pp
; - เชตเชฐเซเช
nginx::service
เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซservice.pp
; - เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ
nginx::server
เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซserver.pp
; - เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ
nginx::server::location
เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซserver/location.pp
.
เชฆเชพเชเชฒเชพเช
ะะฐะฒะตัะฝัะบะฐ ะฒั ะธ ัะฐะผะธ ะทะฝะฐะตัะต, ััะพ ัะฐะบะพะต ัะฐะฑะปะพะฝั, ะฝะต ะฑัะดั ัะฐัะฟะธััะฒะฐัั ะทะดะตัั ะฟะพะดัะพะฑะฝะพ. ะะพ ะฝะฐ ะฒััะบะธะน ัะปััะฐะน ะพััะฐะฒะปั
เชเซเชฎเซเชชเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซ: เชซเชเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฎเซเชชเชฒเซเชเชจเซ เช
เชฐเซเชฅ เชตเชฟเชธเซเชคเซเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ template
, เชเซ เชจเชฎเซเชจเชพเชจเซ เชฎเชพเชฐเซเช เชชเชธเชพเชฐ เชเชฐเซ เชเซ. เชชเซเชฐเชเชพเชฐเชจเชพ เชธเชเชธเชพเชงเชจเซ เชฎเชพเชเซ เชซเชพเชเชฒ เชชเชฐเชฟเชฎเชพเชฃ เชธเชพเชฅเซ เชฎเชณเซเชจเซ เชตเชชเชฐเชพเชฏ เชเซ content
. ะะฐะฟัะธะผะตั, ัะฐะบ:
file { '/tmp/example': content => template('modulename/templatename.erb')
เชชเชพเชฅ เชเซเช <modulename>/<filename>
เชซเชพเชเชฒ เชธเซเชเชตเซ เชเซ <rootdir>/modules/<modulename>/templates/<filename>
.
เชตเชงเซเชฎเชพเช, เชคเซเชฏเชพเช เชเช เชเชพเชฐเซเชฏ เชเซ inline_template
โ เชคเซ เชเซเชฎเซเชชเชฒเซเช เชเซเชเซเชธเซเชเชจเซ เชเชจเชชเซเช เชคเชฐเซเชเซ เชฎเซเชณเชตเซ เชเซ, เชซเชพเชเชฒเชจเชพ เชจเชพเชฎเชจเซ เชจเชนเซเช.
เชจเชฎเซเชจเชพเชเชจเซ เช เชเชฆเชฐ, เชคเชฎเซ เชตเชฐเซเชคเชฎเชพเชจ เช เชตเชเชพเชถเชฎเชพเช เชคเชฎเชพเชฎ เชชเชชเซเช เชเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ.
เชชเชชเซเช ERB เช เชจเซ EPP เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชเซเชฎเซเชชเชฒเซเชเซเชธเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ:
ERB เชตเชฟเชถเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช
เชจเชฟเชฏเชเชคเซเชฐเชฃ เชฎเชพเชณเชเชพเช:
<%= ะะซะ ะะะะะะ %>
- เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชจเซเช เชฎเซเชฒเซเชฏ เชฆเชพเชเชฒ เชเชฐเซ<% ะะซะ ะะะะะะ %>
- เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชเชฃเชคเชฐเซ เชเชฐเซ (เชคเซ เชฆเชพเชเชฒ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ). เชถเชฐเชคเซ เชจเชฟเชตเซเชฆเชจเซ (เชเซ) เช เชจเซ เชฒเซเชชเซเชธ (เชฆเชฐเซเช) เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เช เชนเซเช เชเชพเชฏ เชเซ.<%# ะะะะะะะขะะ ะะ %>
ERB เชฎเชพเช เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเช เชฐเซเชฌเซเชฎเชพเช เชฒเชเชพเชฏเซเชฒ เชเซ (ERB เชเชฐเซเชเชฐ เชเชฎเซเชฌเซเชกเซเชก เชฐเซเชฌเซ เชเซ).
เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเชเชฅเซ เชเชฒเซเชจเซ เชเชเซเชธเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ @
เชเชฒ เชจเชพเชฎ เชฎเชพเชเซ. เชเชเชเซเชฐเซเชฒ เชเชจเซเชธเซเชเซเชฐเชเซเช เชชเชเซ เชฆเซเชเชพเชคเชพ เชฒเชพเชเชจ เชฌเซเชฐเซเชเชจเซ เชฆเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเซเชฒเซเชเชฟเชเช เชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ -%>
.
เชจเชฎเซเชจเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชเชฆเชพเชนเชฐเชฃ
เชเชพเชฒเซ เชเชนเซเช เชเซ เชนเซเช ZooKeeper เชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชฎเซเชกเซเชฏเซเชฒ เชฒเชเซ เชฐเชนเซเชฏเซ เชเซเช. เชฐเซเชชเชฐเซเชเชพ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชตเชฐเซเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
class zookeeper::configure (
Array[String] $nodes,
Integer $port_client,
Integer $port_quorum,
Integer $port_leader,
Hash[String, Any] $properties,
String $datadir,
) {
file { '/etc/zookeeper/conf/zoo.cfg':
ensure => present,
content => template('zookeeper/zoo.cfg.erb'),
}
}
เช
เชจเซ เช
เชจเซเชฐเซเชช เชจเชฎเซเชจเซ zoo.cfg.erb
- เชคเซเชฅเซ:
<% if @nodes.length > 0 -%>
<% @nodes.each do |node, id| -%>
server.<%= id %>=<%= node %>:<%= @port_leader %>:<%= @port_quorum %>;<%= @port_client %>
<% end -%>
<% end -%>
dataDir=<%= @datadir %>
<% @properties.each do |k, v| -%>
<%= k %>=<%= v %>
<% end -%>
เชนเชเซเชเชคเซ เช เชจเซ เชฌเชฟเชฒเซเช-เชเชจ เชตเซเชฐเซเชเชฌเชฒเซเชธ
เชเชฃเซเชตเชพเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชเซเชเซเชเชธ เชญเชพเช เชจเซเชก เชชเชฐ เชนเชพเชฒเชฎเชพเช เชถเซเช เชฅเช เชฐเชนเซเชฏเซเช เชเซ เชคเซเชจเชพ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชกเซเชฌเชฟเชฏเชจ เชฐเชฟเชฒเซเช เชถเซเช เชเซ เชคเซเชจเชพ เชเชงเชพเชฐเซ, เชคเชฎเชพเชฐเซ เชชเซเชเซเชเชจเซเช เชเช เช เชฅเชตเชพ เชฌเซเชเซเช เชธเชเชธเซเชเชฐเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชคเชฎเซ เช เชฌเชงเซเช เชฎเซเชจเซเชฏเซเช เชฒเซ เชฎเซเชจเชฟเชเชฐ เชเชฐเซ เชถเชเซ เชเซ, เชเซ เชจเซเชกเซเชธ เชฌเชฆเชฒเชพเชฏ เชคเซ เชซเชฐเซเชฅเซ เชฒเชเซ เชฎเซเชจเชฟเชซเซเชธเซเช เชเชฐเซ เชถเชเซ เชเซ. เชชเชฐเชเชคเซ เช เชเช เชเชเชญเซเชฐ เช เชญเชฟเชเชฎ เชจเชฅเซ; เชเชเซเชฎเซเชถเชจ เชตเชงเซ เชธเชพเชฐเซเช เชเซ.
เชเชพเชเช เซ เชตเชฟเชถเซ เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชชเชชเซเช เชชเชพเชธเซ เชคเชฅเซเชฏเซ เชคเชฐเซเชเซ เชเชณเชเชพเชคเซ เชชเชฆเซเชงเชคเชฟ เชเซ. เชคเชฅเซเชฏเซ - เช เชจเซเชก เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชเซ, เชเซ เชตเซเชถเซเชตเชฟเช เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชธเชพเชฎเชพเชจเซเชฏ เชเชฒเซเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชเชชเชฒเชฌเซเชง เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชนเซเชธเซเชเชจเซเช เชจเชพเชฎ, เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชธเชเชธเซเชเชฐเชฃ, เชชเซเชฐเซเชธเซเชธเชฐ เชเชฐเซเชเชฟเชเซเชเซเชเชฐ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เชธเซเชเชฟ, เชจเซเชเชตเชฐเซเช เชเชจเซเชเชฐเชซเซเชธเชจเซ เชธเซเชเชฟ เช เชจเซ เชคเซเชฎเชจเชพ เชธเชฐเชจเชพเชฎเชพเช, เช เชจเซ เชเชฃเซเช เชฌเชงเซเช. เชนเชเซเชเชคเซ เชฎเซเชจเชฟเชซเซเชธเซเช เช เชจเซ เชเซเชฎเซเชชเชฒเซเชเซเชธเชฎเชพเช เชจเชฟเชฏเชฎเชฟเชค เชเชฒเซ เชคเชฐเซเชเซ เชเชชเชฒเชฌเซเชง เชเซ.
เชคเชฅเซเชฏเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
notify { "Running OS ${facts['os']['name']} version ${facts['os']['release']['full']}": }
# ัะตัััั ัะธะฟะฐ notify ะฟัะพััะพ ะฒัะฒะพะดะธั ัะพะพะฑัะตะฝะธะต ะฒ ะปะพะณ
เชเชชเชเชพเชฐเชฟเช เชฐเซเชคเซ เชเชนเซเช เชคเซ, เชนเชเซเชเชคเชฎเชพเช เชจเชพเชฎ (เชธเซเชเซเชฐเชฟเชเช) เช
เชจเซ เชฎเซเชฒเซเชฏ เชนเซเชฏ เชเซ (เชตเชฟเชตเชฟเชง เชชเซเชฐเชเชพเชฐเซ เชเชชเชฒเชฌเซเชง เชเซ: เชถเชฌเซเชฆเชฎเชพเชณเชพเช, เชเชฐเซ, เชถเชฌเซเชฆเชเซเชถ). เชเชพเชตเซเช
เชเชชเชฐเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชเช เชชเซเชคเชณเซ เชเชเชจเซเช เชธเซเชชเซเชฐเชฅเชฎ เชชเซเชชเซเชเชธเชฐเซเชตเชฐเชฅเซ เชจเซเชก เชชเชฐ เชเชชเชฒเชฌเซเชง เชคเชฎเชพเชฎ เชคเชฅเซเชฏเซ เชธเชเชเซเชฐเชนเชเซเชจเซ เชจเชเชฒ เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชคเซ เชคเซเชฎเชจเซ เชฒเซเชจเซเช เชเชฐเซ เชเซ เช เชจเซ เชเชเชคเซเชฐเชฟเชค เชคเชฅเซเชฏเซ เชธเชฐเซเชตเชฐเชจเซ เชฎเซเชเชฒเซ เชเซ; เช เชชเชเซ, เชธเชฐเซเชตเชฐ เชเซเชเชฒเซเชเชจเซเช เชธเชเชเชฒเชจ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชเซ.
เชเชเซเชเซเชเซเชฏเซเชเซเชฌเชฒ เชซเชพเชเชฒเซเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชนเชเซเชเชคเซ
เชเชตเชพ เชคเชฅเซเชฏเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ facts.d
. เช
เชฒเชฌเชคเซเชค, เชซเชพเชเชฒเซ เชเชเซเชเซเชเซเชฏเซเชเซเชฌเชฒ เชนเซเชตเซ เชเซเชเช. เชเซเชฏเชพเชฐเซ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ, เชคเซเชฏเชพเชฐเซ เชคเซเชเช YAML เช
เชฅเชตเชพ เชเซ=เชฎเซเชฒเซเชฏ เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเชเชเชชเซเชเชฎเชพเช เชฎเชพเชนเชฟเชคเซ เชเชเชเชชเซเช เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ.
เชญเซเชฒเชถเซ เชจเชนเซเช เชเซ เชคเชฅเซเชฏเซ เชคเชฎเชพเชฎ เชจเซเชกเซเชธ เชชเชฐ เชฒเชพเชเซ เชฅเชพเชฏ เชเซ เชเซ เชชเซเชชเซเช เชธเชฐเซเชตเชฐ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชฅเชพเชฏ เชเซ เชเซเชฎเชพเช เชคเชฎเชพเชฐเซเช เชฎเซเชกเซเชฏเซเชฒ เชเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซเชฅเซ, เชธเซเชเซเชฐเชฟเชชเซเชเชฎเชพเช, เชธเชฟเชธเซเชเชฎเชฎเชพเช เชคเชฎเชพเชฐเชพ เชคเชฅเซเชฏเชจเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชคเชฎเชพเชฎ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เช เชจเซ เชซเชพเชเชฒเซ เชเซ เชเซ เชจเชนเซเช เชคเซ เชคเชชเชพเชธเชตเชพเชจเซ เชเชพเชณเชเซ เชฒเซ.
#!/bin/sh
echo "testfact=success"
#!/bin/sh
echo '{"testyamlfact":"success"}'
เชฐเซเชฌเซ เชคเชฅเซเชฏเซ
เชเชตเชพ เชคเชฅเซเชฏเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ lib/facter
.
# ะฒัั ะฝะฐัะธะฝะฐะตััั ั ะฒัะทะพะฒะฐ ััะฝะบัะธะธ Facter.add ั ะธะผะตะฝะตะผ ัะฐะบัะฐ ะธ ะฑะปะพะบะพะผ ะบะพะดะฐ
Facter.add('ladvd') do
# ะฒ ะฑะปะพะบะฐั
confine ะพะฟะธััะฒะฐัััั ััะปะพะฒะธั ะฟัะธะผะตะฝะธะผะพััะธ ัะฐะบัะฐ โ ะบะพะด ะฒะฝัััะธ ะฑะปะพะบะฐ ะดะพะปะถะตะฝ ะฒะตัะฝััั true, ะธะฝะฐัะต ะทะฝะฐัะตะฝะธะต ัะฐะบัะฐ ะฝะต ะฒััะธัะปัะตััั ะธ ะฝะต ะฒะพะทะฒัะฐัะฐะตััั
confine do
Facter::Core::Execution.which('ladvdc') # ะฟัะพะฒะตัะธะผ, ััะพ ะฒ PATH ะตััั ัะฐะบะพะน ะธัะฟะพะปะฝัะตะผัะน ัะฐะนะป
end
confine do
File.socket?('/var/run/ladvd.sock') # ะฟัะพะฒะตัะธะผ, ััะพ ะตััั ัะฐะบะพะน UNIX-domain socket
end
# ะฒ ะฑะปะพะบะต setcode ะฟัะพะธัั
ะพะดะธั ัะพะฑััะฒะตะฝะฝะพ ะฒััะธัะปะตะฝะธะต ะทะฝะฐัะตะฝะธั ัะฐะบัะฐ
setcode do
hash = {}
if (out = Facter::Core::Execution.execute('ladvdc -b'))
out.split.each do |l|
line = l.split('=')
next if line.length != 2
name, value = line
hash[name.strip.downcase.tr(' ', '_')] = value.strip.chomp(''').reverse.chomp(''').reverse
end
end
hash # ะทะฝะฐัะตะฝะธะต ะฟะพัะปะตะดะฝะตะณะพ ะฒััะฐะถะตะฝะธั ะฒ ะฑะปะพะบะต setcode ัะฒะปัะตััั ะทะฝะฐัะตะฝะธะตะผ ัะฐะบัะฐ
end
end
เชเซเชเซเชธเซเช เชนเชเซเชเชคเซ
เชเชตเชพ เชคเชฅเซเชฏเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชจเซเชกเซเชธ เชชเชฐ เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ /etc/facter/facts.d
เชเซเชจเซ เชชเชชเซเชเชฎเชพเช เช
เชฅเชตเชพ /etc/puppetlabs/facts.d
เชจเชตเซ เชชเชชเซเชเชฎเชพเช.
examplefact=examplevalue
---
examplefact2: examplevalue2
anotherfact: anothervalue
เชนเชเซเชเชคเซ เชชเชฐ เชชเชนเซเชเชเชตเซเช
เชนเชเซเชเชคเซ เชธเซเชงเซ เชชเชนเซเชเชเชตเชพเชจเซ เชฌเซ เชฐเซเชค เชเซ:
- เชถเชฌเซเชฆเชเซเชถ เชฆเซเชตเชพเชฐเชพ
$facts
:$facts['fqdn']
; - เชเชฒ เชจเชพเชฎ เชคเชฐเซเชเซ เชนเชเซเชเชค เชจเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ:
$fqdn
.
เชถเชฌเซเชฆเชเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเซเชฐเซเชทเซเช เชเซ $facts
, เช
เชฅเชตเชพ เชตเชงเซ เชธเชพเชฐเซเช, เชตเซเชถเซเชตเชฟเช เชจเซเชฎเชธเซเชชเซเชธ เชธเซเชเชตเซ ($::facts
).
เชฌเชฟเชฒเซเช-เชเชจ เชตเซเชฐเซเชเชฌเชฒเซเชธ
เชนเชเซเชเชคเซ เชเชชเชฐเชพเชเชค, เชคเซเชฏเชพเช เชชเชฃ เชเซ
- trusted facts โ เชเชฒเซ เชเซ เชเซเชฒเชพเชฏเชเชเชจเชพ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชฎเชพเชเชฅเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชชเซเชชเซเช เชธเชฐเซเชตเชฐ เชชเชฐ เชเชพเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชเชจเซเช เชซเชเซเชค เชคเซเชจเซเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฒเช เช เชจเซ เชฌเชฆเชฒเซ เชถเชเชคเซเช เชจเชฅเซ, เชคเซเชฅเซ เชเชฒเซ "เชตเชฟเชถเซเชตเชธเชจเซเชฏ" เชเซ): เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซเช เชจเชพเชฎ, เชจเชพเชฎ เชนเซเชธเซเช เช เชจเซ เชกเซเชฎเซเชจ, เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชฎเชพเชเชฅเซ เชเชเซเชธเซเชเซเชเชถเชจ.
- เชธเชฐเซเชตเชฐ เชคเชฅเซเชฏเซ เชธเชฐเซเชตเชฐ เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชธเชพเชฅเซ เชธเชเชฌเชเชงเชฟเชค เชเชฒ-เชธเชเชธเซเชเชฐเชฃ, เชจเชพเชฎ, เชธเชฐเซเชตเชฐ IP เชธเชฐเชจเชพเชฎเซเช, เชชเชฐเซเชฏเชพเชตเชฐเชฃ.
- เชเชเชจเซเช เชคเชฅเซเชฏเซ โ เชเชฒเซ เชธเซเชงเชพ เชชเชชเซเช-เชเชเชจเซเช เชฆเซเชตเชพเชฐเชพ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชซเซเชเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชจเชนเซเช โ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซเช เชจเชพเชฎ, เชเชเชจเซเช เชธเชเชธเซเชเชฐเชฃ, เชชเชชเซเช เชธเชเชธเซเชเชฐเชฃ.
- เชฎเซเชเซเชฏ เชเชฒเซ - เชชเซเชชเซเชเชฎเชพเชธเซเชเชฐ เชเชฒเซ (sic!). เชคเซ เชฒเชเชญเช เชฎเชพเช เชเซเชตเซเช เช เชเซ เชธเชฐเซเชตเชฐ เชคเชฅเซเชฏเซ, เชตเชคเซเชคเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเชฐเชฟเชฎเชพเชฃ เชฎเซเชฒเซเชฏเซ เชเชชเชฒเชฌเซเชง เชเซ.
- เชเชฎเซเชชเชพเชเชฒเชฐ เชเชฒเซ โ เชเชฎเซเชชเชพเชเชฒเชฐ เชตเซเชฐเซเชเชฌเชฒเซเชธ เชเซ เชฆเชฐเซเช เชธเซเชเซเชชเชฎเชพเช เช เชฒเช เชชเชกเซ เชเซ: เชตเชฐเซเชคเชฎเชพเชจ เชฎเซเชกเซเชฏเซเชฒเชจเซเช เชจเชพเชฎ เช เชจเซ เชฎเซเชกเซเชฏเซเชฒเชจเซเช เชจเชพเชฎ เชเซเชฎเชพเช เชตเชฐเซเชคเชฎเชพเชจ เชเชฌเซเชเซเชเซเช เชเชเซเชธเซเชธ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชคเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเชพเชฐเชพ เชเชพเชจเชเซ เชตเชฐเซเชเซ เช เชจเซเชฏ เชฎเซเชกเซเชฏเซเชฒเซเชฎเชพเชเชฅเซ เชธเซเชงเชพ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชจเชฅเซ เชคเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ.
เชเชฎเซเชฐเซ 1: เช เชฌเชงเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซเช เช เชจเซ เชกเซเชฌเช เชเชฐเชตเซเช?
เชฒเซเชเชฎเชพเช เชชเชชเซเช เชเซเชกเชจเชพ เชเชฃเชพ เชเชฆเชพเชนเชฐเชฃเซ เชเซ, เชชเชฐเชเชคเซ เช เชเซเชก เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซ เชคเซ เช เชฎเชจเซ เชฌเชฟเชฒเชเซเชฒ เชเชนเซเชฏเซเช เชจเชฅเซ. เชธเชพเชฐเซเช, เชนเซเช เชฎเชพเชฐเซ เชเชพเชคเชจเซ เชธเซเชงเชพเชฐเซ เชฐเชนเซเชฏเซ เชเซเช.
เชชเชชเซเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเช เชเชเชจเซเช เชชเชฐเซเชฏเชพเชชเซเชค เชเซ, เชชเชฐเชเชคเซ เชฎเซเชเชพเชญเชพเชเชจเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชคเชฎเชพเชฐเซ เชธเชฐเซเชตเชฐเชจเซ เชชเชฃ เชเชฐเซเชฐ เชชเชกเชถเซ.
เชเชเชจเซเช
เชเชเชพเชฎเชพเช เชเชเซเช เชธเชเชธเซเชเชฐเชฃ XNUMX เชฅเซ, เชเช เชชเซเชคเชณเซ-เชเชเชจเซเช เชชเซเชเซเชเซเชฎเชพเชเชฅเซ
เชธเซเชฅเซ เชธเชฐเชณ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเช เชชเซเชคเชณเซเชจเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชเชจเซเชเชจเซ เชธเชฐเซเชตเชฐเชฒเซเชธ เชฎเซเชกเชฎเชพเช เชฒเซเชเช เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ: เชชเซเชฐเซ เชชเชพเชกเชตเชพเชฎเชพเช เชเชตเซเชฒ เชเซ เชเซ เชชเชชเซเช เชเซเชก เชจเซเชก เชชเชฐ เชเซเชชเชฟ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชฒเซเชเช เชเชฐเซ. puppet apply <ะฟััั ะบ ะผะฐะฝะธัะตััั>
:
atikhonov@atikhonov ~/puppet-test $ cat helloworld.pp
node default {
notify { 'Hello world!': }
}
atikhonov@atikhonov ~/puppet-test $ puppet apply helloworld.pp
Notice: Compiled catalog for atikhonov.localdomain in environment production in 0.01 seconds
Notice: Hello world!
Notice: /Stage[main]/Main/Node[default]/Notify[Hello world!]/message: defined 'message' as 'Hello world!'
Notice: Applied catalog in 0.01 seconds
เช เชฒเชฌเชคเซเชค, เชธเชฐเซเชตเชฐ เชธเซเช เชเชฐเชตเซเช เช เชจเซ เชกเชฟเชฎเชจ เชฎเซเชกเชฎเชพเช เชจเซเชกเซเชธ เชชเชฐ เชเชเชจเซเชเซ เชเชฒเชพเชตเชตเซเช เชตเชงเซ เชธเชพเชฐเซเช เชเซ - เชชเชเซ เชฆเชฐ เช เชกเชงเชพ เชเชฒเชพเชเซ เชเชเชตเชพเชฐ เชคเซเช เชธเชฐเซเชตเชฐเชฎเชพเชเชฅเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ เชเซเช เชตเชฃเซเชจเซ เชฒเชพเชเซ เชเชฐเชถเซ.
เชคเชฎเซ เชเชพเชฐเซเชฏเชจเชพ เชชเซเชถ เชฎเซเชกเซเชฒเชจเซเช เช
เชจเซเชเชฐเชฃ เชเชฐเซ เชถเชเซ เชเซ - เชคเชฎเชจเซ เชฐเซเชเชฟ เชงเชฐเชพเชตเชคเชพ เชจเซเชก เชชเชฐ เชเชพเช เช
เชจเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ sudo puppet agent -t
. เชเซ -t
(--test
) เชตเชพเชธเซเชคเชตเชฎเชพเช เชเซเชเชฒเชพเช เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเชฎเชพเชตเซเชถ เชเชฐเซ เชเซ เชเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชฐเซเชคเซ เชธเชเซเชทเชฎ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เช เชตเชฟเชเชฒเซเชชเซเชฎเชพเช เชจเซเชเซเชจเชพเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ:
- เชกเชฟเชฎเชจ เชฎเซเชกเชฎเชพเช เชเชฒเชพเชตเชถเซ เชจเชนเซเช (เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชเชเชจเซเช เชกเชฟเชฎเชจ เชฎเซเชกเชฎเชพเช เชถเชฐเซ เชฅเชพเชฏ เชเซ);
- เชเซเชเชฒเซเช เชฒเชพเชเซ เชเชฐเซเชฏเชพ เชชเชเซ เชฌเชเชง เชเชฐเซ (เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชเชเชจเซเช เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเชถเซ เช เชจเซ เชฆเชฐ เช เชกเชงเชพ เชเชฒเชพเชเซ เชเชเชตเชพเชฐ เชเซเช เชตเชฃเซ เชฒเชพเชเซ เชเชฐเชถเซ);
- เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเช เชฒเซเช เชฒเชเซ;
- เชซเชพเชเชฒเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซ เชฌเชคเชพเชตเซ.
เชเชเชจเซเช เชชเชพเชธเซ เชซเซเชฐเชซเชพเชฐเซ เชตเชฟเชจเชพ เชเชชเชฐเซเชเชฟเชเช เชฎเซเชก เชเซ - เชคเชฎเซ เชคเซเชจเซ เชเชชเชฏเซเช เชคเซเชฏเชพเชฐเซ เชเชฐเซ เชถเชเซ เชเซ เชเซเชฏเชพเชฐเซ เชคเชฎเชจเซ เชเชพเชคเชฐเซ เชจ เชนเซเชฏ เชเซ เชคเชฎเซ เชฏเซเชเซเชฏ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฒเชเซเชฏเซเช เชเซ เช
เชจเซ เชเชชเชฐเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชเชจเซเช เชฌเชฐเชพเชฌเชฐ เชถเซเช เชฌเชฆเชฒเชพเชถเซ เชคเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเชเซ เชเซ. เช เชฎเซเชก เชชเซเชฐเชพเชฎเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชธเชเซเชทเชฎ เชเชฐเซเชฒ เชเซ --noop
เชเชฆเซเชถ เชตเชพเชเซเชฏ เชชเชฐ: sudo puppet agent -t --noop
.
เชตเชงเซเชฎเชพเช, เชคเชฎเซ เชเชพเชฐเซเชฏเชจเชพ เชกเชฟเชฌเชเซเชเช เชฒเซเชเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชถเชเซ เชเซ - เชคเซเชฎเชพเช, เชเช เชชเซเชคเชณเซ เชคเซ เชเชฐเซ เชเซ เชคเซ เชฌเชงเซ เชเซเชฐเชฟเชฏเชพเช เชตเชฟเชถเซ เชฒเชเซ เชเซ: เชคเซ เชนเชพเชฒเชฎเชพเช เชเซ เชธเชเชธเชพเชงเชจ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ เชคเซเชจเชพ เชตเชฟเชถเซ, เช เชธเชเชธเชพเชงเชจเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ เชตเชฟเชถเซ, เชคเซ เชเชฏเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชฒเซเชจเซเช เชเชฐเซ เชเซ เชคเซ เชตเชฟเชถเซ. เช
เชฒเชฌเชคเซเชค เช เชเช เชชเชฐเชฟเชฎเชพเชฃ เชเซ --debug
.
เชธเชฐเซเชตเชฐ
ะะพะปะฝะพัะตะฝะฝัั ะฝะฐัััะพะนะบั ะฟะฐะฟะฟะตััะตัะฒะตัะฐ ะธ ะดะตะฟะปะพะน ะฝะฐ ะฝะตะณะพ ะบะพะดะฐ ะฒ ััะพะน ััะฐััะต ั ะฝะต ะฑัะดั ัะฐััะผะฐััะธะฒะฐัั, ัะบะฐะถั ะปะธัั, ััะพ ะธะท ะบะพัะพะฑะบะธ ััะฐะฒะธััั ะฒะฟะพะปะฝะต ัะฐะฑะพัะพัะฟะพัะพะฑะฝะฐั ะฒะตััะธั ัะตัะฒะตัะฐ, ะฝะต ััะตะฑัััะฐั ะดะพะฟะพะปะฝะธัะตะปัะฝะพะน ะฝะฐัััะพะนะบะธ ะดะปั ัะฐะฑะพัั ะฒ ััะปะพะฒะธัั ะฝะตะฑะพะปััะพะณะพ ะบะพะปะธัะตััะฒะฐ ะฝะพะด (ัะบะฐะถะตะผ, ะดะพ ััะฐ). ะะพะปััะตะต ะบะพะปะธัะตััะฒะพ ะฝะพะด ัะถะต ะฟะพััะตะฑัะตั ััะฝะธะฝะณะฐ โ ะฟะพ ัะผะพะปัะฐะฝะธั puppetserver ะทะฐะฟััะบะฐะตั ะฝะต ะฑะพะปััะต ัะตััััั ะฒะพัะบะตัะพะฒ, ะดะปั ะฑะพะปััะตะน ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ ะฝัะถะฝะพ ัะฒะตะปะธัะธัั ะธั ัะธัะปะพ ะธ ะฝะต ะทะฐะฑััั ัะฒะตะปะธัะธัั ะปะธะผะธัั ะฟะฐะผััะธ, ะธะฝะฐัะต ะฑะพะปัััั ัะฐััั ะฒัะตะผะตะฝะธ ัะตัะฒะตั ะฑัะดะตั garbage collectโะธัั.
เชเซเชก เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช - เชเซ เชคเชฎเชจเซ เชคเซเชจเซ เชเชกเชชเชฅเซ เช
เชจเซ เชธเชฐเชณเชคเชพเชฅเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชชเชเซ เชเซเช (r10k เชชเชฐ)[
เชชเชฐเชฟเชถเชฟเชทเซเช 2: เชเซเชกเชฟเชเช เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ
- ะัะฝะพัะธัะต ะฒัั ะปะพะณะธะบั ะฒ ะบะปะฐััั ะธ ะดะตัะฐะนะฝั.
- เชตเชฐเซเชเซ เช เชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชเชจเซ เชฎเซเชกเซเชฏเซเชฒเชฎเชพเช เชฐเชพเชเซ, เชจเซเชกเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเชพ เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชจเชนเซเช.
- เชคเชฅเซเชฏเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ.
- เชฏเชเชฎเชพเชจเชจเชพเชฎเซ เชชเชฐ เชเชงเชพเชฐเชฟเชค ifs เชฌเชจเชพเชตเชถเซ เชจเชนเซเช.
- ะะต ััะตัะฝัะนัะตัั ะดะพะฑะฐะฒะปััั ะฟะฐัะฐะผะตััั ะดะปั ะบะปะฐััะพะฒ ะธ ะดะตัะฐะนะฝะพะฒ โ ััะพ ะปัััะต, ัะตะผ ะฝะตัะฒะฝะฐั ะปะพะณะธะบะฐ, ัะฟัััะฐะฝะฝะฐั ะฒ ัะตะปะต ะบะปะฐััะฐ/ะดะตัะฐะนะฝะฐ.
เชนเซเช เชเชเชณเชจเชพ เชฒเซเชเชฎเชพเช เชถเชพ เชฎเชพเชเซ เช เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชคเซ เชนเซเช เชธเชฎเชเชพเชตเซเชถ.
เชจเชฟเชทเซเชเชฐเซเชท
เชเชพเชฒเซ เชชเชฐเชฟเชเชฏ เชธเชพเชฅเซ เชธเชฎเชพเชชเซเชค เชเชฐเซเช. เชนเชตเซ เชชเชเซเชจเชพ เชฒเซเชเชฎเชพเช เชนเซเช เชคเชฎเชจเซ Hiera, ENC เช เชจเซ PuppetDB เชตเชฟเชถเซ เชเชฃเชพเชตเซเชถ.
เชซเชเซเชค เชจเซเชเชงเชพเชฏเซเชฒเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เช เชธเชฐเซเชตเซเชฎเชพเช เชญเชพเช เชฒเช เชถเชเซ เชเซ.
เชนเชเซเชเชคเชฎเชพเช, เชคเซเชฏเชพเช เชเชฃเซ เชตเชงเซ เชธเชพเชฎเชเซเชฐเซ เชเซ - เชนเซเช เชจเซเชเซเชจเชพ เชตเชฟเชทเชฏเซ เชชเชฐ เชฒเซเชเซ เชฒเชเซ เชถเชเซเช เชเซเช, เชคเชฎเชจเซ เชเซเชจเชพ เชตเชฟเชถเซ เชตเชพเชเชเชตเชพเชฎเชพเช เชฐเชธ เชนเชถเซ เชคเซเชจเชพ เชชเชฐ เชฎเชค เชเชชเซ:
- 59,1%เช เชฆเซเชฏเชคเชจ เชเช เชชเซเชคเชณเซเชจเซ เชฐเชเชจเชพเช - เชเซเชเชฒเชพเช เชเชเชฒเชพ-เชธเซเชคเชฐเชจเชพ เชถเชฟเช: เชฒเซเชชเซเชธ, เชฎเซเชชเชฟเชเช เช เชจเซ เช เชจเซเชฏ เชฒเซเชฎเซเชฌเชกเชพ เชเชเซเชธเชชเซเชฐเซเชถเชจเซเชธ, เชฐเชฟเชธเซเชฐเซเชธ เชเชฒเซเชเซเชเชฐเซเชธ, เชจเชฟเชเชพเชธ เชเชฐเซเชฒเชพ เชธเชเชธเชพเชงเชจเซ เช เชจเซ เชชเชชเซเช, เชเซ เชเซเชธ, เชชเซเชฐเชฆเชพเชคเชพเช, เช เชฎเซเชฐเซเชค เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซ เชฆเซเชตเชพเชฐเชพ เชเชเชคเชฐ-เชฏเชเชฎเชพเชจ เชธเชเชเชพเชฐ.13
- 31,8%"เชนเซเช เชฎเชพเชฐเซ เชฎเชพเชคเชพเชจเซ เชเชกเชฎเชฟเชจ เชเซเช" เช เชฅเชตเชพ เช เชฎเซ เชเซเชตเซ เชฐเซเชคเซ เช เชตเชฟเชเซเชฎเชพเช เชตเชฟเชตเชฟเชง เชธเชเชธเซเชเชฐเชฃเซเชจเชพ เชเชฃเชพ เชชเซเชชเซเช เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ เชฎเชฟเชคเซเชฐเซ เชฌเชจเชพเชตเซเชฏเชพ, เช เชจเซ เชธเชฟเชฆเซเชงเชพเชเชคเชฎเชพเช, เชชเซเชชเซเช เชธเชฐเซเชตเชฐเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพ เชตเชฟเชถเซเชจเซ เชญเชพเช.7
- 81,8%เชเชชเชฃเซ เชชเชชเซเช เชเซเชก เชเซเชตเซ เชฐเซเชคเซ เชฒเชเซเช เชเซเช: เชเชจเซเชธเซเชเซเชฐเซเชฎเซเชจเซเชเซเชถเชจ, เชกเซเชเซเชฏเซเชฎเซเชจเซเชเซเชถเชจ, เชเซเชธเซเชเชฟเชเช, CI/CD.18
22 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเช เชฎเชค โโเชเชชเซเชฏเซ. 9 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฆเซเชฐ เชฐเชนเซเชฏเชพ.
เชธเซเชฐเซเชธ: www.habr.com