Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add virtlet-101 doc #780

Merged
merged 1 commit into from
Oct 17, 2018
Merged

Add virtlet-101 doc #780

merged 1 commit into from
Oct 17, 2018

Conversation

lukaszo
Copy link
Contributor

@lukaszo lukaszo commented Oct 12, 2018

This change is Reviewable

Copy link
Contributor

@jellonek jellonek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 12 of 12 files at r1.
Reviewable status: 0 of 2 approvals obtained (waiting on @lukaszo)


docs/virtlet-101/README.md, line 8 at r1 (raw file):

* Deploy and manage VMs using kubectl

Kubernetes Version: v1.11  

Whitespaces at EOL.


docs/virtlet-101/README.md, line 9 at r1 (raw file):

Kubernetes Version: v1.11  
Virtlet Version: v1.2.0

Shouldn't there be always set most recently released version?


docs/virtlet-101/README.md, line 13 at r1 (raw file):

## Virtlet Lab

* [Virtlet Architecture](labs/architecture.md)

This is redundant. It had sense when it was in a separate repo, but now you can simply link to ../architecture.md so next file is unnecessary.


docs/virtlet-101/README.md, line 26 at r1 (raw file):

## Resources

* [Virtlet documentation](https://github.com/Mirantis/virtlet/tree/master/docs)

Please use relational ../ as url instead of full url to master branch. (it will work better on readthedocs.org)


docs/virtlet-101/labs/cloud-init.md, line 3 at r1 (raw file):

# Cloud init support

To configure VM Virtlet is using [cloud-init](https://cloudinit.readthedocs.io/en/latest/). As always you can check [Virtlet documentation](https://github.com/Mirantis/virtlet/blob/master/docs/cloud-init-data-generation.md) to see exactly how Virtlet uses it.

Again - please use relational url.


docs/virtlet-101/labs/cloud-init.md, line 14 at r1 (raw file):

or it can be pulled from Secret:

Please urlify Secret to https://kubernetes.io/docs/concepts/configuration/secret/


docs/virtlet-101/labs/cloud-init.md, line 39 at r1 (raw file):

It's also possible to use ConfigMap as a source for user data:

Please link ConfigMap to https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/


docs/virtlet-101/labs/cloud-init.md, line 45 at r1 (raw file):

When you are passing Environment variables to a Pod then Virtlet uses cloud-init to pass it to a Vm and store in a /etc/cloud/environment file.

s/Vm/VM/
Please link "Environment variables" to ../environment-variables.md


docs/virtlet-101/labs/cloud-init.md, line 46 at r1 (raw file):

When you are passing Environment variables to a Pod then Virtlet uses cloud-init to pass it to a Vm and store in a `/etc/cloud/environment` file.
When you are using ConfigMap or Secret in a Pod then they are passed to a VM using cloud-init by creating new files there. Pod's volumes are also converted to `mounts` and mounted in VM using cloud-init.

Please link volumes to ../volumes.md


docs/virtlet-101/labs/creating-and-managing-pods.md, line 3 at r1 (raw file):

# Creating and managing virtual machines

`demo.sh` script which you used provisioned Virtlet, started virtual machine with cirros image, started nginx container and exposed it via Service.

I'm not so good in english lang but I feel that there is something missing around used and provisioned. @ivan4th - is that ok, or maybe it should use a different wording? Maybe "script which you have used ..."?


docs/virtlet-101/labs/creating-and-managing-pods.md, line 6 at r1 (raw file):

Let's check how it all works.

The script will finish and will ssh into a cirros vm. Switch to another console and list the pods:
The script will finish with ssh into the `cirros-vm` pod. ...

docs/virtlet-101/labs/creating-and-managing-pods.md, line 13 at r1 (raw file):

cirros vm and nginx pod are both listed. Now list the services:

`cirros-vm` and `nginx` are ...

docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r1 (raw file):

In cluster network communication also works. Retrieve data from Nginx. Use Nginx service IP:

... from `nginx` pod.

Btw. why by ip, instead of using service name through dns?


docs/virtlet-101/labs/creating-and-managing-pods.md, line 32 at r1 (raw file):

Exit VM using ctrl-d command.

Whitespace at EOL.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r1 (raw file):

## View Pod details

Use the `kubectl get` and `kubectl describe` commands to view details for the `cirros` VM Pod:
`cirros-vm`

docs/virtlet-101/labs/creating-and-managing-pods.md, line 40 at r1 (raw file):

## View the logs of a Pod

Use the `kubectl logs` command to view the logs for the `cirros` VM Pod:

ditto


docs/virtlet-101/labs/creating-and-managing-pods.md, line 48 at r1 (raw file):

## Attach to the VM

Use the `kubectl attach` command to attach to the VM console

Missing : at EOL


docs/virtlet-101/labs/creating-and-managing-pods.md, line 80 at r1 (raw file):

## Use in Deployment

Because Virtlet VMs are just normal Pods you can create Deployment,DaemonSet or even StatefulSet from Virtual Machines:

Please add space after ,.


docs/virtlet-101/labs/network.md, line 3 at r1 (raw file):

## Virtlet Networking

Virtlet [Networking docs](https://github.com/Mirantis/virtlet/blob/master/docs/networking.md)

Please use relative url.


docs/virtlet-101/labs/network.md, line 7 at r1 (raw file):

### One interface

Virtlet, as other CRI implementations, uses [CNI](https://github.com/containernetworking/cni)(Container Network Interface). When only one interface is needed then no additional configuration is required.

Please add space before (Container Network Interface).


docs/virtlet-101/labs/network.md, line 12 at r1 (raw file):

### Multiple interfaces

For multiple interfaces Virtlet uses [CNI-Genie](https://github.com/Huawei-PaaS/CNI-Genie). When running `demo.sh` script you have set `MULTI_CNI=1` which installed CNI-Genie and two network providers: flannel and calico.

Hmmm... IMO that should be denoted that MULTI_CNI=1 is a k-d-c parameter, not Virtlet's.


docs/virtlet-101/labs/network.md, line 22 at r1 (raw file):

You should see there pods for genie, flannel and calico.

See [Virtlet docs](https://github.com/Mirantis/virtlet/blob/master/docs/multiple-interfaces.md) for more details about multiple interfaces support.

Please use a relative url.


docs/virtlet-101/labs/network.md, line 35 at r1 (raw file):

```bash
ip a

There should be not used shortcuts/aliases in docs and ip a is for listing addresses so there should be ip list or or ip address if previous line would be updated to and list addresses on interfaces:


docs/virtlet-101/labs/network.md, line 44 at r1 (raw file):

See cni: "calico,flannel" annotation. It tells CNI-Genie which networks to use. If no cni annotation is specified then default plugin will be used.

It would be nice to tell what means "default plugin". IMO it's not clear. E.g. you can add there an url to cni genie docs for that.


docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 3 at r1 (raw file):

# Provision a Kubernetes Cluster with GKE

GKE is a hosted Kubernetes by Google. GKE clusters can be provisioned using a single command:

Please link first GKE occurrence to https://cloud.google.com/kubernetes-engine/


docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 5 at r1 (raw file):

GKE is a hosted Kubernetes by Google. GKE clusters can be provisioned using a single command:
```bash

___
*[docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 9 at r1](https://reviewable.io/reviews/mirantis/virtlet/780#-LObpRwI9MlS9l4GlKcy:-LObpRwI9MlS9l4GlKcz:b4w1ful) ([raw file](https://github.com/mirantis/virtlet/blob/0f07fe3550d4e36c70a098544f5179bfe702a777/docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md#L9)):*
> ```Markdown
> ```
> 
> GKE clusters can be customized and supports different machine types, number of nodes, and network settings. 
> ```

Whitespace at  EOL.
___
*[docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 13 at r1](https://reviewable.io/reviews/mirantis/virtlet/780#-LObp_ufEecaGUP4JZYO:-LObp_ufEecaGUP4JZYP:b77xncn) ([raw file](https://github.com/mirantis/virtlet/blob/0f07fe3550d4e36c70a098544f5179bfe702a777/docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md#L13)):*
> ```Markdown
> ## Create a Kubernetes cluster using gcloud
> 
> ```
> ```

~~~
```bash
~~~

docs/virtlet-101/labs/provision-virtlet.md, line 20 at r1 (raw file):

#### Other deployment options

To see how to provision Virtlet on non MCP clusters see the [deployment docs](https://github.com/Mirantis/virtlet/blob/master/deploy/real-cluster.md)

Please use relational url.


docs/virtlet-101/labs/rolling-out-updates.md, line 7 at r1 (raw file):

```bash
kubectl -n kube-system edit ds virtlet

Please use instead kubectl set --namespace image deployment/virtlet ...


docs/virtlet-101/labs/rolling-out-updates.md, line 10 at r1 (raw file):

You should changed in the 4 places there.

After changing above command - this line will be redundant. If you want to keep edit method - please update this line to You should change it in four places there, for each container definition..


docs/virtlet-101/labs/rolling-out-updates.md, line 14 at r1 (raw file):

During the upgrade state of VM pods will change to `ContainerCreating` but there is nothing to worry. VMs are still running. Kubelet just can not get state of the VMs because Virtlet is not available during update.

When Virtlet update is done check that VMs are still running. Attach to cirros-vm:
to `cirros-vm`:

docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

## Directory volume with 9pfs

It allows Virtlet to use for example `emptyDir` or `hostPath`. It's a network protocol so when comparing to other options it may have worse performance.

... network protocol used over a virtual pci device (does not use networking stack) so when ...


docs/virtlet-101/labs/volumes.md, line 14 at r1 (raw file):

## Persistent Block Volumes

Virtlet can attach local block volume. Ceph based volumes can also be used.

Maybe there could be added somewhere url to ../volumes.md#persistent-storage ?


docs/virtlet-101/labs/volumes.md, line 17 at r1 (raw file):

### Persistent Rootfs
Virtlet also supports booting VM from a Persisten Block Volume

As above, to ../volumes.md#using-block-pvs-for-persistent-root-filesystem


docs/virtlet-101/labs/volumes.md, line 21 at r1 (raw file):

## FlexVolumes

It’s possible to use Virtlet’s flexvolume driver to specify mounting of local block devices, “ephemeral volumes” with their lifetime bound to the one of the pod, and Ceph volumes that are specified as block devices.

As above, to ../volumes.md#flexvolume-driver and ../volumes.md#ephemeral-local-storage


docs/virtlet-101/labs/workshop-setup.md, line 10 at r1 (raw file):

chmod 600 virtlet/examples/vmkey

wget https://github.com/Mirantis/virtlet/releases/download/v1.2.0/virtletctl

That probably needs to be constantly updated in each release to new location, from most recent release.


docs/virtlet-101/labs/workshop-setup.md, line 18 at r1 (raw file):

mv virtletctl ~/bin
mv kubectl ~/bin

Please remove this empty line.

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 0 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/README.md, line 8 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Whitespaces at EOL.

Done.


docs/virtlet-101/README.md, line 9 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Shouldn't there be always set most recently released version?

I'm not sure. I've tested it with 1.2.0


docs/virtlet-101/README.md, line 13 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

This is redundant. It had sense when it was in a separate repo, but now you can simply link to ../architecture.md so next file is unnecessary.

Virtlet-101 is supposed to be a standalone thing. I'm linking to Virtlet docs in as many places as possible.
Probably we should add here some simplified view of Virtlet. I will prepare some drawing.


docs/virtlet-101/README.md, line 26 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please use relational ../ as url instead of full url to master branch. (it will work better on readthedocs.org)

Done.


docs/virtlet-101/labs/cloud-init.md, line 3 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Again - please use relational url.

Done.


docs/virtlet-101/labs/cloud-init.md, line 14 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please urlify Secret to https://kubernetes.io/docs/concepts/configuration/secret/

Done.


docs/virtlet-101/labs/cloud-init.md, line 39 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please link ConfigMap to https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

Done.


docs/virtlet-101/labs/cloud-init.md, line 46 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please link volumes to ../volumes.md

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 6 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…
The script will finish with ssh into the `cirros-vm` pod. ...

Done. In different way


docs/virtlet-101/labs/creating-and-managing-pods.md, line 13 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…
`cirros-vm` and `nginx` are ...

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…
... from `nginx` pod.

Btw. why by ip, instead of using service name through dns?

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 32 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Whitespace at EOL.

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…
`cirros-vm`

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 40 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

ditto

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 48 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Missing : at EOL

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 80 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please add space after ,.

Done.


docs/virtlet-101/labs/network.md, line 3 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please use relative url.

Done.


docs/virtlet-101/labs/network.md, line 7 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please add space before (Container Network Interface).

Done.


docs/virtlet-101/labs/network.md, line 12 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Hmmm... IMO that should be denoted that MULTI_CNI=1 is a k-d-c parameter, not Virtlet's.

Done.


docs/virtlet-101/labs/network.md, line 22 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please use a relative url.

Done.


docs/virtlet-101/labs/network.md, line 35 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

There should be not used shortcuts/aliases in docs and ip a is for listing addresses so there should be ip list or or ip address if previous line would be updated to and list addresses on interfaces:

Done.


docs/virtlet-101/labs/network.md, line 44 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

It would be nice to tell what means "default plugin". IMO it's not clear. E.g. you can add there an url to cni genie docs for that.

Done.


docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 3 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please link first GKE occurrence to https://cloud.google.com/kubernetes-engine/

having this file is a mistake :D

Copy link
Contributor

@jellonek jellonek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 5 of 5 files at r2.
Reviewable status: 1 change requests, 0 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/README.md, line 9 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

I'm not sure. I've tested it with 1.2.0

It's ok for me - let's wait for Jedrzej's comment.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

Done.

I don't see this change actually.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

Done.

We have "pod", or "VM Pod" - if it's leaved alone, it should start from lower case :)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 40 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

Done.

ditto :)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 80 at r2 (raw file):

## Use in Deployment

Because Virtlet VMs are just normal Pods you can create Deployment, DaemonSet or even StatefulSet from Virtual Machines:

Same again with s/Pods/pods/.


docs/virtlet-101/labs/network.md, line 35 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

Done.

Now this command lists interfaces, not addresses on them :D Please choose one or another :)


docs/virtlet-101/labs/provision-kubernetes-cluster-with-gke.md, line 3 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

having this file is a mistake :D

:D

Copy link
Contributor

@pigmej pigmej left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 0 of 2 approvals obtained (waiting on @lukaszo)


docs/virtlet-101/README.md, line 9 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

It's ok for me - let's wait for Jedrzej's comment.

It should be more recent than 1.2 but we can bump it when volumes and other goodies from most recent versions will be added to 101.

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 80 at r2 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Same again with s/Pods/pods/.

Done.


docs/virtlet-101/labs/provision-virtlet.md, line 20 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please use relational url.

Done.


docs/virtlet-101/labs/rolling-out-updates.md, line 7 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please use instead kubectl set --namespace image deployment/virtlet ...

It didn't work for me when I've tried it


docs/virtlet-101/labs/rolling-out-updates.md, line 10 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

After changing above command - this line will be redundant. If you want to keep edit method - please update this line to You should change it in four places there, for each container definition..

ditto :)


docs/virtlet-101/labs/rolling-out-updates.md, line 14 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…
to `cirros-vm`:

Done.


docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

... network protocol used over a virtual pci device (does not use networking stack) so when ...

it's still supposed to be slower?


docs/virtlet-101/labs/volumes.md, line 14 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Maybe there could be added somewhere url to ../volumes.md#persistent-storage ?

At the top I'm linking to the volumes.md


docs/virtlet-101/labs/volumes.md, line 17 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

As above, to ../volumes.md#using-block-pvs-for-persistent-root-filesystem

ditto


docs/virtlet-101/labs/volumes.md, line 21 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

As above, to ../volumes.md#flexvolume-driver and ../volumes.md#ephemeral-local-storage

ditto

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

I don't see this change actually.

Done again :)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

We have "pod", or "VM Pod" - if it's leaved alone, it should start from lower case :)

Done again :)


docs/virtlet-101/labs/creating-and-managing-pods.md, line 40 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

ditto :)

Done again :)


