devnet-1183openshift + kubernetes + docker
TRANSCRIPT
![Page 1: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/1.jpg)
APPLICATIONS AND CONTAINERS AT SCALE:OpenShift + Kubernetes + Docker
Presented by:Steven Pousty
OpenShift/Red Hat@TheSteve0 on Twitter, IRC, Instagram, Ingress, Skype, SmugMug, and Github
![Page 2: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/2.jpg)
Agenda
• Cover the tech• Show some demos• Wrap it up
![Page 3: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/3.jpg)
Assumptions
• You have written web applications• You like things easy
![Page 4: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/4.jpg)
Platform as a Service
![Page 5: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/5.jpg)
![Page 6: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/6.jpg)
![Page 7: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/7.jpg)
Let’s Start From the Bottom
Containers
![Page 8: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/8.jpg)
![Page 9: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/9.jpg)
Defining Container
• Based on Linux containers (namespaces, control groups)
• Combines file system layers into a "Union File System"
• Includes all of the components necessary to run a process, store persistent data, or both
• Docker currently provides the best specification for portable applications
![Page 10: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/10.jpg)
Containers vs. VMs
![Page 11: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/11.jpg)
Containers: Pros and Cons
Pros:• Extreme application
portability• Very easy to create
and work with derivative images
• Fast boot on containers
Cons:• Host-centric solution;
not aware of anything else
• No higher-level provisioning
• No usage tracking / reporting
![Page 12: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/12.jpg)
Wins
• Efficient resource usage• BYOB - bring your own bits• A standard way for people to make container
images• Huge ecosystem
![Page 13: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/13.jpg)
![Page 14: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/14.jpg)
Kubernetes
• "a system for managing containerised applications across multiple hosts"
• declarative model – make the world match the truth
• open source project by Google
![Page 15: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/15.jpg)
![Page 16: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/16.jpg)
Conceptspod: colocated group of Docker containers that share an IP and storage volumesservice: provides a single, stable name for set of pods and acts as basic load balancerreplication controller: manages the lifecycle of pods and ensures specified number are runninglabel: used to organise and select groups of objects
![Page 17: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/17.jpg)
Wins
• Runtime and operational management of containers
• Manage related Docker containers as a unit• Container communication across hosts• Availability and scalability through automated
deployment and monitoring of pods and their replicas, across hosts
![Page 18: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/18.jpg)
![Page 19: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/19.jpg)
Division of Labor
• Kubernetes provides a container runtime• OpenShift provides the Application, DevOps,
and team environment
![Page 20: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/20.jpg)
OpenShift Concepts
• application: one or more pods linked together by services; distinct, interconnected components
• config: collection of objects describing combination of pods, services, replication controllers, environment variables, and other components
• template: parameterised version of config for generalised reuse
• build config: object defining source code URI, authentication for change notifications (webhooks), and build type (source-to-image or docker-builder)
• deployment: image and settings for it: replication controller, trigger policies, and deployment strategy
![Page 21: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/21.jpg)
![Page 22: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/22.jpg)
DEMO
![Page 23: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/23.jpg)
Wins
• Efficiently manage thousands of applications, auto-scaling components independently and updating them en masse
• Responsive, change-aware platform supports fault-tolerant, automated, and repeatable builds and deployments
• All the tech packaged up and made easier to use
![Page 24: DEVNET-1183OpenShift + Kubernetes + Docker](https://reader036.vdocuments.mx/reader036/viewer/2022062304/55cae597bb61eb33788b47c9/html5/thumbnails/24.jpg)
Conclusion• We covered A LOT• For us, it's the Linux story again – huge community
through best upstreams - come build with us!• Your world as a sys admin or developer is looking bright • Use containers to have an agreed upon way to manage
server bits– We can automate some annoying things - i.e. dev env
creation or autoscaling– Template an entire application - infra and code – OpenShift packages all this technology into one nice package