summaryrefslogtreecommitdiffstats
path: root/vagrant/README.md
blob: c433a60716dbb798e07d56bc1a11c51ce07ad211 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Kubernetes Reference Deployment

## Summary

This project offers a reference for deploying a Kubernetes cluster
that satisfies the requirements of [ONAP multicloud/k8s plugin][1]. Its
ansible playbooks allow to provision a deployment on Bare-metal or
Virtual Machines.

![Diagram](../doc/img/diagram.png)

# Components

| Name           | Description                                   | Source                            | Status |
|:--------------:|:----------------------------------------------|:----------------------------------|:------:|
| Kubernetes     | Base Kubernetes deployment                    | [kubespray][2]                    | Done   |
| ovn-kubernetes | Integrates Opensource Virtual Networking      | [configure-ovn-kubernetes.yml][3] | Tested |
| Virtlet        | Allows to run VMs                             | [configure-virtlet.yml][4]        | Tested |
| Multus         | Provides Multiple Network support in a pod    | [configure-multus.yml][5]         | Tested |
| NFD            | Node feature discovery                        | [configure-nfd.yml][7]            | Tested |
| Istio          | Service Mesh platform                         | [configure-istio.yml][8]          | Tested |

## Deployment

The [installer](installer.sh) bash script contains the minimal
Ubuntu instructions required for running this project.

### Virtual Machines

This project uses [Vagrant tool][6] for provisioning Virtual Machines
automatically. The [setup](setup.sh) bash script contains the
Linux instructions to install dependencies and plugins required for
its usage. This script supports two Virtualization technologies
(Libvirt and VirtualBox).

    $ ./setup.sh -p libvirt

Once Vagrant is installed, it's possible to provision a cluster using
the following instructions:

    $ vagrant up && vagrant up installer

## License

Apache-2.0

[1]: https://git.onap.org/multicloud/k8s
[2]: https://github.com/kubernetes-incubator/kubespray
[3]: playbooks/configure-ovn-kubernetes.yml
[4]: playbooks/configure-virtlet.yml
[5]: playbooks/configure-multus.yml
[6]: https://www.vagrantup.com/
[7]: playbooks/configure-nfd.yml
[8]: playbooks/configure-istio.yml