Hướng dẫn con rối - Giải pháp một cửa để quản lý cấu hình



Puppet Tutorial là blog thứ hai của loạt blog Puppet. Nó nói về kiến ​​trúc Puppet, các thành phần và một ví dụ để triển khai mysql & php bằng Puppet.

Hướng dẫn về con rối

Puppet Tutorial là blog thứ hai của loạt blog Puppet. Tôi hy vọng bạn đã đọc blog trước của tôi trên “ Con rối là gì ”Giải thích Quản lý cấu hình và tại sao nó quan trọng với sự trợ giúp của các ca sử dụng.

Trong Hướng dẫn về con rối này, các chủ đề sau sẽ được đề cập:





Quản lý cấu hình là gì?

trong tôi blog trước , Tôi đã giới thiệu về Quản lý cấu hình và những thách thức mà nó giúp chúng tôi vượt qua. Trong Hướng dẫn về con rối này, tôi sẽ giải thích cho bạn về các hoạt động phụ thuộc lẫn nhau của Quản lý cấu hình.Nhưng trước đó, chúng ta hãy hiểu thế nào là Mục cấu hình (CI). Mục cấu hình là bất kỳ thành phần dịch vụ, yếu tố cơ sở hạ tầng hoặc mục nào khác cần được quản lý để đảm bảo cung cấp dịch vụ thành công. Ví dụ về CI bao gồm các tài liệu yêu cầu riêng lẻ, phần mềm, mô hình và kế hoạch.



Quản lý cấu hình bao gồm các yếu tố sau:

  • Nhận dạng cấu hình
  • Thay đổi cách quản lý
  • Kế toán trạng thái cấu hình
  • Kiểm tra cấu hình

Sơ đồ dưới đây giải thích các thành phần này:

Các thành phần quản lý cấu hình - Hướng dẫn con rối - Edureka



Nhận dạng cấu hình: Đó là quá trình:

  • Gắn nhãn các mục cấu hình phần mềm và phần cứng với số nhận dạng duy nhất
  • Xác định tài liệu mô tả một mục cấu hình
  • Nhóm các mục cấu hình liên quan thành đường cơ sở
  • Gắn nhãn các bản sửa đổi cho các mục cấu hình và đường cơ sở.

Thay đổi cách quản lý: Đó là một cách tiếp cận có hệ thống để đối phó với sự thay đổi cả từ quan điểm của một tổ chức và cá nhân.

Kế toán trạng thái cấu hình: bao gồm quá trình ghi lại và báo cáo các mô tả mục cấu hình (ví dụ: phần cứng, phần mềm, chương trình cơ sở, v.v.) và tất cả các điểm khởi đầu từ cơ sở trong quá trình thiết kế và sản xuất. Trong trường hợp có vấn đề nghi ngờ, có thể nhanh chóng xác định việc xác minh cấu hình đường cơ sở và các sửa đổi đã được phê duyệt.

Kiểm tra cấu hình: Đánh giá cấu hình cung cấp một cơ chế để xác định mức độ mà trạng thái hiện tại của hệ thống phù hợp với đường cơ sở và tài liệu mới nhất. Về cơ bản, nó là một cuộc đánh giá chính thức để xác minh rằng sản phẩm được phân phối sẽ hoạt động như quảng cáo, khuyến mại hoặc theo bất kỳ cách nào đã hứa với khách hàng. Nó sử dụng thông tin có sẵn làm kết quả của các cuộc kiểm tra và đánh giá chất lượng cùng với thông tin kế toán trạng thái cấu hình, để cung cấp sự đảm bảo rằng những gì được yêu cầu đã được xây dựng.

Hãy cho chúng tôi hiểu Quản lý cấu hình với một ca sử dụng. Giả sử nếu bạn phải cập nhật một phần mềm cụ thể hoặc bạn muốn thay thế nó, Trong trường hợp đó, hãy làm theo sơ đồ bên dưới để Quản lý cấu hình thành công:

Bây giờ là thời điểm chính xác để hiểu về Kiến trúc Rối.

Hướng dẫn con rối - Kiến trúc của Con rối

Con rối sử dụng kiến ​​trúc Master-Slave. Sơ đồ dưới đây mô tả tương tự:

cách chuyển đổi nhị phân sang thập phân trong java

