วิธีการติดตั้ง Chef บน Ubuntu 18

เรียนรู้วิธีการติดตั้ง Chef บน Ubuntu …


Chef เป็นเครื่องมือจัดการการกำหนดค่าที่อ้างอิงทับทิม มันถูกใช้เพื่อทำการจัดการการกำหนดค่าข้ามโหนดทั้งหมดในคลัสเตอร์โดยอัตโนมัติและรักษาความมั่นคง Chef มีสามองค์ประกอบหลัก.

  • เซิร์ฟเวอร์เชฟ
  • เวิร์คสเตชั่
  • โหนด

การกำหนดค่าทั้งหมดได้รับการจัดการจากเวิร์กสเตชันและผลักดันต่อไปยัง chef-server เซิร์ฟเวอร์เชฟเป็นร้านค้าส่วนกลางของการกำหนดค่าโครงสร้างพื้นฐานทั้งหมด มีดเป็นเครื่องมือบรรทัดคำสั่งที่มีอยู่บนเวิร์กสเตชันที่ใช้ในการโต้ตอบกับ Chef Server โหนดเรียกใช้เชฟลูกค้าที่ขอข้อมูลการกำหนดค่าจากเซิร์ฟเวอร์เชฟ.

นี่คือลักษณะของสถาปัตยกรรมเชฟทั่วไป:

สถาปัตยกรรมพ่อครัว

ตอนนี้เราจะไปตั้งค่า Chef Server, Workstation และ Node (Chef Client).

รายละเอียดสภาพแวดล้อม

ฉันใช้ระบบ Ubuntu 18.04 3 ตัว หนึ่งจะทำหน้าที่เป็นเซิร์ฟเวอร์พ่อครัวและอีกหนึ่งจะเป็นเวิร์กสเตชันและระบบที่ 3 จะเป็นโหนด.

พ่อครัวเซิร์ฟเวอร์

  • ชื่อโฮสต์: chef-geekflare
  • ที่อยู่ IP: 192.168.0.107

เวิร์คสเตชั่

  • ชื่อโฮสต์: เวิร์กสเตชัน
  • ที่อยู่ IP: 192.168.0.108

ปม

  • ชื่อโฮสต์: ไคลเอ็นต์ – โหนด
  • ที่อยู่ IP: 192.168.0.109

ก่อนที่ฉันจะเริ่มการติดตั้งฉันต้องแก้ไข / etc / hosts ไฟล์ของระบบทั้งหมดเพื่อให้พวกเขาสามารถแก้ไขซึ่งกันและกัน แก้ไขไฟล์ / etc / hosts ในทุกระบบดังที่แสดงด้านล่าง.

[email protected]: ~ $
127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.107 chef-geekflare
192.168.0.108 Chef-Workstation
192.168.0.109 ไคลเอ็นต์ – โหนด

ฉันจะเรียกใช้คำสั่งด้านล่างในทั้งสามระบบเพื่ออัปเดต.

[email protected]: ~ $ sudo apt update

[sudo] รหัสผ่านสำหรับ geekflare:

Hit: 1 http://security.ubuntu.com/ubuntu cosmic-security InRelease

ได้รับ: 2 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]

Hit: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu cosmic InRelease

Hit: 4 http://us.archive.ubuntu.com/ubuntu จักรวาลปล่อยออกมา

รับ: 5 https://download.docker.com/linux/ubuntu bionic / เสถียร amd64 แพ็คเกจ [9,594 B]

Hit: 6 http://us.archive.ubuntu.com/ubuntu การอัปเดตของจักรวาล InRelease

Hit: 7 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

ได้รับ: 8 http://apt.puppetlabs.com ไบโอนิค InRelease [85.3 kB]

ได้รับ: 9 http://apt.puppetlabs.com bionic / puppet6 amd64 แพ็คเกจ [32.4 kB]

ดึงข้อมูลได้ 192 kB ใน 2 วินาที (84.6 kB / s)

กำลังอ่านรายการแพ็กเกจ … เสร็จแล้ว

อาคารต้นไม้พึ่งพา

กำลังอ่านข้อมูลสถานะ … เสร็จแล้ว

สามารถอัพเกรด 233 แพ็คเกจ เรียกใช้ ‘รายการ apt – อัปเกรดได้’ เพื่อดู.

การติดตั้งเซิร์ฟเวอร์เชฟ

