KEMBAR78
Deploying apps with Docker and Kubernetes | PPTX
Deploying with Docker and Kubernetes
Daniel Fenton
@dmfenton
dfenton@esri.com
https://github.com/dmfenton
What is Koop?
GeoServices
https://www.yelp.com/search
https://washingtondc.craigslist.org/search/apa
Docker
• Package everything you need to run an application into one file
• Meant to solve the “works on my machine” problem
• Lighter than a VM, not a full copy of the OS
• Docker Hub: online container repository
Kubernetes
• Open Source Container Orchestrator
- Automate deployment, scaling and operations of containers
• Began life as Google’s Borg
• Backed by Google and Microsoft
• Master and nodes architecture
- Uses etcd under the hood
• Everything specified as yaml files
- Declare your application and let K8s handle the rest
• https://kubernetes.io/
Kubernetes Cluster Options
• Azure Container Services:
- Managed service
- https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough
• Google Container Engine
- Managed service
- https://cloud.google.com/container-engine/
• AWS
- Choose your own adventure
- https://github.com/kubernetes/kops
- https://kubernetes.io/docs/getting-started-guides/aws/
• Minikube
- https://kubernetes.io/docs/getting-started-guides/minikube/
- Local
Kubernetes Components
• Pods: container or containers that form a single logical group
• Replica Set: Supervises the pods
• Deployment: Abstracts replica sets and pods
• Service: Creates an internal and/or external URL and load balances across pods
• Ingress: set of externally available routes that map to services
The Dockerfile
• Runs Node 6 on to of Debian
• Installs and configures Koop
• Saved to docker hub as dmfenton/koop-craigslist
• https://github.com/dmfenton/koop-provider-craigslist/blob/master/Dockerfile
Kubernetes Deployment
• Which container
• How many replicas
• Readiness check
• Metadata
• https://kubernetes.io/docs/user-guide/deployments/
Kubernetes Service
• Which port to use
• Installs and configures Koop
• Saved to docker hub as dmfenton/koop-craigslist
• Can automatically assign a load balancer
- Type => LoadBalancer
• Or, can direct traffic through ingress
- https://kubernetes.io/docs/user-guide/ingress/
Kubernetes Dashboard
Questions?
Daniel Fenton
@dmfenton
dfenton@esri.com
https://github.com/dmfenton
Deploying apps with Docker and Kubernetes

Deploying apps with Docker and Kubernetes

  • 1.
    Deploying with Dockerand Kubernetes Daniel Fenton @dmfenton dfenton@esri.com https://github.com/dmfenton
  • 2.
  • 3.
    Docker • Package everythingyou need to run an application into one file • Meant to solve the “works on my machine” problem • Lighter than a VM, not a full copy of the OS • Docker Hub: online container repository
  • 4.
    Kubernetes • Open SourceContainer Orchestrator - Automate deployment, scaling and operations of containers • Began life as Google’s Borg • Backed by Google and Microsoft • Master and nodes architecture - Uses etcd under the hood • Everything specified as yaml files - Declare your application and let K8s handle the rest • https://kubernetes.io/
  • 5.
    Kubernetes Cluster Options •Azure Container Services: - Managed service - https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough • Google Container Engine - Managed service - https://cloud.google.com/container-engine/ • AWS - Choose your own adventure - https://github.com/kubernetes/kops - https://kubernetes.io/docs/getting-started-guides/aws/ • Minikube - https://kubernetes.io/docs/getting-started-guides/minikube/ - Local
  • 6.
    Kubernetes Components • Pods:container or containers that form a single logical group • Replica Set: Supervises the pods • Deployment: Abstracts replica sets and pods • Service: Creates an internal and/or external URL and load balances across pods • Ingress: set of externally available routes that map to services
  • 7.
    The Dockerfile • RunsNode 6 on to of Debian • Installs and configures Koop • Saved to docker hub as dmfenton/koop-craigslist • https://github.com/dmfenton/koop-provider-craigslist/blob/master/Dockerfile
  • 8.
    Kubernetes Deployment • Whichcontainer • How many replicas • Readiness check • Metadata • https://kubernetes.io/docs/user-guide/deployments/
  • 9.
    Kubernetes Service • Whichport to use • Installs and configures Koop • Saved to docker hub as dmfenton/koop-craigslist • Can automatically assign a load balancer - Type => LoadBalancer • Or, can direct traffic through ingress - https://kubernetes.io/docs/user-guide/ingress/
  • 10.
  • 11.

Editor's Notes

  • #2 Esri Corporate Template-Dark v3.3 16:9 version – January 21, 2016 For more templates, sample files, and icons, see https://compass.esri.com/resources/presentations/Pages/Main.aspx To add footer text in Windows On the Home tab, under Insert, click Text, and then click Header and Footer. Click the Slide tab, select the Footer check box, and then type the footer text that you want. Click either Apply or Apply to All. To add footer text on a Mac On the View menu, select Header and Footer. Select the Footer check box and then type the footer text that you want. Click either Apply or Apply to All. If footers don't appear on the slides If footers don't appear on title slides, in the Header and Footer dialog box make sure the Don't show on title slide check box is not selected. If the footers are missing from other slides, the placeholders for these items might have been removed from specific slide layouts or the slide master.
  • #12 Esri Corporate Template-Dark v3.3 16:9 version – January 21, 2016 For more templates, sample files, and icons, see https://compass.esri.com/resources/presentations/Pages/Main.aspx To add footer text in Windows On the Home tab, under Insert, click Text, and then click Header and Footer. Click the Slide tab, select the Footer check box, and then type the footer text that you want. Click either Apply or Apply to All. To add footer text on a Mac On the View menu, select Header and Footer. Select the Footer check box and then type the footer text that you want. Click either Apply or Apply to All. If footers don't appear on the slides If footers don't appear on title slides, in the Header and Footer dialog box make sure the Don't show on title slide check box is not selected. If the footers are missing from other slides, the placeholders for these items might have been removed from specific slide layouts or the slide master.