systemd-nspawn이 프로덕션 배포에 적합하지 않은 이유는 무엇입니까?

systemd-nspawn이 프로덕션 배포에 적합하지 않은 이유는 무엇입니까?

systemd-nspawn에 대해 읽는 동안,누군가 언급함프로덕션 환경에서는 사용하면 안 됩니다. 그 이유는 관리 및 배포 인프라가 부족하기 때문인 것으로 보입니다. 실용성이 유일한 이유입니까, 아니면 잠재적인 안전/기능적 이유도 있습니까?

답변1

Lennart Poettering은 2013년 연설에서 이를 언급했지만 2015년에는 다음과 같이 말한 것으로 인용되었습니다.

systemd에는 systemd-nspawn 컨테이너 관리자도 포함되어 있습니다. 이는 상대적으로 작지만 강력한 컨테이너 관리자 구현입니다. 처음에는 테스트 목적으로 작성했지만오늘날 우리는 다양한 생산 목적으로 사용될 수 있다고 생각합니다.. 실제로 CoreOS의 rkt 컨테이너 도구는 이를 하위 수준 컨테이너 백엔드로 사용합니다.

인용하다:systemd와 컨테이너가 만나는 곳: Lennart Poettering과의 Q&A

답변2

귀하의 소스는 시스템 개발자 Lennart Poettering의 데모를 설명합니다. Lennart는 Red Hat 직원입니다. Red Hat Enterprise Linux와 Fedora Linux 커뮤니티 배포판 모두 SELinux를 사용합니다.

systemd-nspawn과 SELinux 간의 통합이 손상된 것 같습니다. 예를 참조하세요.rhbz1416540. 또한 Fedora Linux(사용 시 기본값 [email protected]) 의 개인 네트워크 네임스페이스에서 시작된 컨테이너에서 네트워크에 액세스하려고 하면방화벽에 의해 차단됨.

내 결론은 systemd-nspawn이 컨테이너를 서버로 실행하는 것을 지원하지 않는다는 것입니다. Red Hat이 아닌 시스템에서 실행될 수도 있지만 어떤 이점도 얻을 수 없습니다.LSM기반 보호. 스스로 몇 가지 문제를 해결할 수 없다면 말이죠.

다른 잘 알려진 컨테이너 관리자에는 LSM 기반 보호가 포함되어 있습니다. 특히 Docker이지만 LXC에는 AppArmor에 대한 몇 가지 전략도 포함되어 있습니다.

프로덕션 준비가 완료되었다는 것은 사람들이 systemd-nspawn을 안전하게 사용하는 방법을 검토하고, 문서화하고, 심지어 마케팅까지 하고 있음을 의미합니다. 나는 systemd 개발자들이 적어도 아직은 실제로 그렇게 하지 않는다는 것을 인정할 만큼 정직하다고 생각합니다.

관련 정보