Chef Server เป็นส่วนประกอบในสถาปัตยกรรมที่เชื่อมต่อกับเวิร์กสเตชันและโหนด เมื่อการกำหนดค่าถูกแก้ไข / เปลี่ยนแปลงบนเวิร์กสเตชันพวกเขาจะถูกผลักไปยังเซิร์ฟเวอร์ของเชฟและโหนดทั้งหมดจะดึงการเปลี่ยนแปลงการกำหนดค่าเหล่านี้ออกจากเซิร์ฟเวอร์เชฟ.

ตอนนี้ให้เรารันคำสั่งด้านล่างเพื่อดาวน์โหลดแพคเกจ chef-server.

[email protected]: ~ $ wget https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

–2019-10-23 04: 04: 35– https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

บันทึกไปที่: ‘chef-server-core_13.0.17-1_amd64.deb’

chef-server-core_13 100% [===================>] 240.58M 1.33MB / s ใน 6m 16s

2019-10-23 04:10:51 (656 KB / s) – บันทึก ‘chef-server-core_13.0.17-1_amd64.deb’ [252269838/252269838]

ตอนนี้คุณต้องเรียกใช้คำสั่งต่อไปนี้ติดตั้งเซิร์ฟเวอร์เชฟ.

[email protected]: ~ $ sudo dpkg -i chef-server-core _ *. deb

chef-server-ctl เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งใน chef-server ฉันจะใช้ยูทิลิตีนี้เพื่อเริ่มบริการเชฟเซิร์ฟเวอร์.

[email protected]: ~ $ sudo chef-server-ctl ตั้งค่าใหม่

ตัวจัดการการวิ่ง:

การจัดการตัวจัดการให้สมบูรณ์

Chef Infra Client เสร็จสิ้นทรัพยากร 481/1028 อัปเดตใน 04 นาที 08 วินาที

กำหนดค่าเซิร์ฟเวอร์เชฟใหม่!

คุณสามารถตรวจสอบสถานะของบริการที่เริ่มใช้คำสั่งด้านล่าง.

[email protected]: ~ $ sudo chef-server-ctl สถานะ

run: ชั้นวางหนังสือ: (pid 2452) 822s run: log: (pid 29553) 951s

run: nginx: (pid 2318) 826s; run: บันทึก: (pid 30216) 908s

run: oc_bifrost: (pid 2296) 827s; run: log: (pid 29240) 996s

ทำงาน: oc_id: (pid 2304) 826s; run: log: (pid 29308) 979s

ทำงาน: opscode-erchef: (pid 2511) 822s; run: log: (pid 29707) 946s

ทำงาน: opscode-expander: (pid 2416) 822 วินาที run: log: (pid 29412) 958s

ทำงาน: opscode-solr4: (pid 2393) 824s; run: log: (pid 29358) 964s

run: postgresql: (pid 2264) 827s; run: log: (pid 28769) 1021s

run: rabbitmq: (pid 3183) 792s run: log: (pid 30476) 902s

run: redis_lb: (pid 30011) 926s; run: บันทึก: (pid 30010) 926 วินาที

สร้างผู้ใช้และองค์กร

เซิร์ฟเวอร์ Chef เชื่อมต่อเวิร์กสเตชันและโหนดไคลเอ็นต์ เพื่อเชื่อมโยงพวกเขาฉันจะสร้างผู้ดูแลระบบและผู้จัดงานด้วยกุญแจส่วนตัวของพวกเขา.

 ประการแรกสร้างไดเรกทอรี. chef เพื่อจัดเก็บคีย์.

[email protected]: ~ $ mkdir .chef

ตอนนี้ฉันจะใช้ chef-server-ctl เพื่อสร้างผู้ใช้ ในคำสั่งด้านล่าง chefadmin คือผู้ใช้ Chef คือชื่อแรก GeekFlare เป็นนามสกุล, [email protected] เป็นรหัสอีเมล geekflare คือรหัสผ่าน chefadmin.pen เป็นรหัส RSA.

[email protected]: ~ $ sudo chef-server-ctl ผู้ใช้สร้าง chefadmin Chef GeekFlare [email protected] ‘geekflare’ – ชื่อไฟล์ ~ / .chef / chefadmin.pem

ให้เรารันคำสั่งเพื่อตรวจสอบรายชื่อผู้ใช้บนเซิร์ฟเวอร์พ่อครัว.

[email protected]: ~ $ sudo chef-server-ctl รายชื่อผู้ใช้

chefadmin

เป็นจุดสำคัญ

