Xây dựng, chia sẻ, cộng tác

Vùng chứa là phiên bản nhẹ của không gian người dùng của hệ điều hành Linux - trên thực tế, đây là phiên bản tối thiểu. Tuy nhiên, nó vẫn là một hệ điều hành hoàn chỉnh và do đó chất lượng của vùng chứa này cũng quan trọng như một hệ điều hành hoàn chỉnh. Đó là lý do tại sao trong một thời gian dài chúng tôi đã đề nghị Hình ảnh Red Hat Enterprise Linux (RHEL), để người dùng có thể sở hữu các vùng chứa cấp doanh nghiệp được chứng nhận, hiện đại và cập nhật. Phóng hình ảnh container (hình ảnh vùng chứa) RHEL trên máy chủ vùng chứa RHEL cung cấp khả năng tương thích và tính di động giữa các môi trường, chưa kể thực tế rằng đây đã là những công cụ quen thuộc. Tuy nhiên, có một vấn đề. Bạn không thể chuyển hình ảnh đó cho người khác, ngay cả khi đó là khách hàng hoặc đối tác sử dụng Red Hat Enterprise Linux.

Xây dựng, chia sẻ, cộng tác

Nhưng bây giờ mọi thứ đã thay đổi

Với việc phát hành Hình ảnh cơ sở phổ quát của Red Hat (UBI), giờ đây bạn có thể nhận được độ tin cậy, bảo mật và hiệu suất mà bạn mong đợi từ các hình ảnh vùng chứa Red Hat chính thức, cho dù bạn có đăng ký hay không. Điều này có nghĩa là bạn có thể xây dựng một ứng dụng được đóng gói trên UBI, đặt nó vào sổ đăng ký vùng chứa mà bạn chọn và chia sẻ nó với mọi người. Red Hat Universal Base Image cho phép bạn xây dựng, chia sẻ và cộng tác trên một ứng dụng được đóng gói trong bất kỳ môi trường nào—nơi bạn muốn.

Xây dựng, chia sẻ, cộng tác

Với UBI, bạn có thể xuất bản và chạy các ứng dụng của mình trên hầu hết mọi cơ sở hạ tầng. Nhưng nếu bạn chạy chúng trên nền tảng Red Hat như Red Hat OpenShift và Red Hat Enterprise Linux, bạn có thể nhận được nhiều lợi ích hơn (nhiều vàng hơn!). Và trước khi chúng ta chuyển sang mô tả chi tiết hơn về UBI, hãy để tôi cung cấp Câu hỏi thường gặp ngắn gọn về lý do cần Đăng ký RHEL. Vậy điều gì xảy ra khi chạy hình ảnh UBI trên nền tảng RHEL/OpenShift?

Xây dựng, chia sẻ, cộng tác

Và bây giờ chúng ta đã hài lòng với việc tiếp thị, hãy nói chi tiết hơn về UBI

Lý do nên sử dụng UBI

Bạn sẽ cảm thấy thế nào khi biết rằng UBI sẽ mang lại lợi ích cho bạn:

  • Của tôi nhà phát triển muốn sử dụng hình ảnh vùng chứa có thể được phân phối và chạy trong mọi môi trường
  • Đội của tôi hoạt động muốn có hình ảnh cơ sở được hỗ trợ với vòng đời cấp doanh nghiệp
  • Của tôi kiến trúc sư muốn cung cấp Toán tử Kubernetes tới khách hàng/người dùng cuối của tôi
  • Của tôi khách hàng họ không muốn phải bận tâm với sự hỗ trợ cấp doanh nghiệp cho toàn bộ môi trường Red Hat của mình
  • Mỏ cộng đồng muốn chia sẻ, chạy, xuất bản các ứng dụng được đóng gói ở mọi nơi theo đúng nghĩa đen

Nếu ít nhất một trong các tình huống phù hợp với bạn, thì bạn chắc chắn nên xem xét UBI.

Không chỉ là một hình ảnh cơ bản

UBI nhỏ hơn một hệ điều hành hoàn chỉnh, nhưng UBI có ba điều quan trọng:

  1. Một bộ ba hình ảnh cơ sở (ubi, ubi-minimal, ubi-init)
  2. Hình ảnh với môi trường thời gian chạy được tạo sẵn cho nhiều ngôn ngữ lập trình khác nhau (nodejs, ruby, python, php, Perl, v.v.)
  3. Một tập hợp các gói liên quan trong kho YUM với các phần phụ thuộc phổ biến nhất

Xây dựng, chia sẻ, cộng tác