Các chức năng sau được thực hiện trong hình trên:

  • Đặc vụ Con rối gửi Thông tin cho Bậc thầy Con rối. Sự thật về cơ bản làcặp dữ liệu khóa / giá trị đại diện cho một số khía cạnh của trạng thái Slave, chẳng hạn như địa chỉ IP, thời gian hoạt động, hệ điều hành hoặc liệu đó có phải là một máy ảo hay không. Tôi sẽ giải thích sự kiện chi tiết sau trong blog.
  • Puppet Master sử dụng các dữ kiện để biên dịch Catalog xác định cách cấu hình Slave. Mục lụclà một tài liệu mô tả trạng thái mong muốn cho mỗi tài nguyên mà Puppet Master quản lý trên một Slave. Tôi sẽ giải thích chi tiết về danh mục và tài nguyên sau.
  • Puppet Slave báo cáo lại với Master cho biết rằng Cấu hình đã hoàn tất, hiển thị trong trang tổng quan Con rối.

Hãy xem video hướng dẫn về Puppet này để hiểu sâu về Puppet.

Hướng dẫn con rối cho người mới bắt đầu | Đào tạo DevOps | Edureka

Hướng dẫn về múa rối - Bậc thầy múa rối và giao tiếp nô lệ

Puppet Master và Slave giao tiếp thông quamột kênh được mã hóa an toàn với sự trợ giúp của SSL. Sơ đồ dưới đây mô tả tương tự:

Như bạn có thể thấy từ Hình ảnh trên:

  • Puppet Slave yêu cầu chứng chỉ Puppet Master.
  • Sau khi nhận được chứng chỉ Puppet Master, Master yêu cầu chứng chỉ Slave.
  • Khi Master đã ký chứng chỉ Slave, Slave sẽ yêu cầu cấu hình / dữ liệu.
  • Cuối cùng, Puppet Master sẽ gửi cấu hình đến Puppet Slave.

Bây giờ chúng ta hãy xem xét các thành phần Puppet khác nhau.

Hướng dẫn con rối - Các thành phần của Con rối

Thao tác: Mỗi Slave đều có chi tiết cấu hình của nó trong Puppet Master, được viết bằng ngôn ngữ Puppet bản địa. Các chi tiết này được viết bằng ngôn ngữ mà Puppet có thể hiểu được và được gọi là Manifest. Chúng bao gồm mã Con rối và tên tệp của chúng sử dụng .pp sự mở rộng. Về cơ bản đây là các chương trình Rối.
Ví dụ: Bạn có thể viết một Manifest trong Puppet Master để tạo một tệp và cài đặt máy chủ Apache trên tất cả các Puppet Slaves được kết nối với Puppet Master.

Mô-đun: Mô-đun con rối là một tập hợp các Manifest và dữ liệu (chẳng hạn như dữ kiện, tệp và mẫu) và chúng có cấu trúc thư mục cụ thể. Các mô-đun rất hữu ích cho việc tổ chức mã Con rối của bạn, vì chúng cho phép bạn chia mã của mình thành nhiều Mô-đun. Mô-đun là các gói mã và dữ liệu độc lập.

Nguồn: Tài nguyên là đơn vị cơ bản để mô hình hóa cấu hình hệ thống. Mỗi Tài nguyên mô tả một số khía cạnh của hệ thống, như một dịch vụ hoặc gói cụ thể.

Yếu tố: Facter thu thập thông tin cơ bản (sự thật) về Puppet Slave như chi tiết phần cứng, cài đặt mạng, loại và phiên bản hệ điều hành, địa chỉ IP, địa chỉ MAC, khóa SSH, v.v. Những dữ kiện này sau đó được cung cấp trong Puppet Master’s Manifests dưới dạng các biến.

Mcollective: Nó là một khuôn khổ cho phép một số công việc được thực hiện song song trên nhiều Slave. Nó thực hiện các chức năng khác nhau như:

  • Tương tác với các cụm nô lệ, cho dù trong nhóm nhỏ hoặc triển khai rất lớn.
  • Sử dụng mô hình quảng bá để phân phối các yêu cầu. Tất cả các Slave nhận tất cả các yêu cầu cùng một lúc, các yêu cầu có bộ lọc đính kèm và chỉ các Nô lệ phù hợp với bộ lọc mới thực hiện theo yêu cầu.
  • Sử dụng các công cụ dòng lệnh đơn giản để gọi các Slave từ xa.
  • Viết báo cáo tùy chỉnh về cơ sở hạ tầng của bạn.