ตอนนี้ฉันจะใช้ chef-server-ctl เพื่อสร้างองค์กร ในคำสั่งด้านล่าง, Chef-org เป็นชื่อองค์กร, Geekflare Chef Infrastructure เป็นชื่อองค์กรแบบเต็ม, chefadmin เป็นผู้ใช้ที่เราเพิ่งสร้างขึ้น, chef-org.pem คือคีย์ RSA.

[email protected]: ~ $ sudo chef-server-ctl org-create chef-org "โครงสร้างพื้นฐาน Geekflare Chef" –association_user chefadmin –filename ~ / .chef / chef-org.pem

 ให้เรารันคำสั่งเพื่อตรวจสอบรายชื่อองค์กรบนเซิร์ฟเวอร์พ่อครัว.

[email protected]: ~ $ sudo chef-server-ctl org-list

พ่อครัว org

ฉันได้ติดตั้ง Chef-Server อย่างสมบูรณ์แล้วให้เราไปข้างหน้าและติดตั้งเวิร์กสเตชันที่สร้างการกำหนดค่าทั้งหมด.

เวิร์คสเตชั่

Workstation เป็นสถานที่ที่ผู้ใช้สร้างตำราอาหาร ตำราคืออะไรนอกจากหน่วยการกำหนดค่าที่สร้างขึ้นเพื่อทำงานที่เฉพาะเจาะจง.

ให้เราเรียกใช้คำสั่งด้านล่างเพื่อดาวน์โหลดแพ็คเกจเวิร์กสเตชันเชฟ.

[email protected]: ~ $ wget https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

–2019-10-23 05: 37: 41– https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

กำลังแก้ไข packages.chef.io (packages.chef.io) … 151.101.194.110, 151.101.130.110, 151.101.66.110, …

กำลังเชื่อมต่อกับ packages.chef.io (packages.chef.io) | 151.101.194.110 |: 443 … เชื่อมต่อ.

ส่งคำขอ HTTP แล้วกำลังรอการตอบกลับ … 200 ตกลง

ความยาว: 129713682 (124M) [ใบสมัคร / แพ็คเกจ x-debian]

บันทึกไปที่: ‘chef-workstation_0.2.43-1_amd64.deb’

chef-workstation_0.2.43-1_ 100% [=======================================>] 123.70M 2.37MB / s ใน 4m 25s

2019-10-23 05:42:18 (477 KB / s) – บันทึกแล้ว-chef-workstation_0.2.43-1_amd64.deb ’[129713682/129713682]

ให้เราเรียกใช้คำสั่ง dpkg เพื่อติดตั้งเวิร์กสเตชันบนระบบ ubuntu.

[email protected]: ~ $ sudo dpkg -i chef-เวิร์กสเตชัน _ *. deb

การเลือกแพคเกจ Chef-Workstation ที่ไม่ได้เลือกก่อนหน้านี้.

(กำลังอ่านฐานข้อมูล … 273360 ไฟล์และไดเรกทอรีที่ติดตั้งในปัจจุบัน)

กำลังเตรียมที่จะแกะ Chef-workstation_0.2.43-1_amd64.deb …

กำลังเปิด Chef-เวิร์กสเตชัน (0.2.43-1) …

การตั้งค่า Chef-Workstation (0.2.43-1) …

ในการเรียกใช้แอพ Chef Workstation ให้ใช้

ผู้จัดการแพ็คเกจของแพลตฟอร์มเพื่อติดตั้งการพึ่งพาเหล่านี้:

libgconf-2.so.4 => ไม่พบ

จากนั้นคุณสามารถเปิดแอพได้โดยเรียกใช้ ‘chef-workstation-app’.

แอพจะพร้อมใช้งานในถาดระบบ.

ขอบคุณที่ติดตั้ง Chef Workstation!

คุณสามารถหาเคล็ดลับในการเริ่มต้นได้ที่ https://chef.sh/

ตอนนี้ฉันจะเรียกใช้คำสั่งเพื่อสร้างพื้นที่เก็บข้อมูลพ่อครัวที่จะมีตำราและไฟล์อื่น ๆ ทั้งหมด.

[email protected]: ~ $ chef สร้าง repo chef-repo

สูตร: code_generator :: repo

* การสร้างไดเรกทอรีกระทำ [/ home / geekflare / chef-repo]

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo

* เทมเพลต [/ home / geekflare / chef-repo / LICENSE] แอ็คชั่น create_if_missing

