bóng đá tỷ lệ cá cược Phần 2: Cùng xây dựng bằng Ansible (Phần 1) (1/2)

Tính năng đặc biệt về công nghệ

Phần 2: Cùng xây dựng bằng Ansible (Phần 1)

Ansible

Giới thiệu

Sau khi tạo một playbook, bạn có thể chạy ngay playbook đó bao nhiêu lần tùy thích với cùng một nội dung Tuy nhiên, trong các dự án thực tế, mỗi khách hàng có những cài đặt khác nhau và việc viết playbook mỗi lần sẽ rất tốn thời gian
Phần đầu tiên của Phần 2 sẽ giới thiệu những kiến thức cơ bản về cách viết playbook và phần thứ hai của Phần 3 sẽ giới thiệu cách sử dụng nó theo những cách nâng cao như tái sử dụng

Lần trước tôi đã giải thích rằng có bốn loại dòng Ansible, nhưng lần bóng đá tỷ lệ cá cược tôi sẽ giới thiệu ngắn gọn cách xây dựng môi trường thực thi, viết playbook và thực thi nó bằng công cụ CUI Ansible

Phiên bản OSS (Ansible) và phiên bản thương mại (Ansible Engine)

Vì phiên bản OSS (Ansible) và phiên bản thương mại (Ansible Engine) gần như giống nhau nên chúng tôi sẽ sử dụng phiên bản OSS (Ansible) trong bài viết bóng đá tỷ lệ cá cược Chúng tôi cũng sẽ giới thiệu các bước để cài đặt nó trên CentOS7, một hệ điều hành RedHat miễn phí

Xây dựng môi trường Ansible

Đối với CentOS, Ansible được đưa vào kho lưu trữ tiêu chuẩn và có thể được cài đặt bằng trình quản lý gói tiêu chuẩn yum Để có thể vận hành môi trường cài đặt SELinux, libselinux-python cũng được cài đặt

# yum update -y    Vui lòng cập nhật trước nội dung của kho lưu trữ

Nếu bạn muốn sử dụng phiên bản Ansible mới hơn phiên bản bạn nhận được từ kho lưu trữ tiêu chuẩn, bạn cần lấy phiên bản đó từ kho lưu trữ epel không chuẩn
Khi cài đặt trên RHEL, hãy bật riêng kho lưu trữ bổ sung trước khi cài đặt

Xây dựng môi trường bằng Ansible

Khi xây dựng bằng Ansible, bạn cần tạo một tệp có tên playbook
Playbook là tệp xác định thông tin cấu hình liên quan đến việc xây dựng môi trường và có thể được viết ở định dạng YAML

Playbook thường bao gồm hai loại: playbook cấp cao nhất (thường được đặt tên là siteyml) và playbook vai trò (sách giải trí cho từng vai trò được gọi từ playbook cấp cao nhất)
Bạn cũng sẽ cần một tệp có tên là tệp kiểm kê liệt kê các máy chủ và thiết bị sẽ được vận hành

Xây dựng môi trường bằng Ansible

Playbook giống như kịch bản của một vở kịch (vở kịch bằng tiếng Anh)
Có thể quản lý tập lệnh bóng đá tỷ lệ cá cược bằng cách chia nó thành một tập lệnh bao gồm toàn bộ tập lệnh (sổ tay cấp cao nhất) và một tập lệnh được chia theo vai trò (sổ tay vai trò), giúp dễ dàng sử dụng lại hoặc chỉ thay đổi một phần Hơn nữa, tôi tưởng tượng có một danh sách diễn viên (tệp kiểm kê) cho bạn biết ai đang đóng vai gì

Cấu trúc thư mục Ansible

Playbook và tệp kho lưu trữ phải được đặt ở vị trí thích hợp Tạo vị trí bóng đá tỷ lệ cá cược trước

Cấu hình sau được khuyến nghị từ quan điểm tái sử dụng Cấu trúc thư mục bóng đá tỷ lệ cá cược được coi là cách thực hành tốt nhất

Cấu trúc thư mục Ansible

Lần bóng đá tỷ lệ cá cược, sử dụng Apache làm ví dụ, tạo các thư mục và tệp sau

/data/playbook

Mô tả "apache" trong cấu trúc thư mục bóng đá tỷ lệ cá cược trong sổ tay cấp cao nhất và liên kết nó với sổ tay vai trò apache Có thể tạo và đặt các playbook cho nhiều vai trò khác nhau như "tomcat" và "mysql" song song với thư mục "apache"

Tên của playbook cấp cao nhất (siteyml trong hình) và tệp kho lưu trữ (máy chủ trong hình) có thể tùy ý, nhưng tên của playbook vai trò "mainyml" là cố định
Có thể tạo nhiều sổ chơi cấp cao nhất và tệp kho lưu trữ trong cùng một thư mục và có thể sử dụng cùng một sổ chơi Vai trò cho các tệp khác

Tạo tệp kiểm kê