UBI được tạo làm cơ sở cho các ứng dụng web và ứng dụng gốc trên nền tảng đám mây được phát triển và phân phối trong các vùng chứa. Tất cả nội dung trong UBI là tập hợp con của RHEL. Tất cả các gói trong UBI đều được phân phối qua các kênh RHEL và được hỗ trợ tương tự như RHEL khi chạy trên các nền tảng được Red Hat hỗ trợ như OpenShift và RHEL.

Xây dựng, chia sẻ, cộng tác

Việc đảm bảo hỗ trợ chất lượng cao cho các container đòi hỏi rất nhiều nỗ lực từ các kỹ sư, chuyên gia bảo mật và các nguồn lực bổ sung khác. Điều này không chỉ yêu cầu kiểm tra hình ảnh cơ sở mà còn phải phân tích hành vi của chúng trên bất kỳ máy chủ nào được hỗ trợ.

Để giúp giảm bớt gánh nặng nâng cấp, Red Hat đang chủ động phát triển và hỗ trợ để UBI 7 có thể chạy trên máy chủ RHEL 8 chẳng hạn và UBI 8 có thể chạy trên máy chủ RHEL 7. Điều này mang lại cho người dùng sự linh hoạt, tự tin và an tâm khi sử dụng. nhớ rằng họ cần trong quá trình này. , chẳng hạn như các bản cập nhật nền tảng trong hình ảnh vùng chứa hoặc máy chủ được sử dụng. Bây giờ tất cả điều này có thể được chia thành hai dự án độc lập.

Ba hình ảnh cơ bản

Xây dựng, chia sẻ, cộng tác

Tối thiểu – được thiết kế cho các ứng dụng có tất cả các phần phụ thuộc (Python, Node.js, .NET, v.v.)

  • Bộ nội dung cài đặt sẵn tối thiểu
  • Không có tệp thực thi vụ kiện nào
  • Công cụ quản lý gói tối thiểu (cài đặt, cập nhật và gỡ bỏ)

Nền tảng – dành cho mọi ứng dụng chạy trên RHEL

  • Ngăn xếp mật mã hợp nhất OpenSSL
  • Ngăn xếp YUM đầy đủ
  • Các tiện ích hệ điều hành cơ bản hữu ích bao gồm (tar, gzip, vi, v.v.)

Đa dịch vụ – giúp dễ dàng chạy nhiều dịch vụ trong một vùng chứa

  • Được cấu hình để chạy systemd khi khởi động
  • Khả năng kích hoạt dịch vụ ở giai đoạn xây dựng

Hình ảnh vùng chứa với môi trường thời gian chạy ngôn ngữ lập trình được tạo sẵn

Ngoài các hình ảnh cơ sở cho phép bạn cài đặt hỗ trợ ngôn ngữ lập trình, UBI còn bao gồm các hình ảnh dựng sẵn với môi trường thời gian chạy được tạo sẵn cho một số ngôn ngữ lập trình. Nhiều nhà phát triển có thể chỉ cần lấy hình ảnh và bắt đầu làm việc trên ứng dụng mà họ đang phát triển.

Với sự ra mắt của UBI, Red Hat đang cung cấp hai bộ hình ảnh - dựa trên RHEL 7 và dựa trên RHEL 8. Chúng lần lượt dựa trên Bộ sưu tập phần mềm Red Hat (RHEL 7) và Luồng ứng dụng (RHEL 8). Các thời gian chạy này được cập nhật và nhận tối đa bốn bản cập nhật mỗi năm theo tiêu chuẩn, do đó, bạn luôn chạy các phiên bản mới nhất và ổn định nhất.

Dưới đây là danh sách hình ảnh container UBI 7:

Xây dựng, chia sẻ, cộng tác

Dưới đây là danh sách hình ảnh vùng chứa cho UBI 8:

Xây dựng, chia sẻ, cộng tác

Các gói liên quan

Sử dụng hình ảnh làm sẵn thực sự rất tiện lợi. Red Hat luôn cập nhật chúng và cập nhật chúng khi phát hành phiên bản RHEL mới, cũng như khi có các bản cập nhật CVE quan trọng theo chính sách cập nhật Chính sách hình ảnh RHEL để bạn có thể chụp một trong những hình ảnh này và bắt đầu làm việc trên ứng dụng ngay lập tức.

Xây dựng, chia sẻ, cộng tác