– สร้างไฟล์ใหม่ / home / geekflare / chef-repo / LICENSE

– อัปเดตเนื้อหาในไฟล์ / home / geekflare / chef-repo / LICENSE จากไม่มีเป็น 3c525c

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* cookbook_file [/home/geekflare/chef-repo/.chef-repo.txt] การกระทำ create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/.chef-repo.txt

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/.chef-repo.txt จากไม่มีเป็น 2bed28

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* cookbook_file [/home/geekflare/chef-repo/README.md] action create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/README.md

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/README.md จาก none เป็น 2b4f46

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* cookbook_file [/ home / geekflare / chef-repo / chefignore] แอ็คชั่น create_if_missing

– สร้างไฟล์ใหม่ / home / geekflare / chef-repo / chefignore

– อัปเดตเนื้อหาในไฟล์ / home / geekflare / chef-repo / chefignore จากไม่มีเป็น 9e2ffd

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* remote_directory [/ home / geekflare / chef-repo / cookbooks] แอ็คชั่น create_if_missing

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo / cookbooks

สูตร: code_generator :: repo

* cookbook_file [/home/geekflare/chef-repo/cookbooks/README.md] action create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/cookbooks/README.md

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/cookbooks/README.md จากไม่มีเป็น 54b03d

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* execute [initialize-git] การดำเนินการ

– รัน git init .

* เทมเพลต [/home/geekflare/chef-repo/.gitignore] การกระทำ create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/.gitignore

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/.gitignore จากไม่มีเป็น 11e5ee

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

ตอนนี้ฉันจะสร้าง /chef-repo/.chef ไดเรกทอรีซึ่งจะจัดเก็บการตั้งค่ามีดทั้งหมดและปุ่ม RSA.

[email protected]: ~ $ mkdir ~ / chef-repo / .chef

[email protected]: ~ $ cd chef-repo /

ตอนนี้ให้เราสร้างคู่คีย์ RSA เรากำลังสร้างคีย์นี้เพื่อรับรองความถูกต้องของเวิร์กสเตชันและเข้าถึงเซิร์ฟเวอร์เชฟ.

[email protected]: ~ / chef-repo $ ssh-keygen -b 4096

การสร้างคู่คีย์ RSA สาธารณะ / ส่วนตัว.

ป้อนไฟล์ที่จะบันทึกคีย์ (/home/geekflare/.ssh/id_rsa):

ป้อนข้อความรหัสผ่าน (ว่างเปล่าเพราะไม่มีข้อความรหัสผ่าน):

ป้อนวลีรหัสผ่านเดียวกันอีกครั้ง:

ข้อมูลประจำตัวของคุณได้รับการบันทึกใน /home/geekflare/.ssh/id_rsa.

รหัสสาธารณะของคุณได้รับการบันทึกใน /home/geekflare/.ssh/id_rsa.pub.

กุญแจสำคัญคือ:

SHA256: OK / ZyLn + AOMj97F5Z0e1K5o1bxChyKx3ms4HvK06DxI [email protected]

ภาพสุ่มของกุญแจคือ:

+—[RSA 4096]—-+

| |

| . |

| o .. . |

| . + .. . |

| E .o S o |

| . + .. +. o |

| = + .. B .o . |

| o =.&= = oooo |

| .&OB = oo o |

+—-[SHA256]—–+

ตอนนี้คัดลอกคีย์ไปยัง chef-server จากเวิร์กสเตชัน.

[email protected]: ~ / chef-repo $ sudo ssh-copy-id [email protected]

/ usr / bin / ssh-copy-id: INFO: แหล่งที่มาของรหัสที่จะติดตั้ง: "/home/geekflare/.ssh/id_rsa.pub"

/ usr / bin / ssh-copy-id: INFO: พยายามเข้าสู่ระบบด้วยรหัสใหม่เพื่อกรองสิ่งที่ติดตั้งไว้แล้ว

/ usr / bin / ssh-copy-id: INFO: 1 คีย์ยังคงติดตั้ง – หากคุณได้รับแจ้งตอนนี้จะต้องติดตั้งคีย์ใหม่

[email protected]รหัสผ่านของ:

จำนวนคีย์ที่เพิ่ม: 1

ตอนนี้ลองเข้าสู่ระบบด้วย: "ssh ‘[email protected]‘"

และตรวจสอบเพื่อให้แน่ใจว่ามีการเพิ่มเฉพาะคีย์ที่คุณต้องการ.

ตอนนี้ฉันจะคัดลอกไฟล์. pem (chefadmin.pem และ chef-org.pem) จากเซิร์ฟเวอร์เชฟไปยังเวิร์กสเตชัน.

[email protected]: ~ / chef-repo $ scp [email protected]: ~ / .chef / *. pem ~ / chef-repo / .chef /

chefadmin.pem 100% 1674 105.1KB / s 00:00

chef-org.pem 100% 1674 103.0KB / s 00:00

ตรวจสอบว่าไฟล์. pem ได้รับการคัดลอกเรียบร้อยแล้วบนเวิร์กสเตชัน.

[email protected]: ~ / chef-repo $ ls ~ / chef-repo / .chef

chefadmin.pem chef-org.pem

สร้างการควบคุมเวอร์ชัน

ในขณะที่ทำงานกับเวิร์กสเตชันการเปลี่ยนแปลงและการแก้ไขจำนวนมากเกิดขึ้นในตำราอาหาร (หน่วยกำหนดค่า) ดังนั้นจึงต้องมีระบบควบคุมเวอร์ชันเพื่อติดตามการเปลี่ยนแปลงเหล่านี้ ดังนั้นให้เราดำเนินการต่อไปและสร้างระบบควบคุมเวอร์ชันโดยใช้ Git บนเวิร์กสเตชัน ฉันจะสร้างที่เก็บคอมไพล์ภายในไดเรกทอรี chef-repo ฉันจะเพิ่มชื่อผู้ใช้และอีเมลเพื่อกำหนดค่าคอมไพล์

[email protected]: ~ $ git config – global user.name geekflare

[email protected]: ~ $ git config – global user.email [email protected]

ให้เราเพิ่มไดเรกทอรี. chef ไปยังไฟล์. gitignore.

[email protected]: ~ $ echo ".พ่อครัว" > ~ / พ่อครัว repo / .gitignore

ตอนนี้ฉันจะเรียกใช้เพิ่มและคอมมิตคำสั่ง git จากไดเรกทอรี Chef-repo.

[email protected]: ~ $ cd ~ / chef-repo

[email protected]: ~ / chef-repo เพิ่ม $ git .

[email protected]: ~ / chef-repo $ git กระทำ -m "กระทำครั้งแรก"

[ต้นแบบ (รูทคอมมิต) 99c8c11] การคอมมิทเริ่มต้น

16 ไฟล์มีการเปลี่ยนแปลงการแทรก 359 (+)

สร้างโหมด 100644 .chef-repo.txt

สร้างโหมด 100644 .gitignore

สร้างโหมดใบอนุญาต 100644

สร้างโหมด 100644 README.md

สร้างโหมด 100644 chefignore

สร้างโหมด 100644 cookbooks / README.md

สร้างโหมด 100644 ตำรา / ตัวอย่าง / README.md

สร้างโหมด 100644 ตำรา / ตัวอย่าง / คุณลักษณะ / default.rb

สร้างโหมด 100644 cookbooks / example / metadata.rb

สร้างโหมด 100644 ตำรา / ตัวอย่าง / สูตร / default.rb

สร้างโหมด 100644 data_bags / README.md

สร้างโหมด 100644 data_bags / example / example_item.json

สร้างโหมด 100644 environment / README.md

สร้างโหมด 100644 environment / example.json

สร้างโหมด 100644 บทบาท / README.md

สร้างโหมด 100644 บทบาท / example.json

ตรวจสอบสถานะ.

[email protected]: ~ / chef-repo สถานะ $ git

ในสาขาต้นแบบ

ไม่ต้องทำอะไรเลยทำความสะอาดต้นไม้

สร้าง CookBook เล่มแรกของคุณ

ตอนนี้การติดตั้ง WorkStation เสร็จสมบูรณ์แล้วและคุณสามารถเริ่มสร้างตำราอาหารได้ที่ WorkStation ลองสร้างตำราอาหารตัวอย่างบน WorkStation และดูว่ามันสร้างสำเร็จหรือไม่.

ฉันจะเรียกใช้คำสั่งด้านล่างเพื่อสร้างตำราอาหาร.

[email protected]: ~ $ Chef สร้างตำราทำอาหาร geekflare_cookbook

กำลังสร้างตำราอาหาร geekflare_cookbook

– ตรวจสอบให้แน่ใจเนื้อหาของไฟล์ตำราอาหารที่ถูกต้อง