Đây là tệp xác định máy chủ/thiết bị nào sẽ thực thi quy trình được mô tả trong sổ tay Nhóm các thiết bị thực hiện cùng quá trình xử lý và ghi lại người dùng cũng như mật khẩu cần thiết cho mỗi kết nối

Tạo tệp kiểm kê

Các ký tự viết trong [] là tên được đặt cho nhóm
Lần bóng đá tỷ lệ cá cược, chúng tôi giả định rằng chúng tôi sẽ xây dựng một máy chủ web, máy chủ AP và máy chủ DB làm ví dụ, vì vậy chúng tôi đã đặt tên cho các nhóm máy chủ web, apserver và dbserver
Ghi IP máy chủ và tên (tên có thể phân giải) và các thông tin khác dưới tên nhóm Bạn có thể có nhiều nhóm trong một tệp kiểm kê

Mặc dù có thể bao gồm thông tin đăng nhập nhưng vì lý do bảo mật, chúng tôi khuyên bạn không nên viết trực tiếp tên người dùng và mật khẩu như trong ví dụ Lần bóng đá tỷ lệ cá cược mình viết trực tiếp vì là mẫu, nhưng khi sử dụng trong dự án thực tế, vui lòng thực hiện các biện pháp như ghi tên file key để tránh tạo rủi ro bảo mật

Chúng tôi đã chuẩn bị tệp kiểm kê sau đây cho cấu trúc Apache được đề cập ở trên

[máy chủ web]

Tôi đã tạo một nhóm có tên là máy chủ web và máy chủ có tên 1722111142 thuộc về nhóm đó Nó nói rằng bạn nên đăng nhập vào máy chủ bóng đá tỷ lệ cá cược bằng cách sử dụng root/mật khẩu người dùng/mật khẩu

Tạo cẩm nang

YAML dùng để mô tả playbook là ký hiệu sử dụng thụt lề để thể hiện cấu trúc khối (tương đương với () và
Chỉ cho phép khoảng trắng để thụt lề Không có giới hạn cụ thể nào cho số miễn là có vị trí bắt đầu, nhưng nó thường được thụt vào theo đơn vị hai khoảng trắng

Trong Ansible, thông tin cấu hình được ghi cho mỗi khối bắt đầu bằng dấu gạch nối

Tạo cẩm nang

Ví dụ: nếu bạn muốn chuẩn bị một cẩm nang để cài đặt Apache, hãy tạo một cẩm nang cấp cao nhất và cẩm nang vai trò như hiển thị bên dưới

〇Cẩm nang cấp cao nhất:

---

Trong cẩm nang cấp cao nhất, ngoài cài đặt để gọi cẩm nang dành cho Vai trò, hãy đặt các mục sau

Mục cài đặt Tóm tắt
Tên Nó đại diện cho tên được đặt cho khối bóng đá tỷ lệ cá cược Trong quá trình thực thi, tên bóng đá tỷ lệ cá cược và quá trình có thành công hay không sẽ được hiển thị trên màn hình, vì vậy hãy đặt cho nó bất kỳ tên nào dễ hiểu
Máy chủ Nhập tên nhóm được ghi trong tệp kiểm kê Quy trình cẩm nang sẽ được thực thi cho các nhóm được liệt kê ở đây
Ở đây, một nhóm có tên máy chủ web được xác định riêng trong tệp kiểm kê nên tên của nhóm đó được liệt kê ở đây
Trở thành Khi sử dụng đặc quyền Root hoặc sử dụng một người dùng cụ thể, hãy nhập thông tin vào đây
Vai trò Tải Playbook Vai trò mô tả quá trình xử lý thực tế
Trong cấu trúc thư mục được mô tả sau, hãy nhập "tên thư mục lưu trữ Playbook Vai trò"
Ở đây, tên thư mục là apache

〇 Sách hướng dẫn vai trò:

---

Đây là cẩm nang xác định quá trình xử lý thực tế Mô tả mô-đun sẽ được sử dụng và các tham số mà mô-đun đó yêu cầu Ví dụ: đặt các mục sau

Đặt mục Tóm tắt
Tên Đây là tên được đặt cho khối bóng đá tỷ lệ cá cược Trong quá trình thực thi, tên bóng đá tỷ lệ cá cược và quá trình có thành công hay không sẽ được hiển thị trên màn hình, vì vậy hãy đặt cho nó bất kỳ tên nào dễ hiểu
ngon quá, systemd Chứa tên mô-đun sẽ được sử dụng
Trang web tài liệu Ansible dành cho mô tả
() và chọn cái bạn muốn sử dụng
là các tham số được yêu cầu bởi mỗi mô-đun
tên: Tên dịch vụ mục tiêu hoạt động
state: Mô tả nội dung bạn muốn
Ví dụ)
trạng thái: mới nhất Đã cài đặt phiên bản mới nhất
trạng thái: đã bắt đầu Trạng thái kích hoạt
vv