Skip to content

Commit

Permalink
Update the README doc
Browse files Browse the repository at this point in the history
  • Loading branch information
guangbochen authored and gitlawr committed Oct 1, 2020
1 parent d7d4651 commit c74c050
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 3 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ New version of Rancher VM is working in progress.

`./bin/harvester`

## Install
Harvester can be installed on a Kubernetes cluster in the following ways:
- [Helm](https://github.com/rancher/harvester/tree/master/deploy/charts/harvester)
- Rancher catalog app (add this repo to the Rancher Catalog as helm v3 app)

## Documentation
Please refer to the [docs](./docs) to find out more details.

## License
Copyright (c) 2020 [Rancher Labs, Inc.](http://rancher.com)

Expand Down
6 changes: 3 additions & 3 deletions deploy/charts/harvester/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Harvester Helm Chart

Harvester provides a friendly virtual machine management experience in Kubernetes based on [KubeVirt](https://kubervirt.io) and [KubeVirt Containerized Data Importer](https://github.com/kubevirt/containerized-data-importer).
Harvester provides a friendly virtual machine management experience in Kubernetes based on [KubeVirt](https://kubervirt.io) and [KubeVirt Containerized Data Importer](https://github.com/kubevirt/containerized-data-importer) (CDI).

## Chart Details

This chart will do the following:

- Deploy a KubeVirt Operator if needed, defaults to deploy.
- Deploy a KubeVirt CRD resource to enable KubeVirt if needed, defaults to deploy.
- Deploy a KubeVirt Containerized Data Importer Operator if needed, defaults to deploy.
- Deploy a CDI CRD resource to enable KubeVirt Containerized Data Importer if needed, default to deploy.
- Deploy a KubeVirt Containerized Data Importer(CDI) Operator if needed, defaults to deploy.
- Deploy a CDI CRD resource to enable KubeVirt Containerized Data Importer(CDI) if needed, default to deploy.
- Deploy a Minio as virtual machine image storage if needed, defaults to deploy.
- Deploy the Harvester resources.

Expand Down
17 changes: 17 additions & 0 deletions docs/access-to-the-vm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Access to the VM

Once the VM is up and running, it can be accessed using either VNC or serial console from the Harvester UI, optionally the user can connect it directly from the computer's SSH client.

#### Access with UI

VM can be accessed from the UI directly using either VNC or serial console, if the VGA display is not enabled of the VM(e.g, when using the Ubuntu minimal cloud image), the user can access the VM with the serial console.


#### Access using SSH

Use the address in a terminal emulation client (such as Putty) or use the following command line to access the VM directly from your computer SSH client:
```bash
ssh -i ~/.ssh/your-ssh-key user@<ip-address-or-hostname>
```

![](./assets/access-to-vm.png)
Binary file added docs/assets/access-to-vm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/authentication.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/create-vm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/upload-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions docs/authentication.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Authentication
Harvester Dashboard supports two different ways of authenticating users:

- [Kubeconfig](#kubeconfig) file that can be used on Dashboard login view.
- [Bearer Token](#bearer-token)

![](./assets/authentication.png)

### Kubeconfig

`Kubeconfig` authentication method does not support external identity providers or basic authentications.

### Bearer Token

It is recommended to get familiar with [Kubernetes authentication](https://kubernetes.io/docs/reference/access-authn-authz/authentication/) documentation first to find out how to get token, that can be used to login. In example every Service Account has a Secret with valid Bearer Token that can be used to login to Dashboard.

Recommended lecture to find out how to create Service Account and grant it privileges:

* [Service Account Tokens](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#service-account-tokens)
* [Role and ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole)
* [Service Account Permissions](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#service-account-permissions)

To create sample user and to get its token, see [Creating sample user](https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md) guide.
26 changes: 26 additions & 0 deletions docs/create-vm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# How to Create VM

Users can choose to create one or multiple virtual machines from the `Virtual Machine` page.

1. Choose the option to create one or multiple VM instances.
1. VM name and namespace are required.
1. (Optional) you can select to use the VM template, by default we have added iso, raw, and Windows image template.
1. Select a custom VM image
1. Config the CPU and Memory of the VM
1. Add disks to the VM, the default disk will be the root disk
1. Config the networks, the `Pod Network` is added by default, it is also possible to connect to VMs to secondary networks using [Multus](#networks).
1. add SSH keys in the Authentication section.
1. You can config advanced options like hostname, cloud-init data in the `Advanced Details` section.

![](./assets/create-vm.png)

#### Networks

##### pod network

A pod network represents the default pod eth0 interface configured by the cluster network solution that is present in each pod, VM can be accessed via the pod network.

For the [RKE](https://rancher.com/docs/rke/latest/en/) cluster please ensure the `ipv4.ip_forward` is enabled of the CNI plugin to make the pod network to work as expected. [#94](https://github.com/rancher/harvester/issues/94).

##### multus
It is also possible to connect VMs to secondary networks using [Multus](https://github.com/intel/multus-cni). This assumes that multus is installed across your cluster and a corresponding NetworkAttachmentDefinition CRD was created.
9 changes: 9 additions & 0 deletions docs/upload-image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Upload Image

Users can upload the virtual machine image in the `Image` page

1. Enter an URL that can be accessed from the cluster, currently, we do support qcow2, raw, and ISO images.
1. The image name will be auto-filled using the URL address's filename, you can always customize it when required.
1. Description, labels, and annotations are optional to add.

![](./assets/upload-image.png)

0 comments on commit c74c050

Please sign in to comment.