Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes_on_OpenStack_on_Kubernetes_with_Magnum_and_Kolla.pdf

Kyle Bai
September 22, 2017

 Kubernetes_on_OpenStack_on_Kubernetes_with_Magnum_and_Kolla.pdf

Kyle Bai

September 22, 2017
Tweet

More Decks by Kyle Bai

Other Decks in Technology

Transcript

  1. Kubernetes on OpenStack on Kubernetes with Magnum and Kolla Kyle

    bai R&D @ inwinSTACK www.inwinstack.com www.openstack.org Gene Kuo AUC @ OpenStack Kubernetes Day
  2. About Us 郭靖 & 黃蓉⽩白仁 Job R&D@ inwinSTACK kairen([email protected]) https://kairen.github.io/

    Love Buttocks Coffee Good! Previously worked on iOS and Cloud-native team at NUTC imac as team leader. OpenStack and Kubernetes Contributor, Kubernetes Certified Administrator. Job Student @ NCTU AUC @ OpenStack He is working in the different field from his major as below: • OpenStack Active User Contributor. • Former OpenStack Foundation Intern. • Organizer at OpenStack Taiwan User Group. • Contact me for [email protected]
  3. Agenda Today We will talk about K8s on OpenStack on

    K8s 10min 15min 15min OpenStack & Kubernetes Let’s Go OpenStack on K8s Bonus
  4. What is OpenStack? • OpenStack software controls large pools of

    compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. • It’s a collection of projects that collectively form a multi-tenant cloud operating system. • OpenStack is a free and open-source. Deployments 1000+ Projects 50+ Contributors 13161+
  5. What is OpenStack Not? • Easy to deploy • Easy

    to scale • Easy to provide high availability • Easy to upgrade • Easy to manage
  6. What is Kubernetes? • Kubernetes is an open-source platform for

    automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure. • Easy to deploy, scale, manage, …,etc. • CNCF Project. Stars 25,830+ Commits 52,905+ Contributors 1,331+
  7. What is Kubernetes Not? • Multi-tenancy • Multi-cluster • Good

    at supporting complex networking topology. • Part of a large established ecosystem, running many production workloads.
  8. The Infrastructure Sandwich • Bare metal, Virtual machine and Container.

    • Auto-scale the Kubernetes Cluster. • Helm-based Application deployment on Kubernetes. • Multi-tenancy environment. • Manage multiple Kubernetes cluster.
  9. What is Kolla? Kolla provides production-ready containers and deployment tools

    for operating OpenStack clouds that are scalable, fast, reliable, and upgradable using community best practices.
  10. What is Kolla-Kubernetes? Kolla-Kubernetes is a community driven deliverable of

    the OpenStack Kolla project that delivers complete lifecycle management, often referred to as day-2 operations, of OpenStack services running on a Kubernetes underlay.
  11. This work is progressing quickly Using Kubernetes v1.6+ Primatives: •

    Using Kubernetes Helm Charts. • Services are tagged to nodes. • Agents become Daemon sets. • Databases using Stateful sets. • Multiple container sources.
  12. Why Kolla-Kubernetes? • OpenStack just another application. • Natural evolution

    for Kolla. • Benefits: • Abstraction layer for hardware. • Orchestrate and manage a complex application. • Additions to Kolla-Kubernetes: • Fernet tokens as default keystone token mechanism. • Support Ironic. • Support Prometheus.
  13. What's new in Pike? • Dynamic volume provisioning • Kolla-Kubernetes

    by default uses Ceph for stateful storage. • With Kubernetes 1.5+, support was added for Ceph and dynamic volume provisioning as requested by claims made against the API server. • Service level package using Kubernetes entrypoint. • Image pull policy can now be set for all containers. • Helm chart to bring up OpenStack deployment. • mariadb, rabbitmq, memcached, keystone, glance, cinder, neutron, nova and horizon. This compute kit uses iscsi/lvm as a backend for cinder volume.
  14. What is Magnum? Magnum is an OpenStack project which offers

    container orchestration engines for deploying and managing containers as first class resources in OpenStack.
  15. Terminology • COE: Container Orchestration Engine to manage containers. Examples:

    Kubernetes, Docker Swarm, Apache Mesos, DCOS. • Cluster/Bay: A construct in which Magnum launches COE.
  16. Terminology • ClusterTemplate/BayModel: Template for creating clusters. Includes image, COE.

    • Native Client: Use native clients at COE level or at container level to interact with clusters. Ex: kubectl, docker, zun.
  17. Why Magnum? • Abstractions for Clusters • Multi-tenancy for containers.

    • Reusing OpenStack Components like Keystone, Heat, Glance, Neutron, …, etc. • Multiple COEs side by side • Server Type: VM, Bare Metal.
  18. What's new in Pike? • Kubernetes clusters now Include the

    kubernetes dashboard. • Monitoring stack based on cAdvisor, node-exporter, Prometheus and Grafana. • Restriction of the access of Magnum’s trustID so that it doesn’t have unrestricted access to every service in OpenStack project. • DC/OS supported.
  19. What is Kuryr? Kuryr is a Docker network plugin that

    uses Neutron to provide networking services to Docker containers. It provides containerized images for the common Neutron plugins. Run both OpenStack VMs and Kubernetes Pods on the same Neutron network https://github.com/openstack/kuryr
  20. What is Stackube? Stackube is a Kubernetes-centric OpenStack distro. It

    uses Kubernetes, instead of Nova, as the compute fabric controller, to provision containers as the compute instance, along with other OpenStack services (e.g. Cinder, Neutron). It supports multiple container runtime technologies, e.g. Docker, Hyper, and offers built-in soft / hard multi-tenancy (depending on the container runtime used). Integrate OpenStack projects with Kubernetes for multi-tenancy. https://github.com/openstack/stackube
  21. What is KubeSpray? KubeSpray is an incubated Kubernetes community project

    for deploying K8s clusters on premises or in the cloud. https://github.com/kubernetes-incubator/kubespray
  22. Features • Can be deployed on AWS, GCE, Azure, OpenStack

    or Baremetal. • High availability cluster Support. • Composable (Choice of the network plugin for instance). • Support most popular Linux distributions. • Continuous integration tests. • Support kubeadm deployment.