Professional Documents
Culture Documents
BRKCLD 2091
BRKCLD 2091
Introduction to Kubernetes
on UCS
How
1. Find this session in the Cisco Live Mobile App
2. Click “Join the Discussion”
3. Install Spark or go directly to the space
4. Enter messages/questions in the space
cs.co/ciscolivebot#BRKCLD-2091
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
An Introduction to Kubernetes on UCS
• UCS
• KUBAM
• Containers
• Kubernetes
• Conclusion
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
KUBAM
Kubernetes on UCS the easy way
Demo
UCS APIs offer the most complete for
solution for server automation
STORAGE PROFILES
What is missing?
MAC POOLS UUID SUFFIX POOLS
SOL POLICY
BOOT POLICIES
SAN CONNECTIVITY TEMPLATES
FIRMWARE UPDATES
VMEDIA POLICY
LOCAL DISK POLICY
MEMORY POLICY
BIOS POLICY
MAINTENANCE POLICIES
POWER SYNC POLICIES SCRUB POLICIES
VNIC TEMPLATES
WWN POOLS
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
How to automate Operating System Installation?
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Why would we want it?
Kubernetes
Automation
Operating System
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Existing Solutions
• UCS Director • Kubespray
• Puppet Razor • Kubeadm
• Cobbler • kubeUp
• Windows Deployment Services • MiniKube
• Rocks • Kops
• Crowbar • BootKube
• Warewulf • Kube-aws
• xCAT • Kismatic
• Bright Computing • Kubicorn
• Symantic • SimpleKube
• Blah blah blah blah blah
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
PXE Boot!
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
PXE Boot!
Too Complicated!
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
PXE Boot!
Too Complicated!
Requires:
DHCP, TFTP, VLANs, synchronize network and server people.
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
vMedia Policy
Released with UCS 2.2(2c) in 2014
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Using vMedia Policies
1. Get ISO Image
2. Unpack ISO image
3. Edit / Change files for automation, multiple files, many lines
4. Create boot image, modify the ISO image
5. Create install image for every server
6. Start a Web Server
7. Assign Service Profile Template to Server
8. Create vMedia Policy
9. Assign vMedia Policy to Template
10. Troubleshoot
Complicated!
But we can automate!
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Introducing
https://kubam.io
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
KUBAM Architecture
API GUI Ansible Communication over UCS management IP 1Gb
UCS Resources
including Service
Profiles created using
KUBAM UCSM Python SDK
Docker Images
CIMC vMedia mounted from the
KUBAM server (OS & KS.img)
VM or Physical
Server Communication over Blade 40Gb Network
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
KUBAM components
2 containers
kubam/kubam Kubam/web
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
vMedia Policy
Introduced with 2.2(2c) in 2014
• Allows ISO image to automatically be mounted with the service profile on creation
• Allows variable name of images based on service profile name
• Supports NFS, CIFS, HTTP, HTTPS
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco and Google hybrid cloud solution
Focus of this
Private Cloud
deck
Cloud Native infrastructure
Google Kubernetes
Apps
Engine
consistent environment
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Security
https://www.dnsperf.com
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
INTELLIGENCE
135B 90M
requests daily active
15K 160+
enterprise countries
per day users customers worldwide
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Best of Breed Recursive DNS
• 100% Uptime with Anycast routing
Umbrella for •
•
Fastest Recursive DNS Provider
Failovers/Redundancies
Data Centers • Visibility into DNS requests globally
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
• DNS Layer of Visibility
• Visibility into every request leaving
the DC
Umbrella
DC • DNS Layer of Security (optional)
• Addresses a gap in existing DC
208.67.220.220
security posture
208.67.222.222 • Port, Protocol, App agnostic
• Indication of compromised
infrastructure
• Ransomware/Botnets
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
Containers
Act 1
Custom Applications into Production
App.py! So great!
Doesn’t work!
App.py
opencv3
App.py! So great!
Developer Operations
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Containers vs traditional infrastructure
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
Docker overview
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
What does a Docker image look like?
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Kubernetes
app.py
Port 80
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
app.py app.py app.py
Randomize Ports
Port 32769
Port 32770
Port 32771
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
app.py app.py app.py app.py app.py app.py app.py app.py app.py
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
Solutions Emerge
Mesos
How do we account for dynamic
workloads?
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
Kubernetes Architecture
Kubernetes
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
Kubernetes Architecture
• Run Docker or other Container Runtime • Proxy services to route traffic to containers
• Receive Instructions from Master Nodes • Run infrastructure Pod services
• Report status back to Master nodes • Place where all workload happens.
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Kubernetes Master Node
kube-controller-manager Watches when nodes, pods, services go down
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Kubernetes Node
kube-controller-manager Watches when nodes, pods, services go down
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
Kubernetes Key Components
Kubernetes main Features
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
Pods
• Group of one or more containers, shared storage, and options for how to run the
containers
• Share IP address and port space
• Atomic unit of management
Source: http://kubernetes.io/docs/user-guide/pods/
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
Deployments
• Declare intent: How many replicas should be running of a given pod?
• Namespace
• Labels
• Ports that should be exposed
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
Services
• Abstraction for the mortality of Pods
• Provide single stable name and address for a set of pods inside the cluster.
Source: http://kubernetes.io/docs/user-guide/services/
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
Ingress
• Abstraction for services
• An Ingress is a set of rules for directing inbound traffic to a service.
• An Ingress Controller is a service that listens for the creation of new services
and does reverse proxy (nginx, traefik, f5 loadbalancer)
See: http://kubernetes.io/docs/user-guide/ingress/
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
Where we’re going
• Monitoring
• Multi UCS Domain Support
• UCS C-Series
• ACI
• Cisco Intersight
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
Conclusion
• Containers: simplify delivery of applications into production
• Kubernetes: simplifies containers
• KUBAM: simplifies Kubernetes on UCS
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark
Questions?
Use Cisco Spark to communicate
with the speaker after the session
How
1. Find this session in the Cisco Live Mobile App
2. Click “Join the Discussion”
3. Install Spark or go directly to the space
4. Enter messages/questions in the space
cs.co/ciscolivebot#BRKCLD-2091
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Please complete your Online Complete Your Online
Session Evaluations after each
session
Session Evaluation
• Complete 4 Session Evaluations
& the Overall Conference
Evaluation (available from
Thursday) to receive your Cisco
Live T-shirt
• All surveys can be completed via
the Cisco Live Mobile App or the
Communication Stations
Don’t forget: Cisco Live sessions will be available
for viewing on-demand after the event at
www.ciscolive.com/global/on-demand-library/.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Tech Circle
• Meet the Engineer 1:1 meetings
• Related sessions
BRKCLD-2091 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
Thank you