Overview of Container Management

Similar documents
Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

An Introduction to Kubernetes

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

CONTAINERS AND MICROSERVICES WITH CONTRAIL

VMWARE PIVOTAL CONTAINER SERVICE

Kubernetes: Twelve KeyFeatures

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Kubernetes introduction. Container orchestration

Important DevOps Technologies (3+2+3days) for Deployment

Kubernetes Integration Guide

Kubernetes 1.8 and Beyond

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Kubernetes Integration with Virtuozzo Storage

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Kubernetes - Networking. Konstantinos Tsakalozos

VMWARE ENTERPRISE PKS

TEN LAYERS OF CONTAINER SECURITY

Introduction to Kubernetes

What s New in K8s 1.3

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

2016 Mesosphere, Inc. All Rights Reserved.

VMWARE PKS. What is VMware PKS? VMware PKS Architecture DATASHEET

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Kubernetes 101. Doug Davis, STSM September, 2017

Multiple Networks and Isolation in Kubernetes. Haibin Michael Xie / Principal Architect Huawei

Kubernetes: Integration vs Native Solution

Running MarkLogic in Containers (Both Docker and Kubernetes)

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Kuber-what?! Learn about Kubernetes

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

K8s(Kubernetes) and SDN for Multi-access Edge Computing deployment

Networking Approaches in. a Container World. Flavio Castelli Engineering Manager

CS-580K/480K Advanced Topics in Cloud Computing. Container III

Container Orchestration on Amazon Web Services. Arun

Defining Security for an AWS EKS deployment

Dan Williams Networking Services, Red Hat

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

More Containers, More Problems

Designing MQ deployments for the cloud generation

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Dockercon 2017 Networking Workshop

Cloud I - Introduction

What s New in K8s 1.3

Kubernetes. An open platform for container orchestration. Johannes M. Scheuermann. Karlsruhe,

Secure Kubernetes Container Workloads

Containers Infrastructure for Advanced Management. Federico Simoncelli Associate Manager, Red Hat October 2016

Project Kuryr. Antoni Segura Puimedon (apuimedo) Gal Sagie (gsagie)

Investigating Containers for Future Services and User Application Support

Project Calico v3.1. Overview. Architecture and Key Components

DevOps + Infrastructure TRACK SUPPORTED BY

Red Hat Roadmap for Containers and DevOps

Understanding and Evaluating Kubernetes. Haseeb Tariq Anubhavnidhi Archie Abhashkumar

Maximizing Network Throughput for Container Based Storage David Borman Quantum

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

Kubernetes networking in the telco space

Ingress Kubernetes Tutorial

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

Note: Isolation guarantees among subnets depend on your firewall policies.

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

gcp / gke / k8s microservices

Think Small to Scale Big

Docker and Oracle Everything You Wanted To Know

Building a Microservices Platform with Kubernetes. Matthew Mark

Opendaylight: Enabling 5G through Cloud Native Telco Architecture Edgar Lombara Lumina Networks Inc.

Project Calico v3.2. Overview. Architecture and Key Components. Project Calico provides network security for containers and virtual machine workloads.

Kubernetes. Introduction

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Deploying Applications on DC/OS

DevOps Technologies. for Deployment

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist

What s New in Red Hat OpenShift Container Platform 3.4. Torben Jäger Red Hat Solution Architect

Airship A New Open Infrastructure Project for OpenStack

MESOS A State-Of-The-Art Container Orchestrator Mesosphere, Inc. All Rights Reserved. 1

ACCELERATE APPLICATION DELIVERY WITH OPENSHIFT. Siamak Sadeghianfar Sr Technical Marketing Manager, April 2016

Allowing Users to Run Services at the OLCF with Kubernetes

270 Total Nodes. 15 Nodes Down 2018 CONTAINER ADOPTION SURVEY. Clusters Running. AWS: us-east-1a 23 nodes. AWS: us-west-1a 62 nodes

Virtual Infrastructure: VMs and Containers

Simplify Container Networking With ican. Huawei Cloud Network Lab

Containerization Dockers / Mesospere. Arno Keller HPE

TEN LAYERS OF CONTAINER SECURITY

Kubernetes 101: Pods, Nodes, Containers, andclusters

