Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
@rstarmer @mschulz
Turn up the HEAT
With OpenStack and Kubernetes
Who	are	we?
Michael Schulz:
@mschulz
• Helion Technical Marketing Architect
• OpenStack operations contributor since
2012
...
@rstarmer @mschulz
Agenda
• Containers and Operations
• Operating Container based Applications
• Infrastructure for Contai...
@rstarmer @mschulz
Containers and Operations
@rstarmer @mschulz
Why not just stick with VMs?
Bare Metal (Nova & Ironic)
x86, ARM, other processor
Memory
Local “block” ...
@rstarmer @mschulz
Developers get Containers
• Dev/Ops is a stepping stone for many developers
• Enabled application devel...
@rstarmer @mschulz
It is not just a Container though…
@rstarmer @mschulz
Still need to “operate” containers
• Can’t avoid some underlying operations
• Manage infrastructure fai...
@rstarmer @mschulz
The field of Container Management
• LXC and LXD or libvirt-lxc
• Docker and Docker(plus Swarm)
• Docker...
@rstarmer @mschulz
Management Functions
• Lifecycle Management
• Rolling Upgrades
• Scheduling
• Network Service
• Storage...
@rstarmer @mschulz
OpenStack and Container Operating Env.
@rstarmer @mschulz
Managing Containers
Container Management on OpenStack
• Leverage VMs to support Container engines
• Con...
@rstarmer @mschulz
HEAT
• Template based automation
• Access to all OpenStack resources and services:
• Compute	– OS::Nova...
@rstarmer @mschulz
HEAT and CAPS
• CAPS: Chef, Ansible, Puppet, SaltStack
• Implements	“state	based”	automation
• Simplifi...
@rstarmer @mschulz
Kubernetes on OpenStack
@rstarmer @mschulz
Kubernetes and Openstack
• OpenStack provides the IaaS model via HEAT
• HEAT triggers SaltStack deploym...
@rstarmer @mschulz
Kubernetes
@rstarmer
Greek for “Helmsman”; also the root of
the word “Governor”
• Orchestrator for cont...
@rstarmer @mschulz
Kubernetes manages your applications
@rstarmer
• Scheduling of where containers should run
• Lifecycle ...
@rstarmer @mschulz
Primary concepts
@rstarmer
@rstarmer @mschulz
KubernetesArchitecture
@rstarmer
etcd API Server
Scheduler
Controller Manager
Kubelet
Service Proxy
kub...
@rstarmer @mschulz
Demo Time
@rstarmer @mschulz
Getting the bits
@rstarmer
export KUBERNETES_PROVIDER=openstack-heat; curl -sS https://get.k8s.io | bas...
@rstarmer @mschulz
Start the deployment
@rstarmer
stack@helion-cp1-c1-m1-mgmt:~/kubernetes/cluster$ !K
KUBERNETES_PROVIDER...
@rstarmer @mschulz
Example Replication Controller
@rstarmer
@rstarmer @mschulz
Questions?
@mschulz @rstarmer
Prochain SlideShare
Chargement dans…5
×

Turn up the Heat with OpenStack and Kubernetes

1 009 vues

Publié le