docs/virtlet-101/labs/network.md, line 35 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Now this command lists interfaces, not addresses on them :D Please choose one or another :)

Done again :)


docs/virtlet-101/labs/workshop-setup.md, line 18 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

Please remove this empty line.

Done.

Copy link
Contributor

@jellonek jellonek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 6 of 6 files at r3.
Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/rolling-out-updates.md, line 7 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

It didn't work for me when I've tried it

Hmmm... It can be tricky as it requires mentioning all containers in the line. Ok, lets keep it in current shape.


docs/virtlet-101/labs/rolling-out-updates.md, line 10 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

ditto :)

So if it's kept because above is not changed - please update this line to value suggested in my comment.


docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

it's still supposed to be slower?

That's clarification because first guess about that can be "if it's network protocol, it requires configured networking, right?" - but while it's network protocol it does not use networking at all. Instead of network (e.g. ethernet) connection it uses virtual pci as a transport.

That does not directly say anything about speed - it's other level of abstraction and in fact, in theory it can be even faster than block device filesystems on guest kernel which are using virtual block devices through qemu layer (block devices are adding one additional layer of abstraction).

9pfs on the other hand comes with advantages (sharing the same files between pods without the need to support network oriented block device filesystems like gfs/ocfs2, which additionally require distributed lock managers) and disadvantages (users can assume that if files are shared between pods, there would be possibility to communicate between pods using named pipes or unix sockets - and that works between container based pods - while this will not work over any network file system).


