Apptainer là gì và bạn cài đặt nó như thế nào trên Ubuntu Server?

Gói Apptainer/Singularity, được thiết kế để thực thi các ứng dụng với hiệu năng cơ bản đồng thời duy trì mức độ bảo mật, tính di động và khả năng tái tạo cao, đã trở thành một trong những hệ thống triển khai vùng chứa phổ biến nhất cho Điện toán hiệu năng cao [HPC]

Bộ tính năng của Apptainer, một dự án nguồn mở với cộng đồng và cơ sở người dùng đang phát triển, trông giống như thế này

  • hỗ trợ ký khóa công khai/riêng tư xây dựng niềm tin
  • khả năng tương thích với Open Containers Initiative và Docker
  • mã hóa
  • tính di động
  • Run-rootless container để ngăn leo thang đặc quyền
  • sử dụng mạng tốc độ cao, hệ thống tệp, GPU và FPGA
  • dễ sử dụng
  • hỗ trợ thương mại có sẵn

Mặc dù không đơn giản để thiết lập như Docker, Apptainer có thể là hệ thống triển khai bạn đang tìm kiếm nếu bạn muốn bảo mật cao hơn trong vùng chứa của mình

Nhưng nó được cài đặt chính xác như thế nào?

Yêu cầu

Cả hai bản phân phối Linux dựa trên RHEL và Ubuntu đều hỗ trợ cài đặt Apptainer, tôi sẽ chỉ cho bạn cách thực hiện với máy chủ ưa thích của tôi, Ubuntu Server 22. Đó là nó; . 04, vì vậy bạn sẽ cần một phiên bản đang chạy của hệ điều hành đó và một người dùng có đặc quyền sudo

Cài đặt các phụ thuộc cần thiết

Việc cài đặt các phụ thuộc bắt buộc phải được thực hiện trước. Đăng nhập vào phiên bản Ubuntu của bạn và chạy lệnh


Trên đây là một lệnh duy nhất được chia thành các bước sử dụng ký tự và phiên bản một dòng của lệnh đó trông như thế này đối với những bạn mới sử dụng Linux

pkg-config, squashfs-tools và sudo apt-get install build-essential

curl wget git -y squashfuse fuse2fs fuse-overlayfs fakeroot


Việc cài đặt các phần phụ thuộc sẽ khó khăn hơn một chút nếu bạn đang sử dụng bản phân phối dựa trên RHEL vì trước tiên bạn phải cài đặt Công cụ phát triển với

Công cụ phát triển. Sudo yum cài đặt nhóm -y


Tiếp theo, thêm kho lưu trữ EPEL

Sudo yum cài đặt -y epel-phát hành


Cuối cùng, bạn có thể sử dụng để cài đặt các phụ thuộc


Cài đặt Go là bước tiếp theo, vì vậy trước tiên hãy đặt phiên bản và kiến ​​trúc với

xuất GOVERSION=1. 19. 1 HĐH=linux ARCH=amd64


Tải xuống tệp cần thiết với

wget -O /tmp/goversion. $OS-$Arch. hắc ín. gz  \n

https. //dl. Google. com/go/go${GOVERSION}. ${OS}-${ARCH}. hắc ín. gz


Di chuyển tệp đã tải xuống sau khi giải nén bằng cách sử dụng

/tmp/go$GOVERSION. $OS-$ARCH. sudo tar -C /usr/local -xzftar. gz


Sử dụng hai lệnh này để thêm tệp thực thi Go vào PATH của người dùng của bạn

"xuất PATH=$PATH. /usr/local/go/bin" >>bashrc


Công cụ Golangci-lint hiện phải được cài đặt với

cuộn tròn https. // raw -sSfLgithubusercontent. com/golangci/golangci-lint/master/installsh \n

đi env GOPATH/bin v1. 43 sh -s -- -b0


Với, thêm phần này vào PATH của bạn

"xuất PATH=$PATH. $[go env GOPATH]/bin" >>bashrc

Cài đặt và sao chép kho Apptainer

Bây giờ chúng ta có thể sao chép kho lưu trữ Apptainer và cài đặt chương trình sau khi loại bỏ các phụ thuộc

Sao chép kho lưu trữ với