Presentation from a workshop at OpenStack Days Seattle 2016 by @rstarmer (Kumulus) and @mschulz (Hewlett-Packard Enterprise).

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Turn up the Heat with OpenStack and Kubernetes

  1. 1. @rstarmer @mschulz Turn up the HEAT With OpenStack and Kubernetes
  2. 2. Who are we? Michael Schulz: @mschulz • Helion Technical Marketing Architect • OpenStack operations contributor since 2012 • Supporting Cloud enablement for Enterprise • Containers, Apps, Cloud Robert Starmer: @rstarmer • CTO for Kumulus Technologies • OpenStack operations contributor since 2012 • Supporting Cloud enablement for Enterprise • OpenStack, Kubernetes, BareMetal to App CD kumul.ushpe.com
  3. 3. @rstarmer @mschulz Agenda • Containers and Operations • Operating Container based Applications • Infrastructure for Container Operating Environments • OpenStack for Kubernetes
  4. 4. @rstarmer @mschulz Containers and Operations
  5. 5. @rstarmer @mschulz Why not just stick with VMs? Bare Metal (Nova & Ironic) x86, ARM, other processor Memory Local “block” storage subsystem Hypervisor (Nova) Hypervisor - Hardware access management and segregation ESX, KVM, Hyper-V, Xen, LPAR Container (Nova) OS level segregation of processes Docker/LXC, Solaris containers Hardware APP APP APP Host OS bin/lib bin/lib bin/lib Hardware APP OS Hypervisor APP OS APP OS Host OS bin/lib bin/lib Virtual machine Guest OS bin/lib Hardware APP bin/lib Container Engine APP bin/lib APP bin/lib Host OS Container @rstarmer
  6. 6. @rstarmer @mschulz Developers get Containers • Dev/Ops is a stepping stone for many developers • Enabled application development models that were not previously possible • Ops is something to limit and reduce • There is a growing #serverless community - focusing on just the application again @rstarmer
  7. 7. @rstarmer @mschulz It is not just a Container though…
  8. 8. @rstarmer @mschulz Still need to “operate” containers • Can’t avoid some underlying operations • Manage infrastructure failures gracefully • Provide some scale services (e.g. Load balancing) • Managing interactions and security between multi-container services and solutions • Manage and configure storage mappings @rstarmer
  9. 9. @rstarmer @mschulz The field of Container Management • LXC and LXD or libvirt-lxc • Docker and Docker(plus Swarm) • Docker/RKT/(?LXC?) and Kubernetes • Docker, LXC, etc. and Mesos/DCOS • Docker Cloud, Rancher, DCOS, CoreOS Fleet…. @rstarmer
  10. 10. @rstarmer @mschulz Management Functions • Lifecycle Management • Rolling Upgrades • Scheduling • Network Service • Storage Mapping • Seems like an IaaS might be of service @rstarmer
  11. 11. @rstarmer @mschulz OpenStack and Container Operating Env.
  12. 12. @rstarmer @mschulz Managing Containers Container Management on OpenStack • Leverage VMs to support Container engines • Container Operating Environment deployed via HEAT • Leverage Network services: • LBaaS • Kuryr @rstarmer
  13. 13. @rstarmer @mschulz HEAT • Template based automation • Access to all OpenStack resources and services: • Compute – OS::Nova:: • Storage – OS::Cinder::,OS::Swift:: • Network – OS::Neutron::, OS::Neutron::LBaaS:: • Even HEAT – OS::Heat:: • Templates used across most OpenStack driven Kubernetes deployments: • Magnum • Murano @rstarmer
  14. 14. @rstarmer @mschulz HEAT and CAPS • CAPS: Chef, Ansible, Puppet, SaltStack • Implements “state based” automation • Simplifies service configuration vs. shell scripts • Powerful automation tools for deployment • Many applications are already supported • HEAT implements the infrastructure services • Still need to implement the application services • Use SaltStack to provide “application” automation @rstarmer
  15. 15. @rstarmer @mschulz Kubernetes on OpenStack
  16. 16. @rstarmer @mschulz Kubernetes and Openstack • OpenStack provides the IaaS model via HEAT • HEAT triggers SaltStack deployment of Kubernetes • Kubernetes supports Container Operations • OpenStack can support additional underlying services: • Network (Integrate with Kuryr, add LBaaS) • Storage (add Cinder block, or Ceph) @rstarmer
  17. 17. @rstarmer @mschulz Kubernetes @rstarmer Greek for “Helmsman”; also the root of the word “Governor” • Orchestrator for containers • Supports multi-cloud environments • Inspired and informed by Google’s experiences and internalsystems • Open source, written inGo Manage applications, notmachines
  18. 18. @rstarmer @mschulz Kubernetes manages your applications @rstarmer • Scheduling of where containers should run • Lifecycle and health to keep containers running • Discovery of containers and their location • Monitoring of containers • Control who can do things to containers • Aggregates sets of containers into jobs • Making jobs bigger or smaller by scaling up/down
  19. 19. @rstarmer @mschulz Primary concepts @rstarmer
  20. 20. @rstarmer @mschulz KubernetesArchitecture @rstarmer etcd API Server Scheduler Controller Manager Kubelet Service Proxy kubectl, ajax, etc
  21. 21. @rstarmer @mschulz Demo Time
  22. 22. @rstarmer @mschulz Getting the bits @rstarmer export KUBERNETES_PROVIDER=openstack-heat; curl -sS https://get.k8s.io | bash https://github.com/kubernetes/kubernetes/releases
  23. 23. @rstarmer @mschulz Start the deployment @rstarmer stack@helion-cp1-c1-m1-mgmt:~/kubernetes/cluster$ !K KUBERNETES_PROVIDER=openstack-heat ./kube-up.sh ... Starting cluster using provider: openstack-heat ... calling verify-prereqs swift client installed glance client installed nova client installed heat client installed openstack client installed ... calling kube-up kube-up for provider openstack-heat [INFO] Execute commands to create Kubernetes cluster [INFO] Upload kubernetes-server-linux-amd64.tar.gz kubernetes-server.tar.gz [INFO] Upload kubernetes-salt.tar.gz kubernetes-salt.tar.gz [INFO] Image CentOS7 already exists [INFO] Key pair already exists Stack not found: KubernetesStack [INFO] Retrieve new image ID [INFO] Image Id f80d2e2d-4149-4075-9903-2b4c00db6b1a [INFO] Create stack KubernetesStack +--------------------------------------+-----------------+--------------------+---------------------+--------------+ | id | stack_name | stack_status | creation_time | updated_time | +--------------------------------------+-----------------+--------------------+---------------------+--------------+ | 21ba7cbf-8144-4450-a775-1e11bf3ae798 | KubernetesStack | CREATE_IN_PROGRESS | 2016-09-15T22:29:04 | None | +--------------------------------------+-----------------+--------------------+---------------------+--------------+ ... calling validate-cluster Cluster status CREATE_IN_PROGRESS Cluster status CREATE_IN_PROGRESS Cluster status CREATE_COMPLETE cluster "openstack-KubernetesStack" set. user "openstack-KubernetesStack" set. context "openstack-KubernetesStack" set. switched to context "openstack-KubernetesStack". Wrote config for openstack-KubernetesStack to /home/stack/.kube/config Done, listing cluster services: Kubernetes master is running at https://192.168.2.181 Elasticsearch is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging Heapster is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/heapster Kibana is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/kibana-logging KubeDNS is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard Grafana is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana InfluxDB is running at https://192.168.2.181/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. stack@helion-cp1-c1-m1-mgmt:~/kubernetes/cluster$
  24. 24. @rstarmer @mschulz Example Replication Controller @rstarmer
  25. 25. @rstarmer @mschulz Questions? @mschulz @rstarmer

×