•  ánh sáng không có thực

Alpine

Pine, Alpine linux dựa trên OSTree

Chọn cái gì Hệ điều hành chạy trên máy chủ của bạn là một vấn đề thuận tiện và quen thuộc. Sự tiện lợi có nghĩa là bạn muốn thứ gì đó mang lại cho bạn ít rắc rối nhất có thể, sự quen thuộc có nghĩa là bạn sẽ thích hơn không phải để tìm hiểu những điều bổ sung nếu bạn không cần thiết.

Máy chủ của tôi là vật nuôivì vậy tôi có thể phát hành thủ công một vài lệnh thỉnh thoảng và không yêu cầu tự động hóa hoàn toàn.

Sau khi thử CoreOS trong một năm, tôi chuyển sang đơn giản hóa của riêng tôi bản phân phối dựa trên núi cao và ostree.

Bàn thắng

Phiên bản núi cao này lấy tín hiệu từ flatcar dự án-nguyên tử và được cho là được cài đặt dưới dạng hệ thống tệp gốc chỉ đọc với các bản cập nhật xảy ra nguyên tử, nghĩa là chúng thành công hoặc hệ thống hoán đổi trở lại trạng thái trước đó. Để có thể thực hiện được điều này, hệ thống phải luôn có ít nhất hai bức ảnh chụp nhanh của phiên bản hệ thống tệp đã phát hành, có sẵn trên bộ nhớ.

Mục tiêu

Hệ thống sẽ chạy trong những môi trường nào? Tôi đã nhắm mục tiêu OVZ và [KVM], nhưng nói chung, bạn có thể nói hộp đựng máy ảo với sự khác biệt chính là các vùng chứa không chạy hạt nhân của riêng chúng, đặc biệt là chúng không có quá trình khởi động, chúng gọi trực tiếp vào trong đó hệ thống (ví dụ như trong mộtDockerfile nó sẽ được định nghĩa bởiCMD hoặcENTRYPOINT các câu lệnh), chịu trách nhiệm quản lý cây các prcesses sẽ giữ cho vùng chứa hoạt động (giống như một phiên làm việc bình thường, nếu quá trình init chết, vùng chứa sẽ kết thúc). Ngoài ra, vùng chứa không thể định cấu hình các nút hệ thống và có thể có các hạn chế bổ sung về khả năng.

Chia nhỏ quá trình xây dựng

Hình ảnh được xây dựng như thế nào?

Sự phụ thuộc

Cácprepare.sh script xử lý các phần phụ thuộc, hầu hết trong số đó là các gói để cung cấp các công cụ cli phổ biến nhưcoreutils, util-linux, binutils , các tiện ích để hoạt động với các thiết bị khối nhưblkid, sfdisk, multipath-tools và hệ thống tệp vớixfsprogse2fsprogs . Cácsquashfs-tools gói được sử dụng ở cuối để nén hệ thống tệp gốc đã xây dựng. MỘTglib gói tương thích cũng được cài đặt theo mặc định vì núi cao dựa trênmusl, gói tương thích hoạt động bằng cách cung cấp một số thư viện được xây dựng dựa trên.

Cái cây

Cây tệp cho cả máy ảo và vùng chứa được xây dựng tương ứng vớimake.shmake_ovz.sh . Đây là mô tả đơn giản về các bước

Đối với vùng chứa, trình tự giống nhau, nhưng cấu hình thay đổi, bởi vì hệ thống không được khởi động từ bộ nạp khởi động ostree gặp khó khăn khi xác minh môi trường, chúng tôi phải áp dụng một số cách giải quyết và thiết lập một số thiết bị thường được xử lý bởi initramfs bươc chân. Đây là cách OVZ hoặc LXC các mẫu được định cấu hình.

Bao bì

Sau khi chúng tôi có cây tệp cam kết ostree của chúng tôibuild.sh hoặcbuild-update.sh chăm sóc sản xuất hiện vật sẽ được phân phối. Sự khác biệt giữa các tập lệnh là phiên bản cập nhật bắt đầu từ kho lưu trữ ostree trước đó và cũng tạo ra một tạo tác delta mà một hệ thống đang chạy có thể áp dụng trên phiên bản ostree của nó để thực hiện nâng cấp. Đây là mô tả đơn giản về các bước xây dựng

Cấu hình phân vùng được áp dụng với fdisklayout.cfg tệp xác định kích thước phân vùng, chúng tôi có một phân vùng cho rootfs (~430M ), phân vùng khởi động (~40M ) và một phân vùng hoán đổi (~40M ). Với các vùng chứa chỉ cần bỏ qua việc gắn bản dựng trước đó qua thiết bị vòng lặp và chỉ cần kéo cam kết ostree mới qua kho lưu trữ ostree cũ (đã giải nén).

Tùy chỉnh

Tôi đang gói những gì trong hình ảnh này (ngoài các gói đã cài đặt)?

Những gì đã từng là và không còn nữa

Cài đặt

Để cài đặt hình ảnh, bạn có thể tải nó lên nhà cung cấp dịch vụ lưu trữ và cài đặt từ VNC, trong trường hợp máy ảo, nhưng tôi thường chiếm quyền cài đặt hiện có, vì nó luôn có thể, cũng như tôi đã thử nghiệm tập lệnh thiết lập so với phiên bản của bản phân phối linux, nói chung tôi sử dụng debian-8 hoặc ubuntu-14, chưa thử nghiệm những cái khác vì những cái này tôi luôn thấy có sẵn. Các bước thiết lập sau

Kết luận

tôi đã làm cây thông 5 years from time of writing and I am still using it, and I see no reasons to switch to anything else. Alpine as a linux distro is great, simple, and I have never experienced breakage. I can easily deploy on NATed máy chủ có xu hướng cung cấp tài nguyên cực thấp, thực sự tôi có một hộp đang chạy chỉ với64M RAM và vẫn có tất cả các tính năng tôi cần.

[1]hệ thống tệp gốc

Thẻ bài: