피드 구독

Red Hat Enterprise Linux Atomic Host is a small footprint, purpose-built version of Red Hat Enterprise Linux that is designed to run containerized workloads. Building on the success of our last release, Red Hat’s Atomic-OpenShift team is excited to announce the general availability of Red Hat Enterprise Linux Atomic Host 7.2.6. This release features improvements in rpm-ostree, cockpit, skopeo, docker, and the atomic CLI. The full release notes can be found here. This post is going to explore a major new feature

, currently available as a Technology Preview: package layering.

Increasing the Flexibility of Atomic Host Deployments

By design, Atomic Host is an immutable operating system with simplified configuration, but state does need maintained between reboots, so directories like /etc/ and /var are writable for configuration and data respectively. All code is deployed to Atomic Host through atomic upgrades and rollbacks. Each release is composed from a fixed set of packages and, all workloads are deployed on top as Linux containers.

Containers make it simple to run traditional applications and microservices. Containers also make it simple to run debugging tools or monitoring agents on the host. The challenge is, most of the agents and tools that we use today were designed before containers were invented - hence, not every piece of software is easy to migrate into a container.

For the past two years, Red Hat has been promoting the concept of super-privileged containers (SPCs) to handle the “tools and agents” use case. We still believe this is an ideal approach for solving these use cases in a containerized environment.  That said, there are plenty of situations where it would be nice to simply add an rpm, or even a handful, to Atomic Host. Customers have been asking to do this, and we are excited to announce that it is now possible.

Package Layering

Let’s say we want to run something like lm_sensors on Atomic Host. We can easily create a dedicated SPC or add it to something along the lines of the rhel-tools container to accomplish this... or now we can just add the package plus dependencies directly to Atomic Host. This is especially useful for things like monitoring agents, drivers, etc.

In the following example I’ll add lm_sensors which will also pull in some perl dependencies.

bash-4.2# rpm-ostree pkg-add lm_sensors

notice: pkg-add is a preview command and subject to change.

Downloading metadata: [===================================================] 100%

Resolving dependencies... done

Will download: 29 packages (12.1 MB)

Downloading from rhel-7-server-rpms: [==============================] 100%

Importing: [==============================================================] 100%

Checking out tree b672bf8... done

Overlaying... done

Running %post for lm_sensors...... done

Writing rpmdb... done

Writing OSTree commit... done

Copying /etc changes: 27 modified, 4 removed, 62 added

Transaction complete; bootconfig swap: yes deployment count change: 1

Added:

lm_sensors-3.3.4-11.el7.x86_64

lm_sensors-libs-3.3.4-11.el7.x86_64

perl-4:5.16.3-286.el7.x86_64

---truncating dep list ---------------------------------------------------------------------

Run "systemctl reboot" to start a reboot
 

Now that the packages have been added and installed, we must reboot to use them.

bash-4.2#atomic host status

State: idle

Deployments:

* rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard

Version: 7.2.6 (2016-08-05 00:50:20)

BaseCommit: b672bf8a457cb28e003dee20c53749636ef5fce3e4743afe4aaad269d3aaa62a

Commit: 7694a2f0dc4d6d94346fadc429cc9914ec52578d0d0ef2612799cb2b85293e0f

OSName: rhel-atomic-host

Packages: lm_sensors

rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard

Version: 7.2.6 (2016-07-29 19:54:25)

Commit: b672bf8a457cb28e003dee20c53749636ef5fce3e4743afe4aaad269d3aaa62a

OSName: rhel-atomic-host
 

Checking the status of the host shows that we’ve added lm_sensors to the system!

The Fine Print

  1. pkg-add and pkg-remove is a tech preview feature and we would love for users to try it out and provide feedback.
  2. Currently we’re limited on installing packages that do not add users to the system. We will be working on adding this capability in the future, but in the meantime that will limit the number of packages that are installable via package layering. The transaction will currently error out if a package attempts to add a user.
  3. Dependencies are resolved in a familiar way using libdnf.  By default you’ll have access to the Red Hat Enterprise Linux repositories, and simply add any needed 3rd party repo files to /etc/yum.repos.d/.
  4. When `atomic host upgrade` is run layered packages will also be updated if newer versions are available in their repos.
  5. We can restore the system to its original state by running `rpm-ostree pkg remove [package(s)]` followed by a reboot.

Conclusion

At Red Hat, we think that containers and container hosts should make your life easier. While overlay packages are not the solution to every problem, they can be the difference between a convenient fives minutes of work or four hours of yak shaving. In other words, overlay packages could be the difference between being able to deploy an agent or tool quickly or spending half of a day building a container when you can’t or don’t want to.

We hope you enjoy using this release as much as we did making it. Please check out the new package layering functionality as well as a host of other new packages and features and let us know what you think by leaving a comment (below).


저자 소개

UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Original series icon

오리지널 쇼

엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리