vmware / vic

vSphere Integrated Containers Engine is a container runtime for vSphere.
http://vmware.github.io/vic
Other
640 stars 173 forks source link

Document what happens during VCH deployment #1527

Closed stuclem closed 7 years ago

stuclem commented 8 years ago

We should describe all of the configuration checks and validations that occur during VCH deployment in a topic "What Happens During VCH Deployment". Some of these checks are tracked in https://github.com/vmware/vic/issues/1157.

We should also list the operations that occur in vSphere when a VCH is deployed.

stuclem commented 8 years ago

Non-exhaustive, unordered list of things that happen during deploying

stuclem commented 8 years ago

The check that all hosts in a cluster are in the DVS is in PR #1747.

stuclem commented 8 years ago

A good thing to do is to deploy a VCH and watch the Recent Tasks view in the old C# client, which tells you a lot more about what is going on than the Web Client.

stuclem commented 8 years ago

Good info in @mreferre 's doc for VMworld, especially about what the VM in the VCH vApp does: _"The VCH contains a “system VM” that acts as a proxy: it accepts docker commands and it translates those commands into vSphere API calls and vSphere infrastructure constructs."

See the sections on "Preparing the vSphere environment " and "Setup of a more meaningful docker image in "https://docs.google.com/document/d/13tf1Ot_9CjgtQUnmm-cDaAzx78CHlFemwLBjzzf4cZM

stuclem commented 8 years ago

Some excellent information about scratch disk and bootstrap from Slack on 28th October, which I think would be useful in this topic:

Matthew Avery [5:01 PM]
Scratch is the vmdk that starts the disk chain for all of our images. So it is the root of the tree that makes up our images. both busybox and redis:alpine(along with all other images) have the common ancestor of scratch. We added the -base-image-size because our original default for scratch was around 8GB when in reality it is probably safe to make it much smaller.

Massimo Re Ferre [5:02 PM]
How that scratch relate to core kernel (a reduced Photon OS) we used to booth the cVM? Is it the same thing?

Matthew Avery [5:07 PM]
They are not the same thing. The bootstrap is where the reduced Photon OS lives along with a minimal filesystem from photon OS. The image disk is mounted onto the bootstrap, that disk is comprised of all the layers of an image stacked together. scratch is the very base of that disk, and I do not quite remember what is on that base image. It has not changed in quite some time.

the stack that comprises a cVM is the bootstrap.iso + scratch + every layer in the docker image?

the bootstrap.iso is a ramFS so it is diskless.

if all Docker image dependencies are a binary tree, scratch is an empty formatted filesystem at the root of the tree. It used to be a real image in earlier versions of Docker and they moved to make it "virtual" in later ones

Faiyaz Ahmed [7:42 PM]
Bootstrap is just to boot. It doesn't present after the container fs image is mounted. It literally gets out of the way. Think of it as an initrd

George Hicken [10:33 PM]
@mreferre The only things that bootstrap.iso contributes to the running VM are:

stuclem commented 7 years ago

Nice to have but not essentially. Moving to post-GA.

stuclem commented 7 years ago

This issue was moved to vmware/vic-product#69