We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Boot2container: An initramfs for reproducible infrastructures

00:00

Formal Metadata

Title
Boot2container: An initramfs for reproducible infrastructures
Subtitle
Who needs host OSes for containers anyway?
Title of Series
Number of Parts
287
Author
Contributors
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Fed up with managing your host OS for your docker environment? Try booting your containers directly from a light-weight initramfs! Flash a USB pendrive with the kernel and initramfs, or netboot it locally or from the internet, configure it from the kernel command line. Bonus: It also supports syncing volumes with S3-compatible cloud storages, making provisioning and back-ups a breeze! Containers have been an effective way to share reproducible environments for services, CI pipelines, or even user applications. In the high availability world, orchestration can then be used to run multiple instances of the same service. However, if your goal is to run these containers on your local machines, you would first need to provision them with an operating system capable of connecting to the internet, and then downloading, extracting, and running the containers. This operating system would then need to be kept up to date across all your machines which is error-prone and can lead to subtle differences in the run environment which may impact your services. In order to lower this maintenance cost and improve the reproducibility of the run environment, it would be best if we could drop this Operating System and directly boot the containers you want to run. With newer versions of podman, it is even painless to run systemd as the entrypoint, so why not create an initramfs that would perform the simple duty of connecting to the internet, and download a "root" container which can be shared between all the machines? If the size could be kept reasonable, both the kernel and initramfs could then be downloaded at boot time via iPXE either locally via PXE or from the internet. This is with this line of reasoning that we started working on a new project called boot2container which would receive its configuration via the kernel command line and construct a pipeline of containers. Additionally, we added support for volumes, optionally synced with any S3-compatible cloud storages. This project was then used in a bare-metal CI, both for the test machines and the gateways connecting them to the outside world. There, boot2container helps to provide the much-needed reproducibility of the test environment while also making it extremely easy to replicate this infrastructure in multiple locations to maximize availability.
Device driverGame theoryFirst-person shooterTransport Layer SecurityInheritance (object-oriented programming)Software testingThermodynamisches SystemSuite (music)Software developerContent (media)FeedbackKernel (computing)Interface (computing)Block (periodic table)Computer-generated imageryMiniDiscModul <Datentyp>Multiplication signPoint (geometry)Software testingCASE <Informatik>Thermodynamisches SystemUniqueness quantificationSoftware developerBitSuite (music)BootingGame theoryIntegrated development environmentRootDevice driverConnectivity (graph theory)Graphics processing unitView (database)10 (number)Run time (program lifecycle phase)Interface (computing)Product (business)Complex (psychology)MiniDiscResultantTranslation (relic)Block (periodic table)MereologyFocus (optics)Electronic visual displayVirtual machineKernel (computing)SoftwareComputing platformPartition (number theory)Linear regressionSynchronizationFeedbackUnit testingMathematicsMedical imagingBasis <Mathematik>Instance (computer science)TrailGraph coloringDesign by contractNormal (geometry)Natural numberPresentation of a groupDirected graphAreaSound effectTraffic reportingObservational studyRouter (computing)RoutingWeb 2.0State of matterArithmetic meanVideo gameContent (media)DiagramEngineering drawingComputer animation
Software testingComputer-generated imageryMiniDiscThermodynamisches SystemModul <Datentyp>Interface (computing)Compilation albumSuite (music)Kernel (computing)Computer networkDynamic Host Configuration ProtocolCache (computing)Data storage deviceEncryptionBootingDemo (music)Library (computing)BootingSoftwareVolume (thermodynamics)Multiplication signScripting languageKernel (computing)Gastropod shell1 (number)Virtual machineInternetworkingComputing platformService (economics)Video game consoleProjective planeMathematicsConnectivity (graph theory)Point cloudComputer programmingConfiguration spaceInteractive televisionSoftware testingSuite (music)Integrated development environmentRootBootingShared memoryWindowPortable communications deviceLocal ringMereologyKey (cryptography)Cache (computing)Inheritance (object-oriented programming)Computer fileCodeDemo (music)Process (computing)Software bugComputer architectureSynchronizationMetropolitan area networkLocal area networkModule (mathematics)RoutingData storage devicePlanningCASE <Informatik>MiniDiscInstance (computer science)Bookmark (World Wide Web)Computer hardwareFlow separationAxiom of choiceInterface (computing)Computer animation
Library (computing)MiniDiscKernel (computing)Demo (music)Generic programmingSimulationTap (transformer)Event horizonDevice driverTime zoneKeyboard shortcutCommunications protocolNetwork socketWorld Wide Web ConsortiumRead-only memoryNormal (geometry)Term (mathematics)Scalable Coherent InterfaceCoprocessorRevision controlDressing (medical)Standard deviationUsabilityGeometryAreaBlock designComputer-generated imageryInformationBackupFile systemThermodynamisches SystemVolumeCache (computing)Video game consoleRootCache (computing)BootingData storage deviceFile formatInformationSoftwareVirtualization2 (number)Partition (number theory)Run time (program lifecycle phase)BootingBefehlsprozessorRoutingComputer clusterVirtual machineAxiom of choiceInstance (computer science)MiniDiscMultiplication signComputer animationSource code
Exponential functionGEDCOMCodeSuite (music)System programmingServer (computing)Point cloudFeasibility studyBootingComputer hardwareChainThermodynamisches SystemRevision controlSoftware maintenanceReduction of orderInterface (computing)ArchitectureModul <Datentyp>Kernel (computing)Binary fileSoftware testingMereologyBlog2 (number)Demo (music)Multiplication signCASE <Informatik>Video game consoleLengthVirtual machinePoint cloudReal-time operating systemBootingMetropolitan area networkDifferent (Kate Ryan album)Wave packetResultantInternet forumArmDatabaseBitScripting languageFunction (mathematics)Gastropod shellProcess (computing)Direction (geometry)Semiconductor memoryRoutingComputer architectureSource codeCodeChainThermodynamisches SystemBus (computing)State of matterData structureMathematicsPlanningInternetworkingTouchscreenVolume (thermodynamics)Stability theoryInstance (computer science)Variable (mathematics)Software maintenanceReading (process)Software testingIntegrated development environmentSuite (music)Computer hardwareException handlingKernel (computing)WeightInheritance (object-oriented programming)RootBootingSystem callSource codeJSONComputer animation
2 (number)1 (number)Computer animationMeeting/Interview
BitClient (computing)Arithmetic meanMeeting/Interview
Metropolitan area networkSoftwareRouting
SoftwareStack (abstract data type)Multiplication signBootingGateway (telecommunications)Right angleCondition numberVolume (thermodynamics)Real-time operating systemSign (mathematics)Real numberRow (database)Point (geometry)Meeting/Interview
Level (video gaming)SynchronizationCondition numberCodeMathematicsCASE <Informatik>DemosceneWebsiteTouchscreen
Revision controlArmVirtual machineKernel (computing)BootingSoftware testingObject (grammar)TouchscreenMathematicsExistenceMeeting/Interview
BitComputer fileBooting2 (number)Kernel (computing)Meeting/Interview
Analytic continuationMeeting/InterviewComputer animation
Transcript: English(auto-generated)