SlideShare a Scribd company logo
DevOps with Kubernetes
Agenda
• Kubernetes overview
• Usage and demo
• Architecture
• Kubernetes on AWS with Cloud
Formation
Kubernetes Overview
What is Kubernetes?
Quick facts
• System for managing and orchestrating containerized
applications in
clusters, a.k.a. cluster management software
• Open source, MIT licensed, developed by Google
• Used in GCE, OpenShift, other projects

Recommended for you

Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes

Docker allows building portable software that can run anywhere by packaging an application and its dependencies in a standardized unit called a container. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes can replicate containers, provide load balancing, coordinate updates between containers, and ensure availability. Defining applications as Kubernetes resources allows them to be deployed and updated easily across a cluster.

dockerkubernetes
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics

This document provides an overview of Kubernetes including: 1) Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides container-centric infrastructure and allows for quickly deploying and scaling applications. 2) The main components of Kubernetes include Pods (groups of containers), Services (abstract access to pods), ReplicationControllers (maintain pod replicas), and a master node running key components like etcd, API server, scheduler, and controller manager. 3) The document demonstrates getting started with Kubernetes by enabling the master on one node and a worker on another node, then deploying and exposing a sample nginx application across the cluster.

raspberry pikubernetesdocker
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes

Those are the slides that were used to give an introduction to Kubernetes at the Nardoz Berlin Meetup on the 2018-06-28.

kubernetesawsdocker
Kubernetes is
• portable: public, private, hybrid, multi-cloud, written in Go
• extensible: modular, pluggable, hookable, composable
• self-healing: auto-placement, auto-restart, auto-replication, auto-
scaling
• scalable and reliable: all components are scalable and clear setup
path
exists to setup scalable and reliable cluster
• documented: a lot of documentation, training materials,
community support
• open source: MIT license, large and active community
With Kubernetes you can
• Orchestrate complex application deployments quickly and
predictably
• Scale your applications on the fly
• Seamlessly roll out new features
• Easily setup complex operations scenarios, e.g. rolling update,
canary
deployments etc
• Optimize use of your hardware by using only the resources you
need
• Manage persistent storage
• Automate
Kubernetes solves
• application composition: co-
locating helper processes
preserving the “one-
application- per-container”
model,
• mounting storage systems,
• distributing configuration and
secrets,
• application health checking,
• replicating application
instances,
• horizontal (auto-)scaling,
• naming and discovery,
• load balancing,
• rolling updates,
• resource monitoring,
• log access and ingestion,
• support for introspection
and
debugging, and
• identity and authorization.
Kubernetes Usage

Recommended for you

Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview

An in depth overview of Kubernetes and it's various components. NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)

containerkubernetesorchestration
Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called pods. Kubernetes can manage pods across a cluster of machines, providing scheduling, deployment, scaling, load balancing, volume mounting and networking. It is widely used by companies like Google, CERN and in large projects like processing images and analyzing particle interactions. Kubernetes is portable, can span multiple cloud providers, and continues growing to support new workloads and use cases.

