เชฟ - สิ่งแวดล้อม
Chef ช่วยในการกำหนดค่าสภาพแวดล้อมเฉพาะ เป็นความคิดที่ดีเสมอที่จะมีสภาพแวดล้อมแยกต่างหากสำหรับการพัฒนาการทดสอบและการผลิต
Chef เปิดใช้งานการจัดกลุ่มโหนดในสภาพแวดล้อมที่แยกจากกันเพื่อสนับสนุนขั้นตอนการพัฒนาตามลำดับ
การสร้างสภาพแวดล้อม
การสร้างสภาพแวดล้อมในทันทีสามารถทำได้โดยใช้ยูทิลิตี้มีด คำสั่งต่อไปนี้จะเปิดตัวแก้ไขเริ่มต้นของเชลล์เพื่อให้สามารถแก้ไขนิยามสภาพแวดล้อมได้
vipin@laptop:~/chef-repo $ knife environment create book {
"name": "book",
"description": "",
"cookbook_versions": {
},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {
},
"override_attributes": {
}
}
Created book
การทดสอบสภาพแวดล้อมที่สร้างขึ้น
vipin@laptop:~/chef-repo $ knife environment list
_default
book
แสดงรายการโหนดสำหรับทุกสภาพแวดล้อม
vipin@laptop:~/chef-repo $ knife node list
my_server
_default สภาพแวดล้อม
แต่ละองค์กรมักจะเริ่มต้นด้วยสภาพแวดล้อมอย่างน้อยเดียวที่เรียกว่าสภาพแวดล้อมเริ่มต้นซึ่งพร้อมใช้งานสำหรับเซิร์ฟเวอร์ Chef เสมอ ไม่สามารถแก้ไขสภาพแวดล้อมเริ่มต้นได้ การเปลี่ยนแปลงใด ๆ สามารถทำได้ในสภาพแวดล้อมแบบกำหนดเองที่เราสร้างขึ้นเท่านั้น
แอตทริบิวต์สภาพแวดล้อม
สามารถกำหนดแอตทริบิวต์ในสภาพแวดล้อมและใช้เพื่อแทนที่การตั้งค่าเริ่มต้นในโหนด เมื่อไคลเอ็นต์ Chef เกิดขึ้นแอตทริบิวต์เหล่านี้จะถูกเปรียบเทียบกับแอตทริบิวต์เริ่มต้นที่มีอยู่แล้วในโหนด เมื่อแอตทริบิวต์สภาพแวดล้อมมีความสำคัญเหนือแอตทริบิวต์เริ่มต้น Chef ไคลเอ็นต์จะใช้การตั้งค่าและค่าเหล่านี้เมื่อการเรียกใช้ไคลเอ็นต์ Chef เกิดขึ้นในแต่ละโหนด
แอตทริบิวต์สภาพแวดล้อมสามารถเป็นได้เฉพาะ default_attribute หรือ override_attribute ไม่สามารถเป็นแอตทริบิวต์ปกติ สามารถใช้ default_attribute หรือ override_attribute
ประเภทคุณสมบัติ
Default - แอตทริบิวต์เริ่มต้นจะถูกรีเซ็ตเสมอเมื่อเริ่มต้นไคลเอนต์ Chef ทุกรายที่รันและมีลำดับความสำคัญต่ำสุดของแอตทริบิวต์
Override- แอตทริบิวต์การลบล้างจะถูกรีเซ็ตเสมอเมื่อเริ่มต้นไคลเอนต์ Chef ทุกครั้งและมีลำดับความสำคัญของแอตทริบิวต์สูงกว่าค่าเริ่มต้น force_default และปกติ แอตทริบิวต์การลบล้างมักถูกกำหนดไว้ในสูตรอาหาร แต่ยังสามารถระบุในไฟล์แอตทริบิวต์สำหรับบทบาทหรือสำหรับสภาพแวดล้อม