From 3ccaf472c62807cea82a4a79478ecd24f8459978 Mon Sep 17 00:00:00 2001 From: Julian Friedman Date: Wed, 19 Oct 2016 14:15:05 +0100 Subject: [PATCH] Add Ops Guide --- docs/components.png | Bin 0 -> 60585 bytes docs/highlevel.png | Bin 0 -> 44735 bytes docs/opsguide.md | 67 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 docs/components.png create mode 100644 docs/highlevel.png create mode 100644 docs/opsguide.md diff --git a/docs/components.png b/docs/components.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce91d540b00df11cbcd7bfd0c31691704bb2ad2 GIT binary patch literal 60585 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 literal 0 HcmV?d00001 diff --git a/docs/highlevel.png b/docs/highlevel.png new file mode 100644 index 0000000000000000000000000000000000000000..116977066af0f429071f2330661554577a79fcf4 GIT binary patch literal 44735 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 SB=_1P@HuF1v!AlpEAB5E8HE@C literal 0 HcmV?d00001 diff --git a/docs/opsguide.md b/docs/opsguide.md new file mode 100644 index 000000000..2e6b80268 --- /dev/null +++ b/docs/opsguide.md @@ -0,0 +1,67 @@ +# Garden-RunC Operator’s Manual + +### A Note on Naming: Garden, Garden-RunC and Guardian + +Garden is a cross-platform API for managing containers with multiple implementations, referred to as "Back-ends". Back-ends include garden-windows and garden-runc. This document describes garden-runc. Garden-RunC (which is the overall product) primarily uses the "Guardian" component to implement the "Garden" API using "runC". + +![](highlevel.png) + +## Important Directories + +### The Depot + +Guardian stores container bundles in the standard OCI format underneath a directory called "the depot". + +If you deployed guardian using garden-runc-release the depot is located at `/var/vcap/data/garden/depot`. + +#### Container subdirectories + +Each subdirectory of the depot describes a single container in a format known as an "OCI Bundle". This is essentially a directory containing an OCI-format `config.json` which is the configuration passed to `runc create` to create a container. + +#### Process subdirectories + +For each process created inside the container (via the garden `container.Run` API) a subdirectory is created in `$depot_dir/$container_handle/processes/$process_guid`. + +Inside this directory are named pipes (FIFOs) representing the stdin/out/err streams, a pipe named ‘exit’ which remains open while the process is open and then is closed when it exits and a named pipe named ‘winsz’ which is used to communicate window size change events to the running process. These files are connected to the container process by the `dadoo` helper executable (described below), allowing guardian to re-connect to the process’s streams and wait for the process to exit even after restarting. + +### The Graph + +The graph stores the filesystem layers which make up the root filesystem images for containers. In the case of docker images these are downloaded from a remote docker registry. In the case of "preloaded" root filesystems these are imported from a path on disk. + +To determine which path in the graph is being used as the root filesystem of a particular container, you can look for the “rootfs” property inside the `config.json` file in the container’s bundle directory. + +If you installed garden-runc-release using bosh, the graph is located at `/var/vcap/data/garden/aufs_graph`. + +**Note:** For implementation reasons, if you deployed garden-runc-release using bosh, before interacting with containers it is currently neccesary to run `/var/vcap/packages/guardian/bin/inspector-garden -pid $(pidof guardian) /bin/bash`. This ensures the graph path is properly visible. You must be root to run this command. + +## Guardian Components + +Guardian consists of three primary “modules”, these are the Networker, The RootFS Manager and the Containerizer. In a default garden-runc installation, these are implemented by the built-in “kawasaki”, “garden-shed” and “rundmc” components, respectively. + +![](components.png) + +It is possible to override the networker and the rootfs manager by specifying, respectively, the `network_plugin` and/or the `image_plugin` bosh properties. Setting either of these properties to the path of a binary will cause guardian to shell out to that binary to create the network and/or to download and prepare the root filesystem for the container._ + +The [container-to-container networking project](https://github.com/cloudfoundry-incubator/netman-release) implements the `network_plugin` contract and the “[grootFS](https://github.com/cloudfoundry/grootfs-release)” btrfs-based oci-compliant rootfs manager implements the `image_plugin` contract. + +### RunDMC + +RunDMC is Guardian’s containerizer. It is a super-small wrapper around runc with two jobs. Firstly it manages the ‘depot’ directory (see above), creating, listing and destroying container bundles as requested (in the code this is the `DirDepot` component). Secondly it executes `runc` commands to actually create, run and manage the container lifecycle (in the code this is the `RuncRunner` component). + +### Garden-Shed + +Garden-Shed is the built-in root filesystem management component which is used by default and if no `image_plugin` is configured. Garden-shed uses `aufs` to efficiently combine filesystem layers, along with dynamically created loop devices to implement disk quotas. + +### Kawasaki + +Kawasaki is Guardian’s built-in networking component, used by default and if no `network_plugin` is configured. Kawasaki is invoked to configure the network of a created container before any user processes are run. + +### Dadoo + +At runtime, you will see that guardian itself runs as a daemon process to which your client connects (normally over a unix socket). For each running container, guardian uses the `runc create` command against a particular bundle directory in the depot dir to create a container. This container immediately runs a no-op “init” process which simply sleeps (garden does not support overriding the init process in containers as this is a special system process). As processes are run inside the container (for example user apps), guardian spawns a process named `dadoo` which then calls `runc exec` to run the requested process (in other words, [dadoo runs runC](https://www.youtube.com/watch?v=dqgtsai2aKY)). Dadoo keeps running as long as the user’s process runs, monitoring its exit status and eventually writing it to a file in the `processes/$processid` subdir. If guardian is restarted it is able to reconnect to the running process via dadoo. + +## Interacting with a Container + +At runtime, bundles from the depot directory are run using [runC](http://github.com/opencontainers/runc). As these are standard runc containers and processes, you can interact with them for debug purposes using runc itself (or any compatible tool). For example, to execute a process in a container you can execute `runc exec $containerid /bin/sh` (where $containerid is the directory name of the depot subdirectory in question), to get events from a container you can run `runc events $containerid` and so on. More documentation on runC is available [on its github page](http://github.com/opencontainers/runc). + +**Note:** For implementation reasons, if you deployed garden-runc-release using bosh, before interacting with containers it is currently neccesary to run `/var/vcap/packages/guardian/bin/inspector-garden -pid $(pidof guardian) /bin/bash`. This ensures the graph path is properly visible. You must be root to run this command. \ No newline at end of file