(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called pods. Its main components include a master node that manages the cluster and worker nodes that run the applications. It uses labels to organize resources and selectors to group related objects. Common concepts include pods, services for discovery/load balancing, replica controllers for scaling, and namespaces for isolation. It provides mechanisms for configuration, storage, security, and networking out of the box to ensure containers can run reliably and be easily managed at scale.

kubernetescontainerorchestration
Kubernetes management
• Kubectl CLI
• Independent binaries for multiple platforms (Go)
• put config file to $HOME/.kube or set $KUBECONFIG
• Automation friendly with multiple output formats: text, json, yaml,
jsonpath
• Supports proxy into cluster network, container attachment and log
retrieval
• REST API
• Available at https://<master-ip>
• Self-documented, swagger documentation
• Supports proxy into cluster network
• Basic Web dashboard
• Available at https://<master-ip>/ui
Kubernetes objects
Primitives
• Namespace
• Node
• Pod
• Service
• Config Map
• Secret
• Volume
• Persistent
Volume
Controller
s• Replication
Controller
• Deployment
• Job
• Daemon Set
• Ingress
• ...
Kubernetes objects: common
• All objects include metadata with
• Name – unique
• Labels – searchable, selectable
• Annotations – arbitrary additional information
• Spec – object specific description/specification of the
object
• Status – object status within the cluster
• Object information may be received in different formats
Kubernetes objects: names and namespaces
• Namespaces are used to separate groups of objects, e.g. by
user, team,
project etc
• Namespaces are scopes for names; names are unique per
type within namespace
• Namespaces may also be a basis for access control separation
• Resource quotas may be associated with namespaces
kubectl get namespaces [ <ns> ... ]
kubectl describe namespaces [ <ns> ... ]

Recommended for you

Kubernetes PPT.pptx
Kubernetes PPT.pptxKubernetes PPT.pptx
Kubernetes PPT.pptx

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called pods. Kubernetes masters manage the cluster and make scheduling decisions while nodes run the pods and containers. It uses labels and selectors to identify and group related application objects together. Services provide a single endpoint for pods, while deployments help manage replicated applications. Kubernetes provides mechanisms for storage, configuration, networking, security and other functionality to help run distributed systems reliably at scale.

kubernetes
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop

A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here: https://github.com/mrbobbytables/k8s-intro-tutorials

kubernetescontainerorchestration
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes

This document provides an overview of Docker and Kubernetes (K8S). It defines Docker as an open platform for developing, shipping and running containerized applications. Key Docker features include isolation, low overhead and cross-cloud support. Kubernetes is introduced as an open-source tool for automating deployment, scaling, and management of containerized applications. It operates at the container level. The document then covers K8S architecture, including components like Pods, Deployments, Services and Nodes, and how K8S orchestrates containers across clusters.

kubernetesdockercontainers
Kubernetes objects: nodes
• Nodes represent a physical or virtual worker machine where
kubelet,
kube proxy, and docker run
• Kubelet registers a node on the master and maintains keep-
alive check
• Nodes may be annotated and labeled to specify workload
affinity and
constraints
kubectl get nodes
kubectl describe
[ <nd> ... ]
nodes [ <nd> ... ]
Kubernetes objects: pods
• Pod is a group of containers
• Run on the same node – co-located and co-
scheduled
• Shared storage
• Shared localhost network and port space
• Unique IP within a cluster
• Example: app server and log shipper
Kubernetes objects: nodes and pods
Node 1 Node 2
Pod A-1
10.0.0.3
Cnt1
Cnt2
Pod A-2
10.0.0.5
Cnt1
Cnt2
Pod B-1
10.0.0.8
Cnt3
Kubernetes objects: volumes and persistent volumes
• Used to manage persistent
storage
• Multiple types supported:
• AWS EBS
• Azure block store
• Git
• NFS
• GlusterFS
• Ceph
• ...

Recommended for you

Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm

Helm is a package manager for Kubernetes that allows for easy installation, upgrade, and management of Kubernetes applications. It provides repeatability, reliability, and simplifies deploying applications across multiple Kubernetes environments. Helm originated from an internal hackathon at Deis and was jointly developed by Google and Deis. It is now maintained by the Cloud Native Computing Foundation. Helm consists of a client that interacts with the Tiller server running inside the Kubernetes cluster to manage application lifecycles using charts, which are packages containing Kubernetes resource definitions.

dockerkuberneteshelm
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction

A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.

introductiondockerkubernetes
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes

Kubernetes is an open-source system for managing containerized applications across multiple hosts. It includes key components like Pods, Services, ReplicationControllers, and a master node for managing the cluster. The master maintains state using etcd and schedules containers on worker nodes, while nodes run the kubelet daemon to manage Pods and their containers. Kubernetes handles tasks like replication, rollouts, and health checking through its API objects.

containersdockerkubernetes
Kubernetes objects: pods and volumes
Pod
Volume
Volume
Volume
Claim
Container 1
Volume
Container 2
Volume
Persistent
Mount Mount
Kubernetes objects: config maps and secrets
• Config maps and secrets are used for distribution of
configuration
information including secrets like password, certificates, keys etc
• Kubelet registers a node on the master and maintains keep-
alive check
• Nodes may be annotated and labeled to specify workload
affinity and constraintskubectl
kubectl
kubectl
kubectl
get configmaps [ <cm> ... ]
describe configmaps [ <cm> ... ]
get secrets [ <sc> ... ]
describe secrets [ <sc> ... ]
Kubernetes objects: services
• Service is an abstraction that defines a set of pods a policy to
access
them
• Service is a distributed L3 load balancer
• Single unique IP within a cluster
• Used to expose pods to the world:
• Default
• NodePort
• LoadBalancer
external
port
Kubernetes objects: pods and services abstraction
Cluster
Pod A-1
10.0.0.3
Pod A-2
10.0.0.5
Pod B-1
10.0.0.8
SrvA
10.7.0.
1
Srv
B
10.7.0.
3

Recommended for you

Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction

Kubernetes is an open-source container cluster manager that was originally developed by Google. It was created as a rewrite of Google's internal Borg system using Go. Kubernetes aims to provide a declarative deployment and management of containerized applications and services. It facilitates both automatic bin packing as well as self-healing of applications. Some key features include horizontal pod autoscaling, load balancing, rolling updates, and application lifecycle management.

k8skubernetes
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes

This document provides an introduction to Kubernetes including: - What Kubernetes is and what it does including abstracting infrastructure, providing self-healing capabilities, and providing a uniform interface across clouds. - Key concepts including pods, services, labels, selectors, and namespaces. Pods are the atomic unit and services provide a unified access method. Labels and selectors are used to identify and group related objects. - The Kubernetes architecture including control plane components like kube-apiserver, etcd, and kube-controller-manager. Node components include kubelet and kube-proxy. Optional services like cloud-controller-manager and cluster DNS are also described.

kubernetesintro
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure

This document discusses containerization and the Docker ecosystem. It provides a brief history of containerization technologies and an overview of Docker components like Docker Engine, Docker Hub, and Docker Inc. It also discusses developing with Docker through concepts like Dockerfiles, images, and Fig for running multi-container apps. More advanced topics covered include linking containers, volumes, Docker Machine for provisioning, and clustering with Swarm and Kubernetes.

clouddockerdevops
Kubernetes objects: pods and services
Node 1 Node 2
Pod A-1
10.0.0.3
Pod A-2
10.0.0.5
Pod B-1
10.0.0.8
SrvA
10.7.0.
1
Srv
B
10.7.0.
3
SrvA
10.7.0.
1
Srv
B
10.7.0.
3
external
port
external
port
iptables iptables
Service Discovery: DNS
DNS
• <service-name>.<namespace-name>.svc.cluster.local
• <service-name>.<namespace-name>
• <service-name> - in the same namespace
• DNS SRV _<port>._<proto>.<service-name> - for port
number
e.g. “SRV _http._tcp.nginx”
Kubernetes Object: Controllers
• Deployment
• Daemon Set
• Job
• Ingress
• Replication
Controller
• Replication Set
Kubernetes Controller: Job
• Create one or more pods and ensure that specified number of
them
successfully terminates
• Jobs may be used for operations automation

Recommended for you

Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture

Kubernetes is an open-source system for managing containerized applications and services. It includes a master node that runs control plane components like the API server, scheduler, and controller manager. Worker nodes run the kubelet service and pods. Pods are the basic building blocks that can contain one or more containers. Labels are used to identify and select pods. Replication controllers ensure a specified number of pod replicas are running. Services define a logical set of pods and associated policy for access. They are exposed via cluster IP addresses or externally using load balancers.

dockertutorialskubernetes
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes

Introduction talk from Alejandro Galue about Kubernetes and how to run OpenNMS services on Kubernetes based platforms.

opennmsnetwork monitoringmonitoring
DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with Kubernetes

Overview of kubernetes and its use as a DevOps cluster management framework. Problems with deployment via kube-up.sh and improving kubernetes on AWS via custom cloud formation template.

kubernetesk8sdevops
Kubernetes Controller: Deployment
• Deployment provides declarative updates for Pods and
Replica Sets
• Orchestrate updates and rollbacks
• Scale up or down
Kubernetes Addons
• DNS
• UI
• Logging
• Monitorin
g
Kubernetes Architecture
Kubernetes architecture
.......
,.,:..'
"-
......,..,...,•..••..-.!
.,., . . N . . .O..,. . .
----"'-. '"".
...
-
EASTBA NC
T E C H N O L O G I E S
...w,.,..,,.,..,-.
( ' ¥ ( )! ( 0 ,<) ',(o.;.)l;o;"' '" <••·.,.,
••.:V"•• . . . .,. " " " ' " ' ·
.,.,....,,:U:
.....

Recommended for you

Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev

Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides tools to deploy containers across clusters of hosts, provide mechanisms for load-balancing, monitor health, and update containers. Kubernetes adds functionality to Docker by managing Docker hosts and containers at scale. It uses abstractions like pods, replica sets, deployments, services and ingresses to declaratively define application components and expose them using NodePorts, LoadBalancers or Ingresses. Users can interact with Kubernetes using kubectl to deploy and manage applications on the cluster.

kubernetesmicroservicescloud
Kubernetes stack reliability
Kubernetes stack reliabilityKubernetes stack reliability
Kubernetes stack reliability

Self-healing does not equal self-healing. There are multiple layers to it, whether a self-healing infrastructure, cluster, pods, or Kubernetes. Kubernetes itself ensures self-healing pods. But how do you ensure your applications, whose reliability depends on every single layer, are truly reliable? In this presentation we discuss aspects of reliability and self-healing in the different layers of a comprehensive container management stack; what Kubernetes does and doesn't do (at least not by default), and what you should look out for to ensure true reliable applications.

kubernetesreliabilityself-healing
How Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact ReliabilityHow Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact Reliability

Self-healing does not equal self-healing. There are multiple layers to it, whether a self-healing infrastructure, cluster, pods, or Kubernetes. Kubernetes itself ensures self-healing pods. But how do you ensure your applications, whose reliability depends on every single layer, are truly reliable? This presentation covers the different self-healing layers, what Kubernetes does and doesn't do (at least not by default), and what you should look out for to ensure true reliable applications. Hint: infrastructure provisioning plays a key role.

kubernetesdevopscontainer orchestration
Kubernetes architecture: node
• kubelet manages pods,
their containers, images,
volumes, network etc
• kube-proxy is a simple
network proxy and load
balancer responsible for
reflecting services on the
nodes
Kubernetes architecture: node
• kubelet manages pods,
their containers, images,
volumes, network etc
• kube-proxy is a simple
network proxy and load
balancer responsible for
reflecting services on the
nodes. Userspace (legacy)
or iptables (modern) modes
are supported.
Kubernetes architecture: control plane
• etcd is a reliable watchable
storage for all persistent
master state
• API Server is a CRUD-y
REST server with
most/all logic
implemented in plugins
that serves Kubernetes
API.
It mainly processes REST
operations, validates them,
and updates the
corresponding objects in
etcd.
Kubernetes architecture: control plane
• etcd is a reliable watchable
storage for all persistent
master state
• API Server is a CRUD-y
REST server with
most/all logic
implemented in plugins
that serves Kubernetes
API.
It mainly processes REST
operations, validates them,
and updates the
corresponding objects in
etcd.

Recommended for you

Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins

How to establish Kubernetes as your infrastructure for a truly cloud native environment for optimal productivity and cost. Using Kublr for infrastructure as code approach for fast, reliable and inexpensive production-ready DevOps environment setup bringing together a combination of technologies - Kubernetes; AWS Mixed Instance Policies, Spot Instances and availability zones; AWS EFS; Nexus and Jenkins. Best practices based on open source tools such as Nexus and Jenkins. How to tackle build process dilemmas and difficulties including managing dependencies, hermetic builds and build scripts.

kublrkubernetescloud native
Setup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPSSetup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPS

This document provides steps to set up a Kubernetes cluster on AWS using KOPS. It describes installing required tools like kubectl and KOPS, creating an SSH key and Route53 host on AWS, generating a Kubernetes cluster across multiple Availability Zones, and exposing sample applications. Finally, it covers deleting the cluster.

kopscloudamazon web services
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals

Kubernetes provides logical abstractions for deploying and managing containerized applications across a cluster. The main concepts include pods (groups of containers), controllers that ensure desired pod states are maintained, services for exposing pods, and deployments for updating replicated pods. Kubernetes allows defining pod specifications that include containers, volumes, probes, restart policies, and more. Controllers like replica sets ensure the desired number of pod replicas are running. Services provide discovery of pods through labels and load balancing. Deployments are used to declaratively define and rollout updates to replicated applications.

devjamtrainologickubernetes
Kubernetes architecture: control plane
• Scheduler binds
unscheduled pods to
nodes
• Control manager performs
all
other cluster-level functions,
e.g. deployments rollout,
job control, pod replication
control
etc
Kubernetes architecture: control plane
• Scheduler binds
unscheduled pods to
nodes
• Control manager performs
all
other cluster-level functions,
e.g. deployments rollout,
job control, pod replication
control
etc
Kubernetes architecture: control plane
• Kubectl client is CLI to
manage K8S cluster
Kubernetes architecture: security
• Authentication and
authorization are pluggable.
By default – file based, but
may be easily switched to
external resources (OAuth,
authorization service)
• Transport security is based
on TLS, key distribution is
deployment specific

Recommended for you

Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services

- AKS best practices discusses cluster isolation and resource management, storage, networking, network policies, securing the environment, scaling applications and clusters, and logging and monitoring for AKS clusters. - It provides an overview of the different Kubernetes offerings in Azure (DIY, ACS Engine, and AKS), and recommends using at least 3 nodes for upgrades when using persistent volumes. - The document discusses various AKS networking configurations like basic networking, advanced networking using Azure CNI, internal load balancers, ingress controllers, and network policies. It also covers cluster level security topics like IAM with AAD and RBAC.

aksazurecloud
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx

The document provides an overview of Azure Kubernetes Service (AKS) including: - AKS simplifies deployment, management, scaling and monitoring of containerized applications on Kubernetes. - AKS uses a master-worker node architecture with master nodes managing the cluster state and worker nodes running application containers. - Key AKS concepts include clusters, pods, deployments, replica sets, and services. - The AKS architecture includes etcd, kube-apiserver, controller manager, kube-scheduler and cloud controller manager on the master node, and kubelet, container runtime and kube-proxy on worker nodes. - Applications can be deployed to AKS through Kubernetes manifest

aks
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx

Kubernetes is an open-source platform for managing containerized applications across multiple hosts. It provides tools for deployment, scaling, and management of containers. Kubernetes handles tasks like scheduling containers on nodes, scaling resources, applying security policies, and monitoring applications. It ensures containers are running and if not, restarts them automatically.

Kubernetes architecture: security
• Authentication and
authorization are pluggable:
file based by default, but
may be easily switched to
external resources (OAuth,
authorization service)
• Transport security is based
on TLS, key distribution is
deployment specific
Example orchestration scenario
1. User creates a new
Deployment object via REST
2. Controller Manager sees a
Deployment object with no Pods
and creates Pod objects based
on the Deployment object
specification
3. Scheduler sees Pod objects
not assigned to Nodes and
allocates them according to
the Nodes load and the Pods
specifications
4. Kubelets running on Nodes see
Pod objects allocated to their
corresponding Nodes and start
Pods’ containers based on the
Pods’ specifications
1
4
3 2 4
Kubernetes Deployment on AWS
Deployment options
• kube-up.sh script
Available in k8s distro and supported by the developers
• Other methods as described in kubernetes
documentation
• Other projects and systems based on kubernetes, such
as GCE
• EBT AWS CloudFormation template

Recommended for you

Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation

OpenStack is an open source cloud computing platform that consists of several components including Keystone for identity, Glance for images, Nova for compute, Cinder for block storage, and Quantum for networking. The document provides an overview of each component, describing their main functions and how they interact through messaging queues like RabbitMQ. It also describes the original "Nova networking" approach and how Quantum improved on this by decoupling logical and physical networking and providing plugins to support technologies like Open vSwitch.

openstack
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 RaleighKube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh

This is my Introduction to Kubernetes and Overview of the Kubernetes Conformance Certification Program talk presented at OpenSource101 Raleigh on Feb 17, 2018

#kubernetes #conformance #overview #opensource101
Open stack and k8s(v4)
Open stack and k8s(v4)Open stack and k8s(v4)
Open stack and k8s(v4)

The document provides an overview of Kubernetes and OpenStack. It includes an agenda that covers topics like containers, orchestration, Kubernetes architecture, components and concepts like pods, replication controllers, and namespaces over 4 days of training. Background information is provided on containers, Docker, and orchestration. Examples are given of defining pods and services using YAML files in Kubernetes.

kubernetesopenstack
AWS Cloud Formation K8S Cluster Improvements
• Master is in auto scaling group for auto recovery
• Nodes are in multi-zone auto scaling group for high
availability
• Multiple auto scaling groups are supported for nodes
• Simple no-client cluster rollout and teardown
• Support for node EIP auto-assignment
Summary
The good, the bad, and the ugly
Pros
• Multi-platform
• Rich OTB abstractions
and
functionality
• Extensibility
Cons and problems
• Complex architecture and
setup (AWS CF Template
solves the problem for AWS)
• Manifest parameterization
is outside K8S
Future work
• Simple deployment to other
clouds (Azure) and on-prem
• Multi-zone master
• Single-node deployment
(reusable
• master)
• Multi-region, multi-cloud
and federated deployment
• Persistent volume management
and
• backup in prod
• Monitoring and log collection in
prod
• Integration with Jenkins
• Use Vault for key and
secret storage
• Packaged components:
HAProxy ingress, glusterfs,
elasticsearch, mongo DB,
MySql Cluster(?), Galena
Cluster(?), WildFly,
ActiveMQ, RabbitMQ (?),
HippoCMS, Keycloak,
OpenAM, Hadoop (?),
Rstudio Server, Jupyter, etc
• Web UI
• • ...

Recommended for you

Kubernetes integration with ODL
Kubernetes integration with ODLKubernetes integration with ODL
Kubernetes integration with ODL

Containers are changing the compute landscape and for NFVi support of Containers is key. Kubernetes is a well known Container Cluster Management software and this is slide deck from a talk given in Opendaylight Summit 2016. This slide gives an insight about Microservice architecture, Kuberentes and how it can be integrated with ODL. Session Video can be found at https://www.youtube.com/watch?v=a4_pkp2qiX8&list=PL8F5jrwEpGAiRCzJIyboA8Di3_TAjTT-2

microservicenfviopendaylight
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II

Kubernetes is an open-source container orchestration system that automates deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes services handle load balancing, networking, and execution of containers across a cluster of nodes. It addresses challenges in managing containers at scale through features like deployment and rolling update of containers, self-healing, resource allocation and monitoring.

kubernetesmicroservicescloud computing
Kubernetes overview and Exploitation
Kubernetes overview and ExploitationKubernetes overview and Exploitation
Kubernetes overview and Exploitation

This document provides an overview of containers, Kubernetes, and their key concepts. It discusses how Kubernetes manages containerized applications across clusters and abstracts away infrastructure details. The main components of Kubernetes include Pods (groups of tightly-coupled containers), ReplicationControllers (manages Pod replicas), Services (expose Pods to external traffic), and Namespaces (logical isolation of clusters). Kubernetes architecture separates the control plane running on the master from the nodes that run container workloads.

owaspseasideskubernetesexploitation
THANK YOU
Oleg Chunikhin
Chief Architect
ochunikhin@eastbanctech.c
om
202-295-3000
eastbanctech.com

More Related Content

What's hot

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
VMware Tanzu
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Rishabh Indoria
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Eueung Mulyana
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Raffaele Di Fazio
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
Bob Killen
 
Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)
Megan O'Keefe
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
 
Kubernetes PPT.pptx
Kubernetes PPT.pptxKubernetes PPT.pptx
Kubernetes PPT.pptx
ssuser0cc9131
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
Bob Killen
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
NexThoughts Technologies
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
Jeeva Chelladhurai
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Martin Danielsson
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
rajdeep
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Eric Gustafson
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
Janakiram MSV
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 

What's hot (20)

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
Kubernetes PPT.pptx
Kubernetes PPT.pptxKubernetes PPT.pptx
Kubernetes PPT.pptx
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 

Similar to DevOps with Kubernetes

DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with Kubernetes
Oleg Chunikhin
 
Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev
Haufe-Lexware GmbH & Co KG
 
Kubernetes stack reliability
Kubernetes stack reliabilityKubernetes stack reliability
Kubernetes stack reliability
Oleg Chunikhin
 
How Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact ReliabilityHow Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact Reliability
Kublr
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Kublr
 
Setup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPSSetup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPS
Sivaprakash
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
Shimi Bandiel
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
QAware GmbH
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
WaseemShare
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
Sankalp Jain
 
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 RaleighKube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Brad Topol
 
Open stack and k8s(v4)
Open stack and k8s(v4)Open stack and k8s(v4)
Open stack and k8s(v4)
H K Yoon
 
Kubernetes integration with ODL
Kubernetes integration with ODLKubernetes integration with ODL
Kubernetes integration with ODL
Prem Sankar Gopannan
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Kubernetes overview and Exploitation
Kubernetes overview and ExploitationKubernetes overview and Exploitation
Kubernetes overview and Exploitation
OWASPSeasides
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
Kublr
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Hybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stackHybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stack
Kublr
 

Similar to DevOps with Kubernetes (20)

DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with Kubernetes
 
Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev
 
Kubernetes stack reliability
Kubernetes stack reliabilityKubernetes stack reliability
Kubernetes stack reliability
 
How Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact ReliabilityHow Self-Healing Nodes and Infrastructure Management Impact Reliability
How Self-Healing Nodes and Infrastructure Management Impact Reliability
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
 
Setup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPSSetup Kubernetes Cluster On AWS Using KOPS
Setup Kubernetes Cluster On AWS Using KOPS
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
 
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 RaleighKube Overview and Kube Conformance Certification OpenSource101 Raleigh
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
 
Open stack and k8s(v4)
Open stack and k8s(v4)Open stack and k8s(v4)
Open stack and k8s(v4)
 
Kubernetes integration with ODL
Kubernetes integration with ODLKubernetes integration with ODL
Kubernetes integration with ODL
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
Kubernetes overview and Exploitation
Kubernetes overview and ExploitationKubernetes overview and Exploitation
Kubernetes overview and Exploitation
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Hybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stackHybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stack
 

More from EastBanc Tachnologies

Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
EastBanc Tachnologies
 
Azure and/or AWS: How to Choose the best cloud platform for your project
Azure and/or AWS: How to Choose the best cloud platform for your projectAzure and/or AWS: How to Choose the best cloud platform for your project
Azure and/or AWS: How to Choose the best cloud platform for your project
EastBanc Tachnologies
 
Functional Programming with C#
Functional Programming with C#Functional Programming with C#
Functional Programming with C#
EastBanc Tachnologies
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics services
EastBanc Tachnologies
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0
EastBanc Tachnologies
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 Conference
EastBanc Tachnologies
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platform
EastBanc Tachnologies
 
Estimating for Fixed Price Projects
Estimating for Fixed Price ProjectsEstimating for Fixed Price Projects
Estimating for Fixed Price Projects
EastBanc Tachnologies
 
Async Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and PitfallsAsync Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and Pitfalls
EastBanc Tachnologies
 
EastBanc Technologies US-Russian Collaboration and Innovation
EastBanc Technologies US-Russian Collaboration and InnovationEastBanc Technologies US-Russian Collaboration and Innovation
EastBanc Technologies US-Russian Collaboration and Innovation
EastBanc Tachnologies
 
EastBanc Technologies SharePoint Portfolio
EastBanc Technologies SharePoint PortfolioEastBanc Technologies SharePoint Portfolio
EastBanc Technologies SharePoint Portfolio
EastBanc Tachnologies
 
EastBanc Technologies Data Visualization/BI Portfolio
EastBanc Technologies Data Visualization/BI PortfolioEastBanc Technologies Data Visualization/BI Portfolio
EastBanc Technologies Data Visualization/BI Portfolio
EastBanc Tachnologies
 
EastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS PortfolioEastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS Portfolio
EastBanc Tachnologies
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
EastBanc Tachnologies
 

More from EastBanc Tachnologies (14)

Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
 
Azure and/or AWS: How to Choose the best cloud platform for your project
Azure and/or AWS: How to Choose the best cloud platform for your projectAzure and/or AWS: How to Choose the best cloud platform for your project
Azure and/or AWS: How to Choose the best cloud platform for your project
 
Functional Programming with C#
Functional Programming with C#Functional Programming with C#
Functional Programming with C#
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics services
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 Conference
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platform
 
Estimating for Fixed Price Projects
Estimating for Fixed Price ProjectsEstimating for Fixed Price Projects
Estimating for Fixed Price Projects
 
Async Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and PitfallsAsync Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and Pitfalls
 
EastBanc Technologies US-Russian Collaboration and Innovation
EastBanc Technologies US-Russian Collaboration and InnovationEastBanc Technologies US-Russian Collaboration and Innovation
EastBanc Technologies US-Russian Collaboration and Innovation
 
EastBanc Technologies SharePoint Portfolio
EastBanc Technologies SharePoint PortfolioEastBanc Technologies SharePoint Portfolio
EastBanc Technologies SharePoint Portfolio
 
EastBanc Technologies Data Visualization/BI Portfolio
EastBanc Technologies Data Visualization/BI PortfolioEastBanc Technologies Data Visualization/BI Portfolio
EastBanc Technologies Data Visualization/BI Portfolio
 
EastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS PortfolioEastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS Portfolio
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
 

Recently uploaded

20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 

Recently uploaded (20)

20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 

DevOps with Kubernetes

  • 2. Agenda • Kubernetes overview • Usage and demo • Architecture • Kubernetes on AWS with Cloud Formation
  • 4. What is Kubernetes? Quick facts • System for managing and orchestrating containerized applications in clusters, a.k.a. cluster management software • Open source, MIT licensed, developed by Google • Used in GCE, OpenShift, other projects
  • 5. Kubernetes is • portable: public, private, hybrid, multi-cloud, written in Go • extensible: modular, pluggable, hookable, composable • self-healing: auto-placement, auto-restart, auto-replication, auto- scaling • scalable and reliable: all components are scalable and clear setup path exists to setup scalable and reliable cluster • documented: a lot of documentation, training materials, community support • open source: MIT license, large and active community
  • 6. With Kubernetes you can • Orchestrate complex application deployments quickly and predictably • Scale your applications on the fly • Seamlessly roll out new features • Easily setup complex operations scenarios, e.g. rolling update, canary deployments etc • Optimize use of your hardware by using only the resources you need • Manage persistent storage • Automate
  • 7. Kubernetes solves • application composition: co- locating helper processes preserving the “one- application- per-container” model, • mounting storage systems, • distributing configuration and secrets, • application health checking, • replicating application instances, • horizontal (auto-)scaling, • naming and discovery, • load balancing, • rolling updates, • resource monitoring, • log access and ingestion, • support for introspection and debugging, and • identity and authorization.
  • 9. Kubernetes management • Kubectl CLI • Independent binaries for multiple platforms (Go) • put config file to $HOME/.kube or set $KUBECONFIG • Automation friendly with multiple output formats: text, json, yaml, jsonpath • Supports proxy into cluster network, container attachment and log retrieval • REST API • Available at https://<master-ip> • Self-documented, swagger documentation • Supports proxy into cluster network • Basic Web dashboard • Available at https://<master-ip>/ui
  • 10. Kubernetes objects Primitives • Namespace • Node • Pod • Service • Config Map • Secret • Volume • Persistent Volume Controller s• Replication Controller • Deployment • Job • Daemon Set • Ingress • ...
  • 11. Kubernetes objects: common • All objects include metadata with • Name – unique • Labels – searchable, selectable • Annotations – arbitrary additional information • Spec – object specific description/specification of the object • Status – object status within the cluster • Object information may be received in different formats
  • 12. Kubernetes objects: names and namespaces • Namespaces are used to separate groups of objects, e.g. by user, team, project etc • Namespaces are scopes for names; names are unique per type within namespace • Namespaces may also be a basis for access control separation • Resource quotas may be associated with namespaces kubectl get namespaces [ <ns> ... ] kubectl describe namespaces [ <ns> ... ]
  • 13. Kubernetes objects: nodes • Nodes represent a physical or virtual worker machine where kubelet, kube proxy, and docker run • Kubelet registers a node on the master and maintains keep- alive check • Nodes may be annotated and labeled to specify workload affinity and constraints kubectl get nodes kubectl describe [ <nd> ... ] nodes [ <nd> ... ]
  • 14. Kubernetes objects: pods • Pod is a group of containers • Run on the same node – co-located and co- scheduled • Shared storage • Shared localhost network and port space • Unique IP within a cluster • Example: app server and log shipper
  • 15. Kubernetes objects: nodes and pods Node 1 Node 2 Pod A-1 10.0.0.3 Cnt1 Cnt2 Pod A-2 10.0.0.5 Cnt1 Cnt2 Pod B-1 10.0.0.8 Cnt3
  • 16. Kubernetes objects: volumes and persistent volumes • Used to manage persistent storage • Multiple types supported: • AWS EBS • Azure block store • Git • NFS • GlusterFS • Ceph • ...
  • 17. Kubernetes objects: pods and volumes Pod Volume Volume Volume Claim Container 1 Volume Container 2 Volume Persistent Mount Mount
  • 18. Kubernetes objects: config maps and secrets • Config maps and secrets are used for distribution of configuration information including secrets like password, certificates, keys etc • Kubelet registers a node on the master and maintains keep- alive check • Nodes may be annotated and labeled to specify workload affinity and constraintskubectl kubectl kubectl kubectl get configmaps [ <cm> ... ] describe configmaps [ <cm> ... ] get secrets [ <sc> ... ] describe secrets [ <sc> ... ]
  • 19. Kubernetes objects: services • Service is an abstraction that defines a set of pods a policy to access them • Service is a distributed L3 load balancer • Single unique IP within a cluster • Used to expose pods to the world: • Default • NodePort • LoadBalancer
  • 20. external port Kubernetes objects: pods and services abstraction Cluster Pod A-1 10.0.0.3 Pod A-2 10.0.0.5 Pod B-1 10.0.0.8 SrvA 10.7.0. 1 Srv B 10.7.0. 3
  • 21. Kubernetes objects: pods and services Node 1 Node 2 Pod A-1 10.0.0.3 Pod A-2 10.0.0.5 Pod B-1 10.0.0.8 SrvA 10.7.0. 1 Srv B 10.7.0. 3 SrvA 10.7.0. 1 Srv B 10.7.0. 3 external port external port iptables iptables
  • 22. Service Discovery: DNS DNS • <service-name>.<namespace-name>.svc.cluster.local • <service-name>.<namespace-name> • <service-name> - in the same namespace • DNS SRV _<port>._<proto>.<service-name> - for port number e.g. “SRV _http._tcp.nginx”
  • 23. Kubernetes Object: Controllers • Deployment • Daemon Set • Job • Ingress • Replication Controller • Replication Set
  • 24. Kubernetes Controller: Job • Create one or more pods and ensure that specified number of them successfully terminates • Jobs may be used for operations automation
  • 25. Kubernetes Controller: Deployment • Deployment provides declarative updates for Pods and Replica Sets • Orchestrate updates and rollbacks • Scale up or down
  • 26. Kubernetes Addons • DNS • UI • Logging • Monitorin g
  • 28. Kubernetes architecture ....... ,.,:..' "- ......,..,...,•..••..-.! .,., . . N . . .O..,. . . ----"'-. '"". ... - EASTBA NC T E C H N O L O G I E S ...w,.,..,,.,..,-. ( ' ¥ ( )! ( 0 ,<) ',(o.;.)l;o;"' '" <••·.,., ••.:V"•• . . . .,. " " " ' " ' · .,.,....,,:U: .....
  • 29. Kubernetes architecture: node • kubelet manages pods, their containers, images, volumes, network etc • kube-proxy is a simple network proxy and load balancer responsible for reflecting services on the nodes
  • 30. Kubernetes architecture: node • kubelet manages pods, their containers, images, volumes, network etc • kube-proxy is a simple network proxy and load balancer responsible for reflecting services on the nodes. Userspace (legacy) or iptables (modern) modes are supported.
  • 31. Kubernetes architecture: control plane • etcd is a reliable watchable storage for all persistent master state • API Server is a CRUD-y REST server with most/all logic implemented in plugins that serves Kubernetes API. It mainly processes REST operations, validates them, and updates the corresponding objects in etcd.
  • 32. Kubernetes architecture: control plane • etcd is a reliable watchable storage for all persistent master state • API Server is a CRUD-y REST server with most/all logic implemented in plugins that serves Kubernetes API. It mainly processes REST operations, validates them, and updates the corresponding objects in etcd.
  • 33. Kubernetes architecture: control plane • Scheduler binds unscheduled pods to nodes • Control manager performs all other cluster-level functions, e.g. deployments rollout, job control, pod replication control etc
  • 34. Kubernetes architecture: control plane • Scheduler binds unscheduled pods to nodes • Control manager performs all other cluster-level functions, e.g. deployments rollout, job control, pod replication control etc
  • 35. Kubernetes architecture: control plane • Kubectl client is CLI to manage K8S cluster
  • 36. Kubernetes architecture: security • Authentication and authorization are pluggable. By default – file based, but may be easily switched to external resources (OAuth, authorization service) • Transport security is based on TLS, key distribution is deployment specific
  • 37. Kubernetes architecture: security • Authentication and authorization are pluggable: file based by default, but may be easily switched to external resources (OAuth, authorization service) • Transport security is based on TLS, key distribution is deployment specific
  • 38. Example orchestration scenario 1. User creates a new Deployment object via REST 2. Controller Manager sees a Deployment object with no Pods and creates Pod objects based on the Deployment object specification 3. Scheduler sees Pod objects not assigned to Nodes and allocates them according to the Nodes load and the Pods specifications 4. Kubelets running on Nodes see Pod objects allocated to their corresponding Nodes and start Pods’ containers based on the Pods’ specifications 1 4 3 2 4
  • 40. Deployment options • kube-up.sh script Available in k8s distro and supported by the developers • Other methods as described in kubernetes documentation • Other projects and systems based on kubernetes, such as GCE • EBT AWS CloudFormation template
  • 41. AWS Cloud Formation K8S Cluster Improvements • Master is in auto scaling group for auto recovery • Nodes are in multi-zone auto scaling group for high availability • Multiple auto scaling groups are supported for nodes • Simple no-client cluster rollout and teardown • Support for node EIP auto-assignment
  • 43. The good, the bad, and the ugly Pros • Multi-platform • Rich OTB abstractions and functionality • Extensibility Cons and problems • Complex architecture and setup (AWS CF Template solves the problem for AWS) • Manifest parameterization is outside K8S
  • 44. Future work • Simple deployment to other clouds (Azure) and on-prem • Multi-zone master • Single-node deployment (reusable • master) • Multi-region, multi-cloud and federated deployment • Persistent volume management and • backup in prod • Monitoring and log collection in prod • Integration with Jenkins • Use Vault for key and secret storage • Packaged components: HAProxy ingress, glusterfs, elasticsearch, mongo DB, MySql Cluster(?), Galena Cluster(?), WildFly, ActiveMQ, RabbitMQ (?), HippoCMS, Keycloak, OpenAM, Hadoop (?), Rstudio Server, Jupyter, etc • Web UI • • ...
  • 45. THANK YOU Oleg Chunikhin Chief Architect ochunikhin@eastbanctech.c om 202-295-3000 eastbanctech.com