JFOKUS 2017 EXPERIENCES FROM USING DISCOVERY SERVICES IN A MICROSERVICE LANDSCAPE

Continuous delivery while migrating to Kubernetes

S Implementing DevOps and Hybrid Cloud

AWS Integration Guide

Convergence of VM and containers orchestration using KubeVirt. Chunfu Wen

@briandorsey #kubernetes #GOTOber

Kubernetes objects on Microsoft Azure

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Table of Contents 1.1. Introduction. Overview of vsphere Integrated Containers 1.2

RED HAT OPENSHIFT A FOUNDATION FOR SUCCESSFUL DIGITAL TRANSFORMATION

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases

Cloud Foundry Diego: The New Cloud Runtime. Heterogeneous Container Scheduling, Docker & More

Wolfram Richter Red Hat. OpenShift Container Netzwerk aus Sicht der Workload

FROM MONOLITH TO DOCKER DISTRIBUTED APPLICATIONS

Transcription:

Overview of Container Management Wyn Van Devanter @wynv Vic Kumar

Agenda Why Container Management? What is Container Management? Clusters, Cloud Architecture & Containers Container Orchestration Tool Overview Container Management Systems and Beyond Kubernetes Basics Hands-On

Why container management? Building and managing software using containers is becoming the standard Creates new ways to package, deploy and manage software Development to Production Parity Centralizes software management Fosters standardized deployment platform

Container-based Infrastructure Container Management System Security controls, image security scanning, centralized management tools, app lifecycle management, enterprise management Enterprise: Docker EE, OpenShift Orchestrator Scheduling, communication, service discovery, load balancing, selfhealing, rolling updates, pipeline management, federation, etc Cluster management with Kubernetes, Swarm, Mesos, Fleet, Managed: ECS, EKS Container Engine Runs containers Server: Docker on Azure/AWS/VM Containerized Applications Application packaged in a standard way Local devleopment: App with React UI container, ASP.NET Core API container

What are containers? Isolate an application, its dependencies and resource use into a standard unit of execution & deployment Your application and everything it needs to run, with isolation benefits without the OS overhead More portable, less resource use, more shippable

What are containers? Virtual Machines Containers

Why Containers?

Deploying Containers Must manage many pieces (containers) Must be able to find each other Distributing workload Auto-scaling Rolling updates, rollbacks, canary, green/blue releases Self-service infrastructure Cloud agnosticism Multiple OS management http://www.worldshipping.org/about-the-industry/containers/global-container-fleet

Clusters Backbone of container infrastructure. Typically for large scale, now container-based software deployment too. A collection of servers called nodes, with masters. Makes managing a pool of servers & their resources as simple as managing a single system You don t care where containers run With multiple container-based apps, a cluster is a way to standardized deployment https://www.cbronline.com/

What is Container Orchestration? An abstraction that simplifies tasks of building, deploying, and maintaining containers across servers Automates the distribution of applications across a cluster of machines, ensuring higher levels of utilization Single platform for application deployment across servers & clouds Decouples development teams from machines they re using Operationalized efficiency across the organization https://blog.docker.com/2017/10/least-privilege-container-orchestration/

What is Container Orchestration? Orchestrator functionality includes: Provisioning and managing cluster Scheduling Cross-node container communication Service discovery Load balancing Scaling Self-healing (automatic restarts) Rolling updates & rollbacks Blue/green & canary deployments Storage management https://blog.docker.com/2017/10/least-privilege-container-orchestration/

Container Orchestration Options: Kubernetes Swarm Mesos/Marathon Nomad Managed: ECS, ACS EKS, AKS, GKE Fargate

How the tools work Create configuration file that specifies containers and other settings that make up a service Declarative State Tool places containers on nodes in cluster Makes sure they stay healthy Can manage deployments from the tool Getting Started with Kubernetes, Pluralsight, Nigel Poulton

Kubernetes Cluster https://kubernetes.io/docs

Container Orchestration

Choosing a Container Management System What kinds components are going into containers? How do the components of the application talk to one another? How is availability handled? How is access control handled? What sort of scalability is needed How many applications am I planning to support? Do I need to manage my own cluster(s)?