Sao chép git bằng https. //githubcom/apptainer/apptainer. git


Nhập thư mục mới tạo bằng cách sử dụng


Xem biến thể gần đây nhất với


Để đảm bảo bạn đang sử dụng phiên bản mới nhất, hãy nhớ xem trang phát hành

Sử dụng lệnh để khởi chạy tập lệnh cấu hình


Thay đổi vào thư mục xây dựng


Chạy lệnh sau để biên dịch Apptainer


Lệnh nói trên sẽ mất tối đa 10 phút để hoàn thành, vì vậy đôi khi bạn có thể nghĩ rằng nó đã bị đình trệ. Đừng hoảng sợ;

Cài đặt Apptainer bằng lệnh make sau khi hoàn thành


Bằng cách xem phiên bản Apptainer bằng lệnh sau khi quá trình cài đặt hoàn tất, bạn có thể xác nhận mọi thứ diễn ra như mong đợi


Ở đầu ra, bạn sẽ thấy một cái gì đó tương tự như thế này

Phiên bản 1. 1 của Apptainer0-rc. 3


Tuyệt vời, apptainer đã được thiết lập và sẵn sàng hoạt động

Cách sử dụng Apptainer để triển khai vùng chứa

Bây giờ chúng tôi đã triển khai bộ chứa Hello World luôn giải trí với Apptainer, hãy tải xuống ứng dụng hello-world từ trung tâm Singularity bằng lệnh

Gói Apptainer/Singularity đã trở thành một trong những hệ thống triển khai vùng chứa được sử dụng rộng rãi nhất cho Điện toán hiệu năng cao [HPC]. Hệ thống container này được thiết kế để thực thi các ứng dụng với hiệu suất kim loại trần trong khi vẫn giữ được mức độ bảo mật, tính di động và khả năng tái tạo cao

Apptainer là một dự án nguồn mở với cộng đồng đang phát triển và cơ sở người dùng ngày càng mở rộng. Bộ tính năng trông giống như thế này

  • Hỗ trợ ký khóa công khai/riêng tư để tin tưởng
  • Khả năng tương thích với Docker và Open Containers Initiative
  • mã hóa
  • tính di động
  • Các thùng chứa chạy không cần root để cấm leo thang đặc quyền
  • Tận dụng GPU, FPGA, mạng tốc độ cao và hệ thống tệp
  • dễ sử dụng
  • hỗ trợ thương mại có sẵn

Mặc dù Apptainer gần như không dễ cài đặt như Docker, nhưng nếu bạn đang tìm kiếm tính bảo mật cao hơn trong các vùng chứa của mình, thì đây có thể chính là hệ thống triển khai mà bạn đang tìm kiếm

Nhưng nó được cài đặt như thế nào?

Yêu cầu

Apptainer có thể được cài đặt trên cả bản phân phối Linux dựa trên RHEL và Ubuntu. Tôi sẽ minh họa với máy chủ của mình, Ubuntu Server 22. 04, vì vậy bạn sẽ cần một phiên bản đang chạy của hệ điều hành đó và một người dùng có đặc quyền sudo. Thế là xong… bắt đầu bữa tiệc nào

Cài đặt các phụ thuộc cần thiết

Điều đầu tiên cần làm là cài đặt các phụ thuộc cần thiết. Đăng nhập vào phiên bản Ubuntu của bạn và ra lệnh


Đối với những bạn chưa quen với Linux, trên đây là một lệnh duy nhất được chia thành các bước bằng cách sử dụng ký tự \. Phiên bản một dòng của lệnh đó trông như thế này

sudo apt-get install build-essential libseccomp-dev pkg-config uidmap squashfs-tools \n

squashfuse fuse2fs fuse-overlayfs fakeroot cryptsetup curl wget git -y


Xin lưu ý, nếu bạn đang sử dụng bản phân phối dựa trên RHEL, việc cài đặt các phần phụ thuộc sẽ phức tạp hơn một chút. Trước tiên, bạn phải cài đặt Công cụ phát triển với

sudo yum groupinstall -y 'Công cụ phát triển'


Tiếp theo, thêm kho lưu trữ EPEL

Sudo yum cài đặt -y epel-phát hành


Cuối cùng, bạn có thể cài đặt các phụ thuộc với


Tiếp theo, chúng ta phải cài đặt Go. Đầu tiên, đặt phiên bản và kiến ​​trúc với

xuất GOVERSION=1. 19. 1 HĐH=linux ARCH=amd64


Tải xuống tệp cần thiết với

wget -O /tmp/go${GOVERSION}. ${OS}-${ARCH}. hắc ín. gz  \n

https. //dl. Google. com/go/go${GOVERSION}. ${OS}-${ARCH}. hắc ín. gz


Giải nén và di chuyển tệp đã tải xuống bằng

sudo tar -C /usr/local -xzf /tmp/go${GOVERSION}. ${OS}-${ARCH}. hắc ín. gz


Thêm tệp thực thi Go vào PATH của người dùng của bạn bằng hai lệnh sau

echo 'xuất PATH=$PATH. /usr/local/go/bin' >> ~/. bashrc


Bây giờ chúng ta cần cài đặt công cụ golangci-lint với

cuộn tròn -sSfL https. // thô. githubusercontent. com/golangci/golangci-lint/master/install. sh\n

sh -s -- -b $[go env GOPATH]/bin v1. 43. 0


Thêm phần này vào PATH của bạn với

echo 'xuất PATH=$PATH. $[go env GOPATH]/bin' >> ~/. bashrc

Sao chép Apptainer Repo và cài đặt

Khi không còn phụ thuộc, giờ đây chúng ta có thể sao chép kho lưu trữ Apptainer và cài đặt phần mềm

Sao chép kho lưu trữ với

bản sao git https. //github. com/apptainer/apptainer. git


Thay đổi vào thư mục mới được tạo với


Kiểm tra phiên bản mới nhất với


Đảm bảo kiểm tra trang phát hành để đảm bảo bạn đang sử dụng phiên bản mới nhất

Chạy tập lệnh cấu hình bằng lệnh


Thay đổi vào thư mục xây dựng


Biên dịch Apptainer bằng lệnh sau


Lệnh trên sẽ mất khá nhiều thời gian để hoàn thành [tối đa 10 phút]. Tại một số điểm, bạn có thể nghĩ rằng nó đã bị đình trệ. Không hoảng loạn. Giữ ngón tay của bạn cách xa phím tắt [Ctrl]+[C] và cho phép quá trình cài đặt hoàn tất

Khi lệnh make hoàn tất, hãy cài đặt Apptainer với


Khi quá trình cài đặt kết thúc, bạn có thể xác minh mọi thứ đã diễn ra theo đúng kế hoạch bằng cách xem phiên bản Apptainer bằng lệnh


Bạn sẽ thấy một cái gì đó như sau trong đầu ra

apptainer phiên bản 1. 1. 0-rc. 3


Vượt trội. Apptainer đã được cài đặt và sẵn sàng hoạt động

Cách triển khai vùng chứa với Apptainer

Bây giờ, hãy triển khai bộ chứa Hello World luôn thú vị với Apptainer. Để làm điều này, chúng tôi sẽ kéo xuống ứng dụng hello-world từ trung tâm Singularity bằng lệnh

Gói Apptainer/Singularity đã trở thành một trong những hệ thống triển khai vùng chứa được sử dụng rộng rãi nhất cho Điện toán hiệu năng cao [HPC]. Hệ thống container này được thiết kế để thực thi các ứng dụng với hiệu suất kim loại trần trong khi vẫn giữ được mức độ bảo mật, tính di động và khả năng tái tạo cao

Apptainer là một dự án nguồn mở với cộng đồng đang phát triển và cơ sở người dùng ngày càng mở rộng. Bộ tính năng trông giống như thế này

  • Hỗ trợ ký khóa công khai/riêng tư để tin tưởng
  • Khả năng tương thích với Docker và Open Containers Initiative
  • mã hóa
  • tính di động
  • Các thùng chứa chạy không cần root để cấm leo thang đặc quyền
  • Tận dụng GPU, FPGA, mạng tốc độ cao và hệ thống tệp
  • dễ sử dụng
  • hỗ trợ thương mại có sẵn

Mặc dù Apptainer gần như không phải là

Chủ Đề