Nhưng đôi khi, khi tạo một ứng dụng, bạn có thể đột nhiên cần một số gói bổ sung. Hoặc đôi khi, để ứng dụng hoạt động, bạn cần cập nhật gói này hoặc gói khác. Đó là lý do tại sao hình ảnh UBI đi kèm với một bộ RPM có sẵn thông qua yum và được phân phối bằng mạng phân phối nội dung nhanh và có tính sẵn sàng cao (bạn đã có gói này!). Khi bạn chạy bản cập nhật yum trên CI/CD của mình tại thời điểm phát hành quan trọng đó, bạn có thể chắc chắn rằng nó sẽ hoạt động.

RHEL là nền tảng

Chúng tôi không bao giờ mệt mỏi khi nhắc lại rằng RHEL là nền tảng của mọi thứ. Bạn có biết nhóm nào ở Red Hat chịu trách nhiệm tạo hình ảnh cơ sở không? Ví dụ như thế này:

  • Nhóm kỹ thuật chịu trách nhiệm đảm bảo rằng các thư viện cốt lõi như glibc và OpenSSL, cũng như các thời gian chạy ngôn ngữ như Python và Ruby, cung cấp hiệu suất ổn định và chạy khối lượng công việc một cách đáng tin cậy khi được sử dụng trong các vùng chứa.
  • Nhóm bảo mật sản phẩm chịu trách nhiệm sửa lỗi kịp thời và các vấn đề bảo mật trong thư viện và môi trường ngôn ngữ, hiệu quả công việc của họ được đánh giá bằng một chỉ mục đặc biệt Cấp chỉ số sức khỏe vùng chứa.
  • Đội ngũ quản lý sản phẩm và kỹ sư tận tâm bổ sung các tính năng mới và đảm bảo vòng đời sản phẩm lâu dài, giúp bạn tự tin vào khoản đầu tư của mình để phát triển.

Red Hat Enterprise Linux tạo ra một máy chủ và hình ảnh tuyệt vời cho các bộ chứa, nhưng nhiều nhà phát triển đánh giá cao khả năng làm việc với hệ thống ở nhiều định dạng khác nhau, một số trong đó có thể nằm ngoài các trường hợp sử dụng được hỗ trợ của hệ thống Linux. Đây là lúc các hình ảnh UBI phổ quát được giải cứu.

Giả sử ngay bây giờ, ở giai đoạn này, bạn chỉ đang tìm kiếm một hình ảnh cơ bản để bắt đầu làm việc trên một ứng dụng được đóng gói đơn giản. Hay bạn đã tiến gần hơn đến tương lai và chuyển từ các vùng chứa độc lập chạy trên công cụ vùng chứa sang lịch sử gốc trên nền tảng đám mây bằng cách sử dụng việc xây dựng và chứng nhận các Toán tử chạy trên OpenShift. Trong mọi trường hợp, UBI sẽ cung cấp cơ sở tuyệt vời cho việc này.

Xây dựng, chia sẻ, cộng tác

Các vùng chứa bao gồm một phiên bản nhẹ của không gian người dùng của hệ điều hành ở định dạng đóng gói mới. Việc phát hành hình ảnh UBI đặt ra tiêu chuẩn công nghiệp mới cho việc phát triển trong vùng chứa, cung cấp vùng chứa cấp doanh nghiệp cho mọi người dùng, nhà phát triển phần mềm độc lập và cộng đồng nguồn mở. Đặc biệt, các nhà phát triển phần mềm có thể tiêu chuẩn hóa sản phẩm của họ bằng cách sử dụng một nền tảng duy nhất đã được chứng minh cho tất cả các ứng dụng được đóng gói của họ, bao gồm Toán tử Kubernetes. Các công ty phát triển sử dụng UBI cũng có quyền truy cập vào Chứng nhận Red Hat Container và Chứng chỉ Người vận hành OpenShift của Red Hat, từ đó cho phép xác minh liên tục phần mềm chạy trên nền tảng Red Hat như OpenShift.

Xây dựng, chia sẻ, cộng tác

Cách bắt đầu làm việc với một hình ảnh

Tóm lại, nó rất đơn giản. Podman không chỉ có sẵn trên RHEL mà còn có trên Fedora, CentOS và một số bản phân phối Linux khác. Tất cả những gì bạn phải làm là tải xuống hình ảnh từ một trong các kho lưu trữ sau và bạn đã sẵn sàng.

Đối với UBI 8:

podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init

Đối với UBI 7:

podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init

Chà, hãy xem Hướng dẫn hình ảnh cơ sở phổ quát đầy đủ

Nguồn: www.habr.com

Thêm một lời nhận xét