Kubernetes Began in 2014 by Google, inspired by their Borg and other internal container scaling projects It has quickly risen to dominate the container orchestration space Heavyweights behind it including Red Hat, IBM

Kubernetes Concepts Kubernetes uses persistent objects to manage its state, including What containerized applications are running, on which nodes Resources available to those applications Policies around how those applications behave (i.e. restart, upgrades, faulttolerance) Deployment ReplicaSet Pod Container Container

Kubernetes Concepts Control Plane Master & Nodes - normally doesn't run containers, but the key Kubernetes services; nodes Namespaces - logical grouping of cluster for use with multiple users or projects Labels - K/V pair for categorizing objects such as pods Pods - wraps container(s) Deployments, ReplicaSets - manages the desired state, i.e. specify number of pods Services - allows external pod communication Volumes - share data between containers, persistent storage; beefier than Docker volumes

Manifest Written in YAML or JSON, these files describe the desired state of your application in terms of Kubernetes API objects A file can include one or more API object descriptions (i.e. service, deployment) Typical way to deploy container-based services to the cluster

Pod It is a wrapper around a group of one or more containers with shared storage, network and a specification for how to run. It represents processes that would run on the same server in the pre-container world. Pods do act like a single server. Getting Started with Kubernetes, Pluralsight, Nigel Poulton

Service Receives and load balances requests to pods Depending on the type of Service used, these requests can come from external client apps or be limited to apps within the same cluster. A Service can be tied to a specific Deployment using label selection. Services have a cluster-wide IP, DNS name and port Getting Started with Kubernetes, Pluralsight, Nigel Poulton

Deployment The most common way of running X copies (Pods) of your application thru ReplicaSets Supports versioned rolling updates and rollbacks Easy to have multiple concurrent versions thus blue/green and canary deployments Getting Started with Kubernetes, Pluralsight, Nigel Poulton

Container Networking There are 4 distinct networking problems to solve: Highly-coupled container-to-container communications: this is solved by pods and localhost communications. Pod-to-Pod communications Pod-to-Service communications: done using services. External-to-Service communications: done using services https://docker-k8s-lab.readthedocs.io/en/latest/docker/bridged-network.html

Kubernetes Networking All containers can communicate with all other containers without NAT All nodes can communicate with all containers (and vice-versa) without NAT The IP that a container sees itself as is the same IP that others see it as https://blog.laputa.io/kubernetes-flannel-networking-6a1cb1f8ec7c

CNI Plug-ins Kubernetes uses CNI as an interface between network providers and Kubernetes networking. bridge: Creates a bridge, adds the host and the container to it ipvlan: Adds an ipvlan interface in the container loopback: Set the state of loopback interface to up macvlan: Creates a new MAC address, forwards all traffic to that to the container ptp: Creates a veth pair vlan: Allocates a vlan device

Third-Party Plug-ins Weave Flannel Calico Romana CNI-Genie from Huawei

Namespaces Groups pods Can be used to provide quotas and limits around resource usage Can have impact on DNS names Kubernetes creates internal to the cluster If no namespace is specific, default is used

Container Management Systems Container Management System Security controls, image security scanning, centralized management tools, app lifecycle management, enterprise management, support Docker EE, OpenShift Orchestrator Scheduling, communication, service discovery, load balancing, selfhealing, rolling updates, pipeline management, federation, etc Cluster(s) managed by Kubernetes, Swarm, Mesos, Fleet Container Engine Runs containers Docker on Azure/AWS/VM Containerized Applications Application packaged in a standard way App with React UI container, ASP.NET Core API container

Docker EE

Hands-on https://github.com/excellalabs/docker-workshop-2 https://goo.gl/cuumxf

Thank you! @wynv wyn.vandevanter@excella.com Getting Started with Docker, Self-Guided Workshop, https://github.com/excellalabs/docker-workshop-1 Getting Started Deploying with Docker via Kubernetes, Self-Guided Workshop, https://github.com/excellalabs/docker-workshop-2 Docker Swarm workshop, https://github.com/jpetazzo/container.training Deploy ASP.NET Core app to Kubernetes on Google Kubernetes Engine, https://codelabs.developers.google.com/codelabs/cloud-kubernetes-aspnetcore https://www.slideshare.net/wynvandevanter/container-orchestration-overview- 107192685