Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 28-08-2015, 03:35 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Bài 1: Puppet - CÔNG CỤ QUẢN LÝ CẤU HÌNH
CÔNG CỤ QUẢN LÝ CẤU HÌNH - PUPPET (Phần 1)

1. Sơ lược về quản lý cấu hình

Quản lý cấu hình (Configuration Management) là một quá trình thiết lập và duy trì tính nhất quán về tốc độ, tính năng của một hệ thống, một dịch vụ với yêu cầu, thiết kế và các thông tin vận hành xuyên suốt vòng đời của nó.
Việc quản lý cấu hình thường thực hiện bởi quá trình xây dựng trước mẫu cho các chương trình cần quản lý và chỉ cần thêm thông số phù hợp khi sử dụng. Các máy chủ sẽ tải cấu hình dành cho mình về và thực thi các công việc cài đặt, cấu hình để đạt được một trạng thái định trước. Quản lý cấu hình thường sử dụng ngôn ngữ của vấn đề cần giải quyết để che đi sự phức tạp, khác biệt giữa các nền tảng ở phía dưới. Một số chương trình hỗ trợ chức năng để đảm bảo máy chủ luôn có một cấu hình như đã định trước ngay cả khi cấu hình máy chủ đó đã bị người dùng thay đổi thủ công.
2. Các tiêu chí đánh giá một hệ thống quản lý cấu hình

• Tính đơn giản: Đối tượng sử dụng các hệ thống quản lý cấu hình chủ yếu là các nhà quản trị và vận hành hệ thống. Bởi vậy tính đơn giản là một trong những tiêu chuẩn hàng đầu khi đánh giá. Những chương trình sử dụng ngôn ngữ phức tạp để viết file cấu hình có thể gây khó khăn cho việc sử dụng của người dùng.
• Tính linh hoạt: Một mẫu cấu hình cần có khả năng áp dụng cho nhiều máy khác nhau, với những thay đổi tùy thuộc theo các thông số của từng máy.
• Khả năng mở rộng tính năng: nhu cầu dễ dàng thêm các thành phần của bên thứ ba vào một chương trình quản lý cấu hình là cần thiết. Giúp các nhà phát triển dễ dàng thêm các thành phần của họ, đồng thời giúp chương trình có thể sử dụng ở một môi trường chuyên biệt mà không đòi hỏi thay đổi mã nguồn chương trình.

• Khả năng mở rộng hệ thống (scaling): với những hệ thống lớn, mô hình của chương trình quản lý cấu hình sử dụng ảnh hưởng lớn tới khả năng mở rộng của nó. Một chương trình sử dụng mô hình máy chủ - máy khách với một máy chủ duy nhất sẽ dẫn đến quá tải và không thể mở rộng hệ thống.
3. Một số phần mềm hiện nay

3.1 Ansible

Trọng tâm của Ansible là sắp xếp hợp lý và nhanh chóng, và không yêu cầu cài đặt agent node. Vì vậy, thực hiện tất cả các chức năng Ansible qua SSH. Ansible được xây dựng trên Python, trái ngược với các nền tảng Ruby của Puppet và Chef

Lắp đặt Ansible có thể được thực hiện thông qua một kho Git clone để một máy chủ tổng Ansible. Tiếp theo đó, các nút phải được quản lý được thêm vào cấu hình Ansible, và SSH phép phím được gắn vào mỗi nút, liên quan đến người dùng rằng Ansible sẽ chạy theo. Một khi điều này được thực hiện, các máy chủ tổng Ansible có thể giao tiếp với các nút thông qua SSH và thực hiện tất cả các nhiệm vụ cần thiết. Để hoạt động với hệ điều hành hoặc phân bố không cho phép truy cập SSH gốc bằng cách mặc định, Ansible chấp nhận thông tin sudo để chạy các lệnh như là người chủ trên các hệ thống.

Ansible có thể sử dụng paramiko, một thực hiện Python SSH2, hoặc tiêu chuẩn SSH cho truyền thông, nhưng cũng có một chế độ cho phép tăng tốc nhanh hơn và thông tin liên lạc có quy mô lớn hơn.

Ansible có thể được chạy từ dòng lệnh mà không có việc sử dụng các tập tin cấu hình cho các nhiệm vụ đơn giản, chẳng hạn như đảm bảo một dịch vụ đang chạy, hoặc để kích hoạt bản cập nhật và khởi động lại. Đối với nhiệm vụ phức tạp hơn, cấu hình Ansible được xử lý qua YAML cú pháp trong tập tin cấu hình được gọi là Playbooks.

