Điểm:-1

làm cách nào để tự động cài đặt máy chủ với ảo hóa/ĐÈN (IaC nhỏ)?

lá cờ eg

Làm cách nào để tự động cài đặt máy chủ? Cơ sở hạ tầng/hệ thống nào phù hợp với nhu cầu của chúng tôi?

Chúng tôi có hơn 10 máy chủ phisical với hơn 100 máy ảo, chủ yếu là LAMP. Không quá nhiều nhưng cũng không phải bất cứ thứ gì có thể tự hoạt động. Tất cả các máy chủ đều có ảo hóa KVM. Chúng tôi lưu trữ các ứng dụng tùy chỉnh khác nhau cho khách hàng của mình mà chúng tôi thường xuyên sửa đổi. Vì vậy, đây không phải là một ứng dụng duy nhất cần mở rộng quy mô. Các nhóm dự án làm việc trực tiếp với khách hàng và với máy ảo và đây là một yêu cầu.

Vấn đề mà chúng tôi thường xuyên gặp phải là việc cài đặt lại VM/máy trở nên phức tạp vì không ai kiểm soát những thay đổi gần đây đối với chúng, điều này có nguy cơ gây mất ổn định, mọi người trì hoãn việc này càng lâu càng tốt và vấn đề ngày càng lớn hơn theo thời gian.

Tôi muốn thiết lập quy trình cài đặt lại ít nhất 3 tháng một lần và theo yêu cầu. Quá trình cài đặt lại nên bắt đầu với kho lưu trữ mã và bản sao lưu. Đây không phải là một bản sao VM.

Chúng tôi ước tính rằng điều này sẽ tiêu tốn của chúng tôi khoảng 6 tháng lao động cứ sau 3 tháng trong thiết lập hiện tại nếu được thực hiện thủ công. Làm thế nào chúng ta có thể giảm thời gian này và đồng thời tăng khả năng lặp lại của quy trình?

Câu hỏi đặt ra là phần mềm nào có thể giúp chúng tôi tự động hóa nhiệm vụ này. Nó phải càng nhẹ càng tốt. Chúng tôi không cần phân bổ nút tự động. Chúng ta chỉ cần cài đặt lại để tự động hóa nhất có thể. Chúng tôi cho rằng có sự giám sát của con người đối với mỗi lần cài đặt lại.

Các nút của chúng tôi chủ yếu là LAMP với hai hệ thống có dữ liệu cơ sở dữ liệu có cấu trúc hơn 1TB, một số >200GB và khoảng 50 máy ảo nhỏ, tùy chỉnh. Chúng tôi có thể lên lịch thời gian ngừng hoạt động theo kế hoạch của từng hệ thống một cách dễ dàng, vì vậy đây không phải là câu hỏi về tính khả dụng cao trong quá trình cài đặt lại.

Chúng ta chỉ cần tự động hóa việc cài đặt lại càng nhiều càng tốt.

lá cờ eg
Một người đưa ra downvote có thể bình luận về lý do không? Thật không lịch sự...
Điểm:3
lá cờ us

Bạn cần một khung quản lý cấu hình như Ansible, Saltstack, Puppet hoặc Chef.

Đó là công cụ sử dụng để quản lý và áp dụng các cấu hình. Tuy nhiên, việc lựa chọn công cụ thực tế là một phần nhỏ của dự án.

Bạn cần thiết kế và triển khai quy trình, trong đó tất cả các thay đổi đối với cơ sở hạ tầng được quản lý thông qua công cụ này.

Điều này đòi hỏi:

  • đào tạo mọi người sử dụng công cụ
  • thay đổi kiến ​​trúc hệ thống để không thể thực hiện thay đổi nếu không có công cụ
  • đối phó với sự phản kháng đối với việc thay đổi phương thức hoạt động cơ bản của con người

Bạn cũng nên xem xét việc thống nhất cơ sở hạ tầng ngăn xếp phần mềm.

Nếu mỗi VM có cấu hình phần mềm khác nhau một chút, bạn sẽ có

  • rất nhiều mã trùng lặp trong mã quản lý cấu hình của bạn cho các cài đặt khác nhau
  • logic phức tạp để chọn cách áp dụng cấu hình nào