docs/virtlet-101/labs/workshop-setup.md, line 10 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

That probably needs to be constantly updated in each release to new location, from most recent release.

PTAL again on that.

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

That's clarification because first guess about that can be "if it's network protocol, it requires configured networking, right?" - but while it's network protocol it does not use networking at all. Instead of network (e.g. ethernet) connection it uses virtual pci as a transport.

That does not directly say anything about speed - it's other level of abstraction and in fact, in theory it can be even faster than block device filesystems on guest kernel which are using virtual block devices through qemu layer (block devices are adding one additional layer of abstraction).

9pfs on the other hand comes with advantages (sharing the same files between pods without the need to support network oriented block device filesystems like gfs/ocfs2, which additionally require distributed lock managers) and disadvantages (users can assume that if files are shared between pods, there would be possibility to communicate between pods using named pipes or unix sockets - and that works between container based pods - while this will not work over any network file system).

so what should I wrote there?


docs/virtlet-101/labs/workshop-setup.md, line 10 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

PTAL again on that.

Done.

Copy link
Contributor

@jellonek jellonek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

Previously, lukaszo (Łukasz Oleś) wrote…

so what should I wrote there?

... network protocol used over a virtual pci device (does not use networking stack) so when ...

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/rolling-out-updates.md, line 10 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