3.2 Chef

Chef là tương tự Puppet về khái niệm tổng thể, trong đó có một máy chủ chính và các client được cài đặt trên các nút quản lý, nhưng nó khác nhau trong việc triển khai thực tế. Ngoài một máy chủ tổng thể, một cài đặt Chef cũng đòi hỏi một máy trạm để kiểm soát tổng thể. Các đại lý có thể được cài đặt từ các máy trạm sử dụng các công cụ dao có sử dụng SSH cho việc triển khai, giảm bớt gánh nặng cài đặt. Sau đó, các nút quản lý xác thực với các bậc thầy thông qua việc sử dụng các chứng chỉ.
Cấu hình của Chef xoay quanh Git, vì vậy kiến ​​thức về cách Git hoạt động là một điều kiện tiên quyết cho hoạt động Chef. Như Puppet, Chef được dựa trên Ruby, vì vậy kiến ​​thức của Ruby cũng được yêu cầu. Như với rối, mô-đun có thể được tải về hoặc viết từ đầu, và triển khai tới các nút quản lý cấu hình yêu cầu sau đây.

Không giống như Puppet, Chef chưa có một tính năng push tốt. Điều này có nghĩa rằng các nhân viên sẽ cần phải được cấu hình để kiểm tra với chủ định kỳ, và ứng dụng ngay lập tức các thay đổi là không thực sự tốt.
3.3 SaltStack

Salt là một công cụ CLI dựa trên sử dụng một phương pháp thúc đẩy giao tiếp khách hàng. Nó có thể được cài đặt thông qua Git hoặc thông qua hệ thống quản lý gói trên máy chủ và khách hàng. Khách hàng sẽ thực hiện một yêu cầu của một máy chủ tổng thể, khi chấp nhận trên tổng thể cho phép mà minion phải được kiểm soát.
Salt có thể giao tiếp với khách hàng thông qua SSH nói chung, nhưng khả năng mở rộng được tăng cường đáng kể thông qua việc sử dụng các đại lý khách hàng gọi là tay sai. Ngoài ra, Salt bao gồm một máy chủ tập tin không đồng bộ để tăng tốc độ tập tin phục vụ cho tay sai, mà là tất cả các phần của Salt của tập trung vào khả năng mở rộng cao.
Như Puppt, Chef, Salt cung cấp một số lượng lớn các module để giải quyết cụ thể phần mềm, hệ điều hành, và các dịch vụ điện toán đám mây. Module tùy chỉnh có thể được viết bằng Python hoặc PyDSL. Salt không cung cấp quản lý Windows tốt như Unix, nhưng là nhiều hơn với Unix và Linux.
3.4 Puppet

Puppet cho là trung tâm chia sẻ lớn nhất trong số bốn phần mềm. Nó được coi là an toàn nhất trong môi trường không đồn nhất.Nó hoàn thiện nhất về tính sẵn sàng, module, và giao diện người dùng. Puppet đại diện cho toàn bộ hình ảnh của trung tâm dữ liệu, bao gồm tất cả các hệ điều hành và cung cấp các công cụ đối với các hệ điều hành chính. Thiết lập ban đầu là tương đối đơn giản, đòi hỏi việc lắp đặt một máy chủ tổng đại lý và khách hàng trên mỗi hệ thống phải được quản lý.
Từ đó, các CLI đơn giản, cho phép tải module và cài đặt thông qua lệnh. Sau đó, thay đổi các tập tin cấu hình được yêu cầu phải chỉnh mô-đun cho các nhiệm vụ yêu cầu, và các khách hàng rằng sẽ nhận được các hướng dẫn sẽ làm như vậy khi họ kiểm tra với chủ hoặc thông qua một push sẽ kích hoạt các thay đổi ngay lập tức.
Ngoài ra còn có các module điều khoản đó có thể và cấu hình hợp máy chủ điện toán đám mây và các trường hợp máy chủ ảo. Tất cả các module và cấu hình này được xây dựng với một ngôn ngữ Puppet cụ thể dựa trên Ruby, và do đó sẽ yêu cầu chuyên môn theo chương trình ngoài các kỹ năng quản trị hệ thống.

Suu tap

  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 12:38 PM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.