Danh mục: Danh mục mô tả trạng thái mong muốn của từng tài nguyên được quản lý trên Slave. Nó là tập hợp tất cả các tài nguyên mà Puppet Master áp dụng cho một Slave nhất định, cũng như mối quan hệ giữa các tài nguyên đó.Danh mục được biên dịch bởi Puppet Master từ Manifests và dữ liệu do Slave cung cấp (chẳng hạn như dữ kiện, chứng chỉ và môi trường nếu được cung cấp), cũng như dữ liệu bên ngoài tùy chọn (chẳng hạn như dữ liệu từ bộ phân loại Slave bên ngoài, tài nguyên được xuất, và các chức năng). Sau đó Master phục vụ Catalog đã biên dịch cho Slave khi được yêu cầu.

Bây giờ trong Hướng dẫn về con rối này, phần tiếp theo của tôi sẽ tập trung vào Thực hành.

Hướng dẫn về con rối - Thực hành

Tôi sẽ chỉ cho bạn cách triển khai MySQL và PHP từ Puppet Master sang Puppet Slave. Tôi chỉ sử dụng một Slave cho mục đích trình diễn, có thể có hàng trăm Slave được kết nối với một Master. Để triển khai PHP và MySQL, tôi sẽ sử dụng các mô-đun được xác định trước có sẵn tại forge.puppet.com. Bạn cũng có thể tạo mô-đun của riêng mình.

cách truy cập aws cli

Bước 1: Trong Puppet Master, hãy cài đặt các mô-đun MySQL và PHP.

Thực hiện điều này:

1) mô-đun con rối cài đặt rốilabs-mysql –version 3.10.0

Mô-đun MySQL này cài đặt, cấu hình và quản lý dịch vụ MySQL. Mô-đun này quản lý cả cài đặt và cấu hình MySQL, cũng như mở rộng Puppet để cho phép quản lý các tài nguyên MySQL, chẳng hạn như cơ sở dữ liệu, người dùng và các khoản tài trợ.

2) mô-đun con rối cài đặt mayflower-php –version 4.0.0-beta1

Mô-đun này được sử dụng để quản lý PHP, cụ thể là php-fpm. PHP-FPM (FastCGI Process Manager) là một triển khai PHP FastCGI thay thế với một số tính năng bổ sung hữu ích cho các trang web ở bất kỳ kích thước nào, đặc biệt là các trang web bận rộn hơn.

Bước 2: Trong Puppet Manifests bao gồm máy chủ MySQL và PHP.

Thực hiện điều này: vi /etc/puppet/manifests/site.pp

Bạn có thể sử dụng bất kỳ trình soạn thảo nào khác cũng như vim, gedit, v.v. Trong tệp site.pp này, hãy thêm thông tin sau:

bao gồm ':: mysql :: máy chủ' bao gồm ':: php'

Lưu và thoát.

Bước 3: Puppet Slaves kéo cấu hình của nó từ Master theo định kỳ (sau mỗi 30 phút). Nó sẽ đánh giá tệp kê khai chính và áp dụng mô-đun chỉ định thiết lập MySQL và PHP. Nếu bạn muốn dùng thử ngay lập tức, bạn cần chạy lệnh sau trên mỗi nút Slave:

Thực hiện điều này: điệp viên bù nhìn -t

Như vậy MySQL và PHP đã được cài đặt thành công trên nút Slave.

Bước 4: Để kiểm tra phiên bản MySQL và PHP đã cài đặt:

Thực hiện điều này:

1) mysql -v

2) php -version

Xin chúc mừng! MySQl và PHP đang hoạt động trong Puppet Slave của bạn. Ở đây tôi chỉ cho bạn thấy một Slave nhưng hãy tưởng tượng nếu có hàng trăm Slave. Trong trường hợp đó, công việc của bạn trở nên thật dễ dàng, Chỉ cần chỉ định các cấu hình trong Puppet Master và Puppet Slaves sẽ tự động đánh giá tệp kê khai chính và áp dụng mô-đun chỉ định thiết lập MySQL và PHP.

Nếu bạn tìm thấy cái này Hướng dẫn về con rối liên quan, thích hợp, kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo Chứng chỉ Edureka DevOps giúp người học có được kiến ​​thức chuyên môn về các quy trình và công cụ DevOps khác nhau như Puppet, Jenkins, Nagios và GIT để tự động hóa nhiều bước trong SDLC.