Điểm:0

Giải pháp tốt nhất để tự động triển khai nhiều ứng dụng máy chủ

lá cờ cn

Tôi vẫn là người mới làm quen với devops và sysadmin tổng thể, và vài ngày trước tôi muốn cài đặt lại hoàn toàn mọi thứ trên máy chủ của mình cũng như thiết lập đúng các dịch vụ và triển khai cho các ứng dụng, bây giờ vấn đề của tôi là cách tôi tiếp cận đúng cách tự động triển khai ứng dụng, xây dựng ứng dụng, tự động cập nhật ứng dụng và khởi động lại ứng dụng khi gặp sự cố.

Trước đây tôi đã làm điều này bằng cách sử dụng các tập lệnh bash đơn giản sẽ chạy trong nền và tự động kiểm tra các bản cập nhật và triển khai chúng nếu có phiên bản mới hơn trên kho lưu trữ từ xa.

Tôi đã tìm hiểu một chút về chủ đề này và tìm hiểu về docker và docker, kubernetes và docker Compose. Thoạt đầu, tất cả chúng đều có vẻ hoàn hảo, nhưng khi tìm hiểu thêm về chủ đề này, tôi không hoàn toàn thấy cần chúng, vì các ứng dụng tôi có không cần phải tách biệt hoặc chạy trên một phiên bản hoàn toàn tách biệt với hệ điều hành chính, các ứng dụng có thể chạy trên mọi hạt nhân chính.

Bây giờ điều tôi muốn biết là, nếu có bất kỳ công cụ hoặc ứng dụng nào để đạt được chính xác điều này, tôi đặc biệt cần

  • Lấy từ kho lưu trữ từ xa nếu có bất kỳ bản cập nhật nào (Cũng có thể đạt được bằng Github Actions, để kích hoạt một hành động trên máy chủ)
  • Tự động xây dựng nguồn mới hơn và khởi động lại ứng dụng
  • Khởi động lại ứng dụng nếu nó gặp sự cố hoặc hệ thống gặp sự cố vì bất kỳ lý do gì.
Điểm:2
lá cờ cz

Việc triển khai một ứng dụng không có vùng chứa là hoàn toàn có thể chấp nhận được. Chúng tôi đã làm điều đó mãi mãi và các thủ tục đã được biết rõ và ghi lại.

Từ mô tả của bạn, có vẻ như bạn muốn sắp xếp việc triển khai ứng dụng của mình và cần một công cụ để thực hiện điều đó. Tôi khuyên bạn nên bắt đầu với thứ gì đó như ansible. Nó rất đơn giản để bắt đầu nhưng sẽ mở rộng quy mô lên/ra xa như bạn có thể tưởng tượng. Mặc dù vậy, tôi sẽ không tham gia vào các thành phần dành riêng cho RHEL như Tower hoặc Nền tảng tự động hóa. Bỏ qua tất cả những thứ như vậy cho đến khi bạn hiểu rất rõ về Ansible.

Để chứng minh sự đơn giản, đây là một playbook Ansible mà tôi đã viết để cài đặt tất cả các các bản cập nhật có sẵn trên nhiều bản phân phối Linux. Tôi chắc chắn là bạn sẽ không hiểu một số phần, nhưng những phần bạn hiểu sẽ khá rõ ràng.

---
- máy chủ: tất cả
  chiến lược: miễn phí
  nhiệm vụ:
    - chặn:
      - tên: Cập nhật tất cả các gói
        dnf:
          Tên: "*"
          trạng thái: mới nhất
          update_cache: có

      - tên: Autoremove gói cũ
        dnf:
          tự động xóa: có

      khi nào: ansible_pkg_mgr == 'dnf'

    - chặn:
      - tên: Cập nhật tất cả các gói
        ừm:
          Tên: "*"
          trạng thái: mới nhất
          update_cache: có

      - tên: Autoremove gói cũ
        ừm:
          tự động xóa: có

      khi nào: ansible_pkg_mgr == 'yum'

    - chặn:
      - tên: Cập nhật tất cả các gói
        đúng cách:
          Tên: "*"
          trạng thái: mới nhất
          update_cache: có

      - tên: Autoremove gói cũ
        đúng cách:
          tự động xóa: có

      khi nào: ansible_pkg_mgr == 'apt'

Đă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.