– ส่งไฟล์ตำราอาหารให้กับ Git

– สร้างความมั่นใจในการกำหนดค่าการส่งมอบ

– สร้างความมั่นใจในการส่งที่ถูกต้องสร้างเนื้อหาตำราเรียน

– การเพิ่มการกำหนดค่าการนำส่งไปยังสาขาของฟีเจอร์

– การเพิ่มตำราทำอาหารไปที่สาขา

– ผสานฟีเจอร์การส่งเนื้อหาเข้ากับข้อมูลหลัก

ตำราของคุณพร้อมแล้ว พิมพ์ “cd geekflare_cookbook” เพื่อป้อน.

มีหลายคำสั่งที่คุณสามารถเรียกใช้เพื่อเริ่มต้นในการพัฒนาและทดสอบตำราเรียนของคุณ.

พิมพ์ `local delivery – ช่วย ‘เพื่อดูรายการทั้งหมด.

ทำไมไม่เริ่มต้นด้วยการเขียนการทดสอบ? การทดสอบสูตรอาหารเริ่มต้นจะถูกเก็บไว้ที่:

การทดสอบ / บูรณาการ / default / default_test.rb

หากคุณต้องการดำน้ำคุณสามารถดูสูตรเริ่มต้นได้ที่:

สูตร / default.rb

สร้าง chef-repo จากนั้นย้ายไปที่ directory-repo ในไดเรกทอรี

[email protected]: ~ $ Chef สร้างแอป chef-repo

คำเตือน: คำสั่ง ‘แอปตัวสร้างพ่อครัว’ ถูกคัดค้านและจะถูกลบออกจากรุ่นใหญ่ครั้งต่อไปของ Chef DK / Workstation (เมษายน 2019)

สูตร: code_generator :: แอพ

* ไดเรกทอรี [/ home / geekflare / chef-repo] การกระทำที่สร้าง (ล่าสุด)

* แม่แบบ [/home/geekflare/chef-repo/.kitchen.yml] การกระทำที่สร้าง

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/.kitchen.yml

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/.kitchen.yml จาก none เป็น ceae09

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* ไดเรกทอรี [/ home / geekflare / chef-repo / test / Integration / default] การสร้าง

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo / test / integration / default

* เทมเพลต [/home/geekflare/chef-repo/test/integration/default/default_test.rb] การกระทำ create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/test/integration/default/default_test.rb

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/test/integration/default/default_test.rb จากไม่มีเป็น 0f757b

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* เทมเพลต [/home/geekflare/chef-repo/README.md] การกระทำที่สร้าง

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/README.md จาก 2b4f46 เป็น 6401b8

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* ไดเรกทอรี [/ home / geekflare / chef-repo / cookbooks] การกระทำที่สร้าง (ล่าสุด)

* ไดเรกทอรี [/ home / geekflare / chef-repo / cookbooks / chef-repo] การกระทำที่สร้าง

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo / cookbooks / chef-repo

* เทมเพลต [/home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb] การสร้างแอคชั่น

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/cookbooks/chef-repo/metadata.rb จาก none เป็น e30be3

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* cookbook_file [/ home / geekflare / chef-repo / cookbooks / chef-repo / chefignore] การกระทำสร้าง

– สร้างไฟล์ใหม่ / home / geekflare / chef-repo / cookbooks / chef-repo / chefignore

– อัปเดตเนื้อหาในไฟล์ / home / geekflare / chef-repo / cookbooks / chef-repo / chefignore จากไม่มีเป็น 9e2ffd

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* cookbook_file [/ home / geekflare / chef-repo / cookbooks / chef-repo / Berksfile] การกระทำสร้าง

– สร้างไฟล์ใหม่ / home / geekflare / chef-repo / cookbooks / chef-repo / Berksfile

– อัปเดตเนื้อหาในไฟล์ / home / geekflare / chef-repo / cookbooks / chef-repo / Berksfile จากไม่มีเป็น 15e000

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

ไดเรกทอรี * [/ home / geekflare / chef-repo / cookbooks / chef-repo / สูตร] การกระทำที่สร้าง

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo / cookbooks / chef-repo / สูตร

* เทมเพลต [/home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb] การสร้างการกระทำ

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/cookbooks/chef-repo/recipes/default.rb จาก none เป็น f56ecb

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

ไดเรกทอรี * [/ home / geekflare / chef-repo / cookbooks / chef-repo / ข้อมูลจำเพาะ / หน่วย / สูตร /] การกระทำสร้าง

– สร้างไดเรกทอรีใหม่ / home / geekflare / chef-repo / cookbooks / chef-repo / ข้อมูลจำเพาะ / หน่วย / สูตร

* cookbook_file [/home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb] การกระทำ create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb จาก none เป็น 1f80e1

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* เทมเพลต [/home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb] การกระทำ create_if_missing

– สร้างไฟล์ใหม่ /home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb จากไม่มีเป็น 666a01

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

* execute [initialize-git] การดำเนินการ

– รัน git init .

* cookbook_file [/home/geekflare/chef-repo/.gitignore] การสร้างการกระทำ

– อัปเดตเนื้อหาในไฟล์ /home/geekflare/chef-repo/.gitignore จาก 25558e เป็น edcd62

(เอาท์พุท diff ถูกระงับโดยการตั้งค่า)

กำหนดค่ามีด

Knife เป็นเครื่องมือบรรทัดคำสั่งสำหรับจัดการโหนดตำราและสูตรอาหาร หากต้องการกำหนดค่า Knife ให้สร้างไฟล์ config.rb และใส่เนื้อหาด้านล่างลงในไฟล์นี่คือการกำหนดค่า Knife.

[email protected]: ~ $ sudo gedit ~ / chef-repo / .chef / config.rb
current_dir = File.dirname (__ FILE__)

log_level: ข้อมูล

log_location STDOUT

node_name ‘chefadmin’

client_key "chefadmin.pem"

validation_client_name ‘chef-org-validator’

validation_key "พ่อครัว-org-validator.pem"

chef_server_url ‘https: // chef-geekflare / องค์กร / chef-org’

cache_type ‘BasicFile’

cache_options (: path => "# {ENV [ ‘หน้าแรก’]} /. พ่อครัว / checksums" )

cookbook_path ["# {} current_dir /../ ตำรา"]

ตอนนี้ไปที่ไดเรกทอรี chef-repo และคัดลอกใบรับรอง SSL.

[email protected]: ~ $ cd chef-repo

[email protected]: ~ / chef-repo $ ssl fetch

คำเตือน: ใบรับรองจาก chef-geekflare จะถูกดึงและนำไปวางใน Trusted_cert ของคุณ

ไดเรกทอรี (/home/geekflare/chef-repo/.chef/trusted_certs).

มีดไม่ได้มีวิธีการตรวจสอบเหล่านี้เป็นใบรับรองที่ถูกต้อง คุณควร

ตรวจสอบความถูกต้องของใบรับรองเหล่านี้หลังจากดาวน์โหลด.

การเพิ่มใบรับรองสำหรับ chef-geekflare ใน /home/geekflare/chef-repo/.chef/trusted_certs/chef-geekflare.crt

เพื่อตรวจสอบว่าตั้งค่า config.rb ถูกต้องแล้วให้รันคำสั่งด้านล่าง.

[email protected]: ~ / chef-repo $ รายชื่อลูกค้า

พ่อครัว org-ตรวจสอบ

Bootstrap a Node

Bootstrap ทำงานจากเครื่องเวิร์กสเตชันและติดตั้ง chef-client บนโหนด จากนั้นโหนดสามารถอ่านการกำหนดค่าจากเซิร์ฟเวอร์เชฟโดยใช้ผู้ใช้และรหัสผ่านของโหนดไคลเอ็นต์เพื่อบูตสแตรปโหนด.

ตอนนี้ฉันจะบูตโหนดที่มีที่อยู่ IP 192.168.0.109 ชื่อผู้ใช้ geekflare และรหัสผ่าน geekflare.org.

[email protected]: ~ / chef-repo / .chef $ bootstrap $ 192.168.0.109 -x geekflare -P geekflare.org – โหนดชื่อ geekflare-client-1

การสร้างไคลเอนต์ใหม่สำหรับ geekflare-client-1

การสร้างโหนดใหม่สำหรับ geekflare-client-1

เชื่อมต่อกับ 192.168.0.109

192.168.0.109 —–> การติดตั้ง Chef Omnibus (-v 14)

192.168.0.109 ดาวน์โหลด https://omnitruck-direct.chef.io/chef/install.sh

192.168.0.109 ไปยังไฟล์ /tmp/install.sh.9250/install.sh

192.168.0.109 พยายาม wget…

192.168.0.109 Ubuntu 18.10 x86_64

192.168.0.109 การรับข้อมูลสำหรับเชฟที่มีเสถียรภาพ 14 สำหรับ Ubuntu…

192.168.0.109 ดาวน์โหลด https://omnitruck-direct.chef.io/stable/chef/metadata?v=14&p = อูบุนตู&PV = 18.10&m = x86_64

192.168.0.109 ไปยังไฟล์ /tmp/install.sh.9261/metadata.txt

192.168.0.109 พยายาม wget…

192.168.0.109 sha1 534bae390bde3bd9d93bef99335f62246624f32b

192.168.0.109 sha256 94bc60b3a97ddadf77a70c7678ec77a676942c74f8152a2c70a0f5b68e22a42e

192.168.0.109 url https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb

192.168.0.109 เวอร์ชั่น 14.14.25

192.168.0.109 ไฟล์ข้อมูลเมตาที่ดาวน์โหลดดูว่าถูกต้อง…

192.168.0.109 ดาวน์โหลด https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb

192.168.0.109 ไปยังไฟล์ /tmp/install.sh.9261/chef_14.14.25-1_amd64.deb

192.168.0.109 พยายาม wget…

192.168.0.109 การเปรียบเทียบ checksum กับ sha256sum…

192.168.0.109 การติดตั้งเชฟ 14

192.168.0.109 ติดตั้งด้วย dpkg…

192.168.0.109 การเลือกเชฟแพ็คเกจที่ไม่ได้เลือกก่อนหน้านี้.

(กำลังอ่านฐานข้อมูล … 204803 ไฟล์และไดเรกทอรีที่ติดตั้งในปัจจุบัน)

192.168.0.109 กำลังเตรียมที่จะแกะ … / chef_14.14.25-1_amd64.deb …

192.168.0.109 กำลังเปิดบรรจุพ่อครัว (14.14.25-1) …

192.168.0.109 การตั้งค่าพ่อครัว (14.14.25-1) …

192.168.0.109 ขอบคุณที่ติดตั้ง Chef Infra Client! สำหรับความช่วยเหลือในการเริ่มต้นเยี่ยมชม https://learn.chef.io

192.168.0.109 การเริ่มต้นรันไคลเอ็นต์ลูกแรก…

192.168.0.109 การเริ่มต้น Chef Client เวอร์ชัน 14.14.25

192.168.0.109 การแก้ไขตำราสำหรับรายการเรียกใช้: []

192.168.0.109 การทำข้อมูลตำราให้ตรงกัน:

192.168.0.109 การติดตั้ง Cookbook Gems:

192.168.0.109 การรวบรวมตำราอาหาร…

192.168.0.109 [2019-10-23T10: 52: 57-04: 00] คำเตือน: โหนด geekflare-client-1 มีรายการเรียกใช้ที่ว่างเปล่า.

192.168.0.109 การแปลงทรัพยากร 0

192.168.0.109

192.168.0.109 รถจัดการวิ่ง:

192.168.0.109 การรันตัวจัดการสมบูรณ์

192.168.0.109 Chef Client เสร็จสิ้นทรัพยากร 0/0 ได้รับการอัปเดตใน 07 วินาที

ตอนนี้ฉันจะแสดงรายการโหนดทั้งหมดที่ได้รับ bootstrapped

[email protected]: ~ / chef-repo / .chef $ รายการโหนดด

geekflare-client-1

รันคำสั่งด้านล่างเพื่อรับรายละเอียดของโหนด.

[email protected]: ~ / chef-repo / .chef $ node node แสดง geekflare-client-1

ชื่อโหนด: geekflare-client-1

สภาพแวดล้อม: _default

FQDN: ไคลเอ็นต์โหนด

IP: 192.168.0.109

เรียกใช้รายการ:

บทบาท:

สูตร:

แพลตฟอร์ม: Ubuntu 18.10

Tags:

ตอนนี้การตั้งค่าก็พร้อม!

เราได้ติดตั้งเซิร์ฟเวอร์เชฟเวิร์คสเตชั่นและโหนดบน Ubuntu เรียบร้อยแล้ว คุณสามารถไปข้างหน้าและเริ่มสร้างสูตรอาหารและตำราอาหารใน Chef สำหรับการจัดการการกำหนดค่าโครงสร้างพื้นฐาน.

หากคุณเป็นผู้เริ่มต้นแน่นอนคุณอาจจะชอบสิ่งนี้ แน่นอน Udemy เกินไป.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map