Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ONAP MultiCloud/K8s Casablanca

142 views

Published on

This material was used during the ONAP DDF + OPNFV Plugfest 2019 in Paris to explain the different components used during the development of the MultiCloud Kubernetes plugin

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ONAP MultiCloud/K8s Casablanca

  1. 1. ONAP MultiCloud/K8s Casablanca Victor Morales https://about.me/electrocucaracha
  2. 2. Casablanca’s Accomplishments ONAP Test Service (SDC, AAI, SO) Multi Cloud Service VIO Plugin K8S Plugin apiserver ovn-central Kubernetes 1 2 ovn4nfvk8s-cni 3 1. MultiCloud/K8S plugin (https://github.com/onap/multicloud- k8s/tree/master/src/k8splugin ) 2. Kubernetes Reference Deployment (https://github.com/onap/multicloud-k8s/tree/master/vagrant ) 3. OVN4NFVK8S (https://github.com/opnfv/ovn4nfv-k8s-plugin ) 4. vFirewall Use case: a. Hybrid (https://github.com/onap/multicloud- k8s/blob/master/vagrant/tests/integration_vcFW.sh ) b. VMs (https://github.com/onap/multicloud- k8s/blob/master/vagrant/tests/integration_vFW.sh ) c. Containers (https://github.com/onap/multicloud- k8s/blob/master/vagrant/tests/integration_cFW.sh ) Titanium Plugin vFW OpenStack Plugin sinkfirewall 4a packetgen vFW sinkfirewall 4b packetgen vFW sinkfirewall 4c packetgen
  3. 3. MultiCloud/K8S plugin ONAP Multi-Cloud plugin written in Go programming language which offers an API for interacting with Cloud regions supporting Kubernetes. Requirements: • Go 1.11 • Docker • docker-compose Installation: $ mkdir -p /opt/{kubeconfig,consul/config} $ cp $HOME/.kube/config /opt/kubeconfig/krd $ export KUBE_CONFIG_DIR=/opt/kubeconfig $ git clone https://git.onap.org/multicloud/k8s/ $ cd deployments $ ./build.sh $ docker-compose up -d API POST - /v1/vnf_instances/ GET - /v1/vnf_instances/{cloudRegionID}/{namespace} DELETE - /v1/vnf_instances/{cloudRegionID}/{namespace}/{externalVNFID} GET - /v1/vnf_instances/{cloudRegionID}/{namespace}/{externalVNFID}
  4. 4. POST - /v1/vnf_instances/
  5. 5. Kubernetes Reference Deployment (KRD) Offers a reference for deploying a Kubernetes cluster that satisfies the requirements of ONAP multicloud/k8s plugin. Its ansible playbooks allow to provision a deployment on Bare-metal or Virtual Machines.
  6. 6. KRD provisioning process install_k8s vagrant up installer get kubespray source code _install_ansible ansible-playbook cluster.yml generate host.ini libvirt VM creation install_addons configure-virtlet.yml configure-ovn4nfv.yml install_plugin _print_kubernetes_info vagrant up swapoff Enable nested-virtualization mount_external_partition swapoff Enable nested-virtualization mount_external_partition swapoff Enable nested-virtualization mount_external_partition
  7. 7. vFirewall ONAP Use Case It is composed of three virtual functions (VFs): • Packet generator: Sends packets to the traffic sink through the firewall. This includes a script that periodically generates different volumes of traffic. • Firewall: Reports the volume of traffic passing though to the ONAP DCAE collector. • Traffic sink: Displays the traffic volume that lands at the sink using the link http://192.168.20.250:667 through your browser and enable automatic page refresh by clicking the "Off" button. You can see the traffic volume in the charts. packetgen eth1 eth2 firewall eth1 eth3 eth2 sink eth1eth2 vppvpacketgen honeycomb vppvfirewall honeycomb vpp_measurement_reporter darkstat sink
  8. 8. kubernetes.io/target-runtime: virtlet.cloud packetgen VMs Provisioning libvirt VM creation Ubuntu image? pull image cloud-init execution packetgen script execution install dependencies download ONAP artifacts start honeycombstart vpp kubernetes.io/target-runtime: virtlet.cloud firewall libvirt VM creation Ubuntu image? pull image cloud-init execution firewall script execution install dependencies download ONAP artifacts start honeycomb start vpp start vpp_measurement_reporterhttps://github.com/electrocucaracha/vFW-demo
  9. 9. sink dockershim creation Sink image? pull image dockershim creation Darkstat image? pull image Containers Provisioning add route start darkstat Prebaked Images https://github.com/electrocucaracha/cFW-demo
  10. 10. 172.25.103.9 kubernetes 10.10.10.3 packetgen eth1 eth2 firewall eth1 eth3 eth2 sink eth1 eth2 667 30667 8067 localhost x.x.x.x
  11. 11. Q & A

×