Một trong hai yếu tố này làm tăng thêm rất nhiều chi phí bảo trì và kết quả cuối cùng có thể trở nên đau đớn như tình hình hiện tại của bạn.

lá cờ eg
Cảm ơn bạn đã trả lời. Bạn sẽ đề xuất khung nào để xem xét đầu tiên trong kịch bản này? Họ có hỗ trợ cài đặt ảo hóa máy chủ không?
lá cờ us
Tôi chỉ có kinh nghiệm với Ansible. Ít nhất thì Ansible có thể mở rộng được và nó có một cộng đồng tích cực cung cấp nhiều loại plugin cho nhiều mục đích. Tuy nhiên, bạn nên thực hiện phân tích / so sánh các sản phẩm của riêng mình, vì không thể đặt câu hỏi đủ chi tiết để xem xét mọi chi tiết về môi trường của bạn.
lá cờ eg
Tôi đã xem nhanh wiki ansible và có vẻ như nó tập trung vào việc quản lý máy chủ chứ không phải cài đặt lại. Theo kinh nghiệm của bạn, nó phù hợp với nhiệm vụ thiết lập máy ảo từ đầu đến mức nào? Mục tiêu của tôi là thay thế các thay đổi liên tục đối với máy ảo bằng cài đặt lại sạch từ kiểm soát nguồn.
lá cờ us
Bản thân tôi sử dụng Ansible để cài đặt máy chủ VPS từ đầu với ngăn xếp phần mềm và cấu hình mà tôi muốn nó có. Ngoài ra còn có các plugin để cung cấp máy chủ VPS trong AWS, v.v. Tôi khá chắc chắn rằng nó có thể đáp ứng tốt trường hợp sử dụng của bạn. Tuy nhiên, tất cả phụ thuộc vào trường hợp sử dụng chính xác và chi tiết. Bạn cần phải tự mình thử nó.
lá cờ eg
Tero, cảm ơn vì sự giúp đỡ của bạn. Tôi sẽ thử Ansible.
Điểm:0
lá cờ mx

Đám mây của bạn có khóa API không?

Hầu hết các đám mây đều có hình ảnh ĐÈN bằng một cú nhấp chuột, ví dụ:

Vultr: https://www.vultr.com/apps/lamp/

Đại dương kỹ thuật số: https://marketplace.digitalocean.com/apps/lamp

Linode: https://www.linode.com/docs/guides/lamp-stack-marketplace-app/

Nếu không, lựa chọn tuyệt đối của tôi là VestaCP https://vestacp.com/install/

https://hestiacp.com/

Cả hai đều thêm phụ trợ apache, nginx front-end, MySQL/mariadb/postgres và php/php-fpm. Tất cả các tùy chọn quá.

Để cập nhật, tôi sẽ tạo một máy chủ riêng, đặt khóa công khai SSH chung vào /root/.ssh/authorized_keys mà máy chủ riêng biệt có, có thể tự động đăng nhập vào từng máy chủ, đại loại như:

CÁC TRƯỜNG HỢP =(
10.0.0.5
10.0.0.6
10.0.0.7
...
)


cho INSTANCE trong "${INSTANCES[@]}"; làm
    ssh root@${INSTANCE} /bin/bash -c "apt update -y && apt upgrade -y"
xong

Đây là khá nhiều Terraform, Kubernetes, v.v. DIY.

Ngoài ra trên GitHub, có vô số hướng dẫn dành riêng cho đám mây, ví dụ:

Một Digital Ocean khác: https://github.com/ethanbeyer/DigitalOcean-Droplet-Setup

Một AWS: https://github.com/elionaz/aws-LAMP/blob/master/install_lamp.sh

lá cờ eg
Tôi muốn có thể thực hiện cài đặt kim loại trần. Mỗi VM có cấu hình riêng, chúng khác nhau tùy thuộc vào kích thước DB, v.v. Một số hệ thống yêu cầu nhiều hơn một máy đầy đủ. Tôi muốn có thể cài đặt Debian sạch hoặc bản phân phối khác do nhóm chọn và đưa ra bên ngoài tất cả thông tin cụ thể vm vào kho lưu trữ mã của chúng tôi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.