--- /dev/null
+# OSM Kubernetes Support #
+
+## Proposer ##
+- Prithiv Mohan (Intel)
+
+## Type ##
+** Feature **
+
+## Target MDG/TF ##
+SO, RO, VCA, IM
+
+## Supported VIMs ##
+
+1. OpenStack
+2. VMWare
+3. AWS
+
+## Description ##
+
+Enable a container-based VNF deployment model via OSM that allows for the coexistence of container
+and VM deployment models to coexist within a network service. Kubernetes should be enabled as the
+container orchestration engine, but it must be done in a plugin manner that permits other container
+orchestration engines to be added in the future.
+
+The Kubernetes pods can be created either on a baremetal node or inside a VM. Either case, the
+Resource Orchestrator(RO) is responsible only for the resource allocation.
+
+For the VM based Kubernetes deployment, the VM image could have the kubelet node agent already
+installed. In this case, RO creates a VM and VCA takes care of the configuration and the LCM of the
+pods. If the image used by the RO to provide a VM has no kubelet installation, the VCA module will
+handle the installation, configuration of the kubernetes. The Resource Orchestrator will not involve
+in the installation of any kind of Kubernetes package.
+
+The options for baremetal provisioning includes OpenStack Ironic, Canonical Metal as a Service(MaaS)
+but not limited to that. An additional or extended plugin is required in the Resource Orchestrator
+for the baremetal provisioning of the resources for the Kubernetes.
+
+The proposed workflow below assumes Ironic/MaaS as the options for baremetal provisioning:
+
+ i. User creating a descriptor with VNFD updates that indicate the deployment model for the
+ VNF (container on bare metal, container in VM, or VM deployment.
+ ii. SO passes the request to RO.
+ iii. RO receives the request.
+ iv a. In case of a Kubernetes deployment inside the VM, RO creates a VM with/without kubelet
+ installed in it based on the type of the image.
+ b. Alternatively, in the case of a Kubernetes baremetal deployment, RO communicates with
+ the MaaS/Ironic plugin. The plugin talks to the MaaS and/or Ironic to create the
+ Kubernetes pods.
+ v. VCA does the installation and/or configuration of the VM for Kubernetes.
+
+Changes in the descriptor in the IM repo is required. Expected these show up fairly seamlessly in
+the UI due to the model driven nature of the platform.
+
+There is an option on the preparation of the baremetal nodes or VMs for supporting Kubernetes. These
+could be prepared beforehand, or Kubernetes could be configured on them once they have been
+allocated.
+
+The installation of Kubernetes and the configuration of the Kubernetes Controller will not be handled
+by the OSM as it is out of scope for OSM. The configuration could be handled by Juju with the charms.
+
+## Demo or definition of done ##
+
+* Creation of Kubernetes Pods is successful
+* Usual lifecycle operations on a NS that includes VM-based and container-in-VM based VNFs.
+* Supports multiple VIM environments.
+
+Links:
+
+1. https://kubernetes.io/
+2. https://kubernetes.io/docs/getting-started-guides/ubuntu/installation/
+3. https://www.ubuntu.com/kubernetes