So if it's kept because above is not changed - please update this line to value suggested in my comment.

Done.


docs/virtlet-101/labs/volumes.md, line 9 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

... network protocol used over a virtual pci device (does not use networking stack) so when ...

Done.

Copy link
Contributor

@ivan4th ivan4th left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 change requests, 1 of 2 approvals obtained (waiting on @lukaszo and @jellonek)


docs/virtlet-101/labs/cloud-init.md, line 3 at r4 (raw file):

# Cloud init support

To configure VM Virtlet is using [cloud-init](https://cloudinit.readthedocs.io/en/latest/). As always you can check [Virtlet documentation](../cloud-init-data-generation.md) to see exactly how Virtlet uses it.

Virtlet is using cloud-init to configure the VMs.


docs/virtlet-101/labs/cloud-init.md, line 45 at r4 (raw file):

When you are passing Environment variables to a Pod then Virtlet uses cloud-init to pass it to a VM and store in a /etc/cloud/environment file.

remove "then"

... to the VM and store them ...


docs/virtlet-101/labs/cloud-init.md, line 46 at r4 (raw file):

When you are passing [Environment variables](../environment-variables.md) to a Pod then Virtlet uses cloud-init to pass it to a VM and store in a `/etc/cloud/environment` file.
When you are using ConfigMap or Secret in a Pod then they are passed to a VM using cloud-init by creating new files there. Pod's volumes are also converted to `mounts` and mounted in VM using cloud-init.

to the VM

(that's concrete VM that corresponds to the pod)

The volumes are not mounted if they're used in volumeDevices instead of volumeMounts for the container


docs/virtlet-101/labs/creating-and-managing-pods.md, line 3 at r1 (raw file):

Previously, jellonek (Piotr Skamruk) wrote…

I'm not so good in english lang but I feel that there is something missing around used and provisioned. @ivan4th - is that ok, or maybe it should use a different wording? Maybe "script which you have used ..."?

The demo.sh script which you've run above has set up Virtlet, started a virtual machine with CirrOS image and started a nginx pod which it exposed via a Service.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 6 at r4 (raw file):

Let's check how it all works.

The script when finishing will ssh into a `cirros-vm`. Switch to another console and list the pods:

The script will ssh into cirros-vm before finishing


docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r4 (raw file):

In cluster network communication also works. Retrieve data from nginx pod. Use Nginx service IP:

Make sure that the cluster network is also accessible from within the pod. Retrieve some data ...


docs/virtlet-101/labs/creating-and-managing-pods.md, line 30 at r4 (raw file):

```bash
curl <nginx_service_ip>

it should also work as either curl nginx or curl nginx.default.svc.cluster.local


docs/virtlet-101/labs/creating-and-managing-pods.md, line 32 at r4 (raw file):

Exit VM using ctrl-d command.

Disconnect from the VM using Ctrl-D.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r4 (raw file):

## View Pod details

Use the `kubectl get` and `kubectl describe` commands to view details for the `cirros-vm` pod:

missing output?


docs/virtlet-101/labs/creating-and-managing-pods.md, line 63 at r4 (raw file):

This example also shows how cloud-init script can be used. Here new user: testuser is created and also ssh key is injected.

an ssh key


docs/virtlet-101/labs/creating-and-managing-pods.md, line 76 at r4 (raw file):

Check if it also has internet connection.

... using the same method which was used for CirrOS above.


docs/virtlet-101/labs/network.md, line 7 at r4 (raw file):

### One interface

Virtlet, as other CRI implementations, uses [CNI](https://github.com/containernetworking/cni) (Container Network Interface). When only one interface is needed then no additional configuration is required.

only one interface is used


docs/virtlet-101/labs/network.md, line 20 at r4 (raw file):

You should see there pods for genie, flannel and calico.

You should see genie, flannel and calico-related pods in the output.


docs/virtlet-101/labs/network.md, line 26 at r4 (raw file):

`demo.sh` script configured CNI-Genie to create two network interfaces for each newly created pod. That includes docker pods and Virtlet pods.

Check the ubuntu-vm to see that it has already configured two interfaces. Attach to VM:

to the VM (log in as testuser/testuser):


docs/virtlet-101/labs/rolling-out-updates.md, line 12 at r4 (raw file):

You should change it in four places there, for each container definition.

During the upgrade state of VM pods will change to `ContainerCreating` but there is nothing to worry. VMs are still running. Kubelet just can not get state of the VMs because Virtlet is not available during update.

... worry about. The VMs are still running. Kubelet just can't get the state of the VMs because Virtlet is not available during the update.


docs/virtlet-101/labs/rolling-out-updates.md, line 14 at r4 (raw file):

During the upgrade state of VM pods will change to `ContainerCreating` but there is nothing to worry. VMs are still running. Kubelet just can not get state of the VMs because Virtlet is not available during update.

When Virtlet update is done check that VMs are still running. Attach to `cirros-vm`:

you can check that the VMs are still running


docs/virtlet-101/labs/volumes.md, line 17 at r4 (raw file):

### Persistent Rootfs
Virtlet also supports booting VM from a Persisten Block Volume

. (dot at the end)

Copy link
Contributor

@jellonek jellonek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm: so there are only left comments from Ivan.

Reviewed 3 of 3 files at r4.
Reviewable status: 2 change requests, 1 of 2 approvals obtained (waiting on @jellonek and @lukaszo)

Copy link
Contributor Author

@lukaszo lukaszo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: :shipit: complete! 1 change requests, 2 of 2 approvals obtained (waiting on @jellonek, @ivan4th, and @lukaszo)


docs/virtlet-101/labs/cloud-init.md, line 3 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

Virtlet is using cloud-init to configure the VMs.

Done.


docs/virtlet-101/labs/cloud-init.md, line 45 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

remove "then"

... to the VM and store them ...

Done.


docs/virtlet-101/labs/cloud-init.md, line 46 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

to the VM

(that's concrete VM that corresponds to the pod)

The volumes are not mounted if they're used in volumeDevices instead of volumeMounts for the container

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 3 at r1 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

The demo.sh script which you've run above has set up Virtlet, started a virtual machine with CirrOS image and started a nginx pod which it exposed via a Service.

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 6 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

The script will ssh into cirros-vm before finishing

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 26 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

Make sure that the cluster network is also accessible from within the pod. Retrieve some data ...

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 30 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

it should also work as either curl nginx or curl nginx.default.svc.cluster.local

Actually it didn't :D there were some issues with coredns


docs/virtlet-101/labs/creating-and-managing-pods.md, line 32 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

Disconnect from the VM using Ctrl-D.

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 36 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

missing output?

I'm not showing output anywhere in this doc.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 63 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

an ssh key

Done.


docs/virtlet-101/labs/creating-and-managing-pods.md, line 76 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

... using the same method which was used for CirrOS above.

Done.


docs/virtlet-101/labs/network.md, line 7 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

only one interface is used

Done.


docs/virtlet-101/labs/network.md, line 20 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

You should see genie, flannel and calico-related pods in the output.

Done.


docs/virtlet-101/labs/network.md, line 26 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

to the VM (log in as testuser/testuser):

Done.


docs/virtlet-101/labs/rolling-out-updates.md, line 12 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

... worry about. The VMs are still running. Kubelet just can't get the state of the VMs because Virtlet is not available during the update.

Done.


docs/virtlet-101/labs/rolling-out-updates.md, line 14 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

you can check that the VMs are still running

Done.


docs/virtlet-101/labs/volumes.md, line 17 at r4 (raw file):

Previously, ivan4th (Ivan Shvedunov) wrote…

. (dot at the end)

Done.

@ivan4th ivan4th merged commit 7db2bfb into Mirantis:master Oct 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants