Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Google Cloud Platform
Kubernetes Workshop
www.zetaops.io
Simplicity is the ultimate sophistication
Leonardo da Vinci“
“
8 Kasım 2017, Çarşamba
İYTE İnovasyon Merkezi
Shoshin
(初心) is a concept in Zen Buddhism
meaning "beginner's mind". It refers to
having an attitude of openness, eagerness,
and lack of preconceptions when studying
a subject, even when studying at an
advanced level, just as a beginner in that
subject would.
Program
● 09:45 - 10:15, Önder Güler, Google Cloud Country Manager, Google
Cloud Vizyonu
● 10:15 - 11:30, Pınar Uğurlu Kirazcı, Cloud Customer Engineer, Google,
Google Cloud Servislerine Teknik Bakış
● 11:30 - 12:30, Gökhan Boranalp, Zetaops, Sanallaştırma temelleri,
Virtual machines, LX{C,D} Containers, Unikernels
● 13:30 - 14:15, Gökhan Boranalp, Zetaops, GCloud sdk tanıtımı
● 14:30 - 15:45, Gökhan Boranalp, Zetaops, Kubernetes nedir?
Bileşenleri nelerdir?
● 14:30 - 15:45, Pınar Uğurlu Kirazcı, Cloud Customer Engineer, Google,
Kubernetes Fast Track Demo
● 15:30 - 16:30, Gökhan Boranalp, Zetaops, Kubernetes ile örnek bir
dağıtık web uygulaması
● 16:45 - 17:15, Gökhan Boranalp, Zetaops, Soru cevap
Sanallaştırma Temelleri
Sanallaştırma Temelleri - Types
● Full virtualization: running an unmodified OS,
Parallels, VirtualBox, XEN
● Paravirtualization: running a modified guest
system (kernel), XEN, QEMU, KVM
● OS-level virtualization: enables running an
isolated process (tree), OpenVZ, LXC,
BSD-jails, Linux-VServer, Solaris Zones
● Virtualized Containers, LXC, LXD, Docker
Sanallaştırma Temelleri
Sanallaştırma Temelleri
● Sanal makinalar stateful
● Büyük VM’ler: Depolama VM içinde,
tüm servisler aynı VM içinde,
kocaman vCPU ve vRAM
● Uygulama SLA kuralları VM hayatta
kalsın diye var.
● Dağıtıklık ve fail durumu için eldeki
HA teknolojisine bağlı
● VM’ler kurulumdan sonra CPU ve
RAM bakımından ölçeklenebilir.
● Uygulamalar VM’in crash olması
durumuna göre geliştirilmemiştir.
● Örnek:
Aynı VM üzerinde, database, web
server, frontend app birlikte çalışıyor.
● Uygulamalar dağıtık olmak
üzere tasarlanmıştır. VM’ler
stateless haldedir.
● VM’ler küçüktür.
● Uygulama SLA kuralları tüm
uygulama içindir. Bir VM için
değil.
● Uygulama çok sayıda
instance üzerinde
çalışmaktadır.
● Uygulamanın
ölçeklendirilmesi için anlık
olarak VM eklenebilir.
● Uygulamalar VM’lerin fail
olması durumuna göre
geliştirilmiştir.
PETS CATTLE
Sanallaştırma Temelleri
Sanallaştırma Temelleri
Sanallaştırma Temelleri - Docker
● Docker Engine - Runs on “Linux” to create the
operating environment for your distributed
applications.
● Docker Machine - Automate Docker
provisioning.
● Docker Swarm - Docker Swarm is native
clustering for Docker. It turns a pool of Docker
hosts into a single, virtual Docker host.
Sanallaştırma Temelleri - Docker
● Docker Compose - Compose is a tool for
defining and running multi-container Docker
applications.
● Docker Registry - The Registry is a stateless,
highly scalable server side application that
stores and lets you distribute Docker images.
● Docker Toolbox - The Docker Toolbox is an
installer to install and setup a Docker
environment on your computer.
Sanallaştırma Temelleri - Docker
● Dockerfile anatomy
● Dockerfile example
● Docker registry
● Running Docker properly
Sanallaştırma Temelleri - Docker
Sanallaştırma Temelleri - Docker
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
GCloud SDK
● https://cloud.google.com/sdk/
● https://cloud.google.com/sdk/gcloud/ref
erence/
● Örnek komutlar
Kubernetes
12 factor
https://12factor.net/
12 factor
Mikro servisler
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Hands on Kubernetes
Master: Kubernetes control panel or control plane.
This is where decisions are made about the cluster,
such as scheduling, and detecting/responding to
cluster events. The components of the master can
be run on any node in the cluster. Key components
of the master:
API Server — This is the only component of the
Kubernetes control panel with a user-accessible API and
the sole master component that you’ll interact with. The
API server exposes a restful Kubernetes API and
consumes JSON manifest files.
Cluster State&Data Store — Kubernetes uses “etcd.” This
is a strong consistent, and highly-available key value
store that Kubernetes uses for persistent storage of all
API objects. Think of it as the “source of truth” for the
cluster.
Hands on Kubernetes
Hands on Kubernetes
Controller Manager — Known as the “kube-controller
manager,” this runs all the controllers that handle routine
tasks in the cluster. These include the Node Controller,
Replication Controller, Endpoints Controller, and Service
Account and Token Controllers. Each of these controllers
works separately to maintain the desired state.
Hands on Kubernetes
Scheduler — The scheduler watches for newly-created pods
(groups of one or more containers) and assigns them to
nodes.
Dashboard (optional) — Kubernetes web UI that simplifies
the Kubernetes cluster user’s interactions with the API
server.
Kubernetes Worker Nodes
Master handles and manages the cluster, worker nodes run
the containers and provide the Kubernetes runtime
environment. Worker nodes comprise a kubelet. This is the
primary node agent. It watches the API server for pods that
have been assigned to its node. Kubelet carries out tasks
and maintains a reporting backchannel of pod status to the
master node.
Hands on Kubernetes
Hands on Kubernetes
Inside each pod there are containers, kubelet runs these via
Docker (pulling images, starting and stopping containers,
etc.). It also periodically executes any requested container
liveness probes. In addition to Docker, RKT is also
supported and the community is actively working to support
OCI.
Another component of worker nodes is kube-proxy. This is
the network brain of the node, maintaining network rules on
the host and performing connection forwarding. It’s also
responsible for load balancing across all pods in the service.
Kubernetes Pods
A pod is a group of one or more containers (such as Docker
containers), with shared storage/network. Each pod
contains specific information on how the containers should
be run. Think of pods as a ring-fenced environment to run
containers.
Pods are also a unit for scaling. If you need to scale an app
component up or down, this can be achieved by adding or
removing pods.
Hands on Kubernetes
Hands on Kubernetes
It’s possible to run more than one container in a pod (where
each share the same IP address and mounted volumes), if
they’re tightly coupled.
Pods are deployed on a single node and have a definite
lifecycle. They can be pending, running, succeeding, or
failing, but once gone, they are never brought back to life. If
a pod dies, a replication controller or other controller must
be used to create a new one.
Pods — A description of a set of containers that need to run
together.
Services — An object that describes a set of pods that
provide a useful service. Services are typically used to
define clusters of uniform pods.
Persistent Volumes — A Kubernetes abstraction for
persistent storage. Kubernetes supports many types of
volumes, such as NFS, Ceph, GlusterFS, local directory, etc.
Hands on Kubernetes
Namespaces — This is a tool used to group, separate, and
isolate groups of objects. Namespaces are used for access
control, network access control, resource management, and
quoting.
Ingress rules — These specify how incoming network traffic
should be routed to services and pods.
Network policies — This defines the network access rules
between pods inside the cluster.
Hands on Kubernetes
ConfigMaps and Secrets — Used to separate configuration
information from application definition.
Controllers — These implement different policies for
automatic pod management. There are three main types:
1. Deployment — Responsible for maintaining a set of running pods of the
same type.
2. DaemonSet — Runs a specific type of pod on each node based on a
condition.
3. StatefulSet — Used when several pods of the same type are needed to run
in parallel, but each of the pods is required to have a specific identity.
Hands on Kubernetes
Hands on Kubernetes
● Kubernetes simultaneously runs and controls a set of
nodes on virtual or physical machines.
● This is achieved by running agents on each node.
● The agent talks to the master via the same API used to
send the blueprint to Kubernetes.
● The agent registers itself in the master, providing
Kubernetes with information about the nodes.
● Reading through the API, the agent determines which
containers are required to run on the corresponding node
and how they are to be configured.
Hands on Kubernetes
● The master node runs several Kubernetes components.
● Together, these make all control decisions about which
container needs to be started on which node and how it
should be configured.
● In addition, the master and agent may interact with a
cloud provider and manage additional cloud resources
such as load balancers, persistent volumes, persistent
block storage, network configuration, and number of
instances.
Hands on Kubernetes
● The master can be a single instance running Kubernetes
components or a set of instances to ensure high
availability.
● A master can also serve (in certain configurations) as a
node to run containers, although this is not
recommended for production.
★ Don’t run heavy duty databases in Kubernetes
★ Choose wisely your load balancer.
● Running the Kubernetes cluster
○ Examples
■ https://cloud.google.com/container-engine/docs/
tutorials/hello-app
■ https://github.com/kubernetes/examples/blob/m
aster/staging/spark/README.md
■ https://cloud.google.com/solutions/continuous-d
elivery-jenkins-container-engine
Hands on Kubernetes
Hands on Kubernetes
Q: If Pods are ephemeral how can I persist my container data across container
restarts?
A: Kubernetes supports the concept of Volumes so you can use a Volume type
that is persistent.
Q: Do I create Pods manually, what if I want to create a few copies of the same
container do I have to create each one individually?
A: Replication Controller to rollout multiple copies using a Pod template
Q: If Pods are ephemeral and their IP address might change if they get restarted
how can I reliability reference my backend container from a frontend container?
A: Use a Service
Soru, cevap
http://goo.gl/slides/j6gx3q
Resources
● http://www.dummies.com/programming/networking/basics-of-network-virtualization/
● https://12factor.net/
● https://medium.com/jeroen-rosenberg/from-monolith-to-microservice-architecture-on-kubernetes-part-1-the-api-gateway-eb82f8c2d10c
● https://daemonza.github.io/2017/02/20/using-helm-to-deploy-to-kubernetes/
● https://dzone.com/articles/microservices-with-kubernetes-and-docker
● https://medium.com/jeroen-rosenberg/from-monolith-to-microservice-architecture-on-kubernetes-part-1-the-api-gateway-eb82f8c2d10c
● https://techbeacon.com/one-year-using-kubernetes-production-lessons-learned
● https://github.com/wsargent/docker-cheat-sheet#dockerfile
● http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html
● http://blog.flux7.com/blogs/docker/docker-tutorial-series-part-3-automation-is-the-word-using-dockerfile
● https://developers.google.com/apis-explorer/#search/compute/clouduseraccounts/alpha/
● https://console.cloud.google.com/cloud-resource-manager
● https://alpinelinux.org/downloads/
● http://phusion.github.io/baseimage-docker/
● https://www.slideshare.net/randybias/the-history-of-pets-vs-cattle-and-using-it-properly
● http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/
● https://www.discogs.com/Captain-Hook-And-His-Crew-Ship-Ahoy/release/5674030
● http://thesecretlivesofdata.com/raft/
● http://www.yamllint.com/
● http://static.brandonpotter.com/kubernetes/DeploymentBuilder.html
● http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/
● https://youtu.be/9Wzw84Q-8yc
● https://kubernetes.io/docs/user-guide/kubectl-cheatsheet/
● https://cloud.google.com/solutions/automated-build-images-with-jenkins-kubernetes
● https://cloud.google.com/container-builder/docs/quickstart-docker
● https://www.youtube.com/watch?v=xhwNywVYBk4

More Related Content

What's hot

Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute Engine
Colin Su
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
Krishna-Kumar
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
Sujai Prakasam
 
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Kubernetes: https://youtu.be/KnjnQj-FvfQKubernetes: https://youtu.be/KnjnQj-FvfQ
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Rahul Malhotra
 
Cloud spanner architecture and use cases
Cloud spanner architecture and use casesCloud spanner architecture and use cases
Cloud spanner architecture and use cases
GDG Cloud Bengaluru
 
What is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 DepokWhat is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 Depok
Imre Nagi
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
Red Hat Developers
 
Next Generation Cloud Computing With Google - RightScale Compute 2013
Next Generation Cloud Computing With Google - RightScale Compute 2013Next Generation Cloud Computing With Google - RightScale Compute 2013
Next Generation Cloud Computing With Google - RightScale Compute 2013
RightScale
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
 
KubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a reportKubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a report
Krishna-Kumar
 
Gdsc muk - innocent
Gdsc   muk - innocentGdsc   muk - innocent
Gdsc muk - innocent
junaidhasan17
 
Introduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupIntroduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes Meetup
BlueData, Inc.
 
Resilient microservices with Kubernetes - Mete Atamel
Resilient microservices with Kubernetes - Mete AtamelResilient microservices with Kubernetes - Mete Atamel
Resilient microservices with Kubernetes - Mete Atamel
ITCamp
 
MongoDB Days UK: Run MongoDB on Google Cloud Platform
MongoDB Days UK: Run MongoDB on Google Cloud PlatformMongoDB Days UK: Run MongoDB on Google Cloud Platform
MongoDB Days UK: Run MongoDB on Google Cloud Platform
MongoDB
 
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Kubernates : An Small introduction for Beginners by Rajiv VishwkarmaKubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Rajiv Vishwkarma
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right tool
Rafał Leszko
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
Gergely Devenyi
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
Nicola Ferraro
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
Sreenivas Makam
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
Kamesh Pemmaraju
 

What's hot (20)

Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute Engine
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Kubernetes: https://youtu.be/KnjnQj-FvfQKubernetes: https://youtu.be/KnjnQj-FvfQ
Kubernetes: https://youtu.be/KnjnQj-FvfQ
 
Cloud spanner architecture and use cases
Cloud spanner architecture and use casesCloud spanner architecture and use cases
Cloud spanner architecture and use cases
 
What is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 DepokWhat is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 Depok
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Next Generation Cloud Computing With Google - RightScale Compute 2013
Next Generation Cloud Computing With Google - RightScale Compute 2013Next Generation Cloud Computing With Google - RightScale Compute 2013
Next Generation Cloud Computing With Google - RightScale Compute 2013
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
KubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a reportKubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a report
 
Gdsc muk - innocent
Gdsc   muk - innocentGdsc   muk - innocent
Gdsc muk - innocent
 
Introduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupIntroduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes Meetup
 
Resilient microservices with Kubernetes - Mete Atamel
Resilient microservices with Kubernetes - Mete AtamelResilient microservices with Kubernetes - Mete Atamel
Resilient microservices with Kubernetes - Mete Atamel
 
MongoDB Days UK: Run MongoDB on Google Cloud Platform
MongoDB Days UK: Run MongoDB on Google Cloud PlatformMongoDB Days UK: Run MongoDB on Google Cloud Platform
MongoDB Days UK: Run MongoDB on Google Cloud Platform
 
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Kubernates : An Small introduction for Beginners by Rajiv VishwkarmaKubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right tool
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 

Similar to Google Cloud Platform Kubernetes Workshop IYTE

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Paris Apostolopoulos
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021
Avanti Patil
 
Kubernetes overview and Exploitation
Kubernetes overview and ExploitationKubernetes overview and Exploitation
Kubernetes overview and Exploitation
OWASPSeasides
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
Pravin Magdum
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
jeetendra mandal
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
Ryuzaki360
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentation
Prodops.io
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
ssuser9b44c7
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Anant Corporation
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to Containers
Rauno De Pasquale
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetup
Mist.io
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptx
rathnavel194
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
matthewbrahms
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
Joonathan Mägi
 
Kubernetes presentation
Kubernetes presentationKubernetes presentation
Kubernetes presentation
GauranG Bajpai
 
Container Orchestration using kubernetes
Container Orchestration using kubernetesContainer Orchestration using kubernetes
Container Orchestration using kubernetes
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
Will Hall
 
Cloud technology with practical knowledge
Cloud technology with practical knowledgeCloud technology with practical knowledge
Cloud technology with practical knowledge
AnshikaNigam8
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
Gayan Gunarathne
 

Similar to Google Cloud Platform Kubernetes Workshop IYTE (20)

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021
 
Kubernetes overview and Exploitation
Kubernetes overview and ExploitationKubernetes overview and Exploitation
Kubernetes overview and Exploitation
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentation
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to Containers
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetup
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptx
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
 
Kubernetes presentation
Kubernetes presentationKubernetes presentation
Kubernetes presentation
 
Container Orchestration using kubernetes
Container Orchestration using kubernetesContainer Orchestration using kubernetes
Container Orchestration using kubernetes
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 
Cloud technology with practical knowledge
Cloud technology with practical knowledgeCloud technology with practical knowledge
Cloud technology with practical knowledge
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 

More from Gokhan Boranalp

Zkernel
ZkernelZkernel
Zetaops ZOPS presentation
Zetaops ZOPS presentationZetaops ZOPS presentation
Zetaops ZOPS presentation
Gokhan Boranalp
 
Zops intelligent platform
Zops intelligent platformZops intelligent platform
Zops intelligent platform
Gokhan Boranalp
 
Siz değil iş sizi nasıl bulur? GDG İzmir
Siz değil iş sizi nasıl bulur? GDG İzmir Siz değil iş sizi nasıl bulur? GDG İzmir
Siz değil iş sizi nasıl bulur? GDG İzmir
Gokhan Boranalp
 
Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?
Gokhan Boranalp
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
Gokhan Boranalp
 
Buluta Ilk Adım Analizi
Buluta Ilk Adım AnaliziBuluta Ilk Adım Analizi
Buluta Ilk Adım Analizi
Gokhan Boranalp
 
Acik Kaynak Kodlu Kurumsal Eposta Sistemleri
Acik Kaynak Kodlu Kurumsal Eposta SistemleriAcik Kaynak Kodlu Kurumsal Eposta Sistemleri
Acik Kaynak Kodlu Kurumsal Eposta Sistemleri
Gokhan Boranalp
 
Kurumlar icin openstack rehberi
Kurumlar icin openstack rehberi Kurumlar icin openstack rehberi
Kurumlar icin openstack rehberi
Gokhan Boranalp
 
Riak ve RiakCS
Riak ve RiakCSRiak ve RiakCS
Riak ve RiakCS
Gokhan Boranalp
 
erlang 101
erlang 101erlang 101
erlang 101
Gokhan Boranalp
 
Git 101
Git 101Git 101
Scrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimiScrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimi
Gokhan Boranalp
 
Nosql veritabanlari
Nosql veritabanlariNosql veritabanlari
Nosql veritabanlari
Gokhan Boranalp
 

More from Gokhan Boranalp (15)

Zkernel
ZkernelZkernel
Zkernel
 
Zetaops ZOPS presentation
Zetaops ZOPS presentationZetaops ZOPS presentation
Zetaops ZOPS presentation
 
Zops intelligent platform
Zops intelligent platformZops intelligent platform
Zops intelligent platform
 
Siz değil iş sizi nasıl bulur? GDG İzmir
Siz değil iş sizi nasıl bulur? GDG İzmir Siz değil iş sizi nasıl bulur? GDG İzmir
Siz değil iş sizi nasıl bulur? GDG İzmir
 
Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
 
Buluta Ilk Adım Analizi
Buluta Ilk Adım AnaliziBuluta Ilk Adım Analizi
Buluta Ilk Adım Analizi
 
Acik Kaynak Kodlu Kurumsal Eposta Sistemleri
Acik Kaynak Kodlu Kurumsal Eposta SistemleriAcik Kaynak Kodlu Kurumsal Eposta Sistemleri
Acik Kaynak Kodlu Kurumsal Eposta Sistemleri
 
Kurumlar icin openstack rehberi
Kurumlar icin openstack rehberi Kurumlar icin openstack rehberi
Kurumlar icin openstack rehberi
 
Riak ve RiakCS
Riak ve RiakCSRiak ve RiakCS
Riak ve RiakCS
 
erlang 101
erlang 101erlang 101
erlang 101
 
Git 101
Git 101Git 101
Git 101
 
Scrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimiScrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimi
 
Nosql veritabanlari
Nosql veritabanlariNosql veritabanlari
Nosql veritabanlari
 
Erlang web-frameworks
Erlang web-frameworksErlang web-frameworks
Erlang web-frameworks
 

Recently uploaded

K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
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
 
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
kantakumariji156
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
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
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
SATYENDRA100
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
FellyciaHikmahwarani
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
amitchopra0215
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
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
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
The Digital Insurer
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 

Recently uploaded (20)

K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
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
 
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Guwahati 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
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
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
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
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 

Google Cloud Platform Kubernetes Workshop IYTE

  • 1. Google Cloud Platform Kubernetes Workshop www.zetaops.io Simplicity is the ultimate sophistication Leonardo da Vinci“ “ 8 Kasım 2017, Çarşamba İYTE İnovasyon Merkezi
  • 2. Shoshin (初心) is a concept in Zen Buddhism meaning "beginner's mind". It refers to having an attitude of openness, eagerness, and lack of preconceptions when studying a subject, even when studying at an advanced level, just as a beginner in that subject would.
  • 3. Program ● 09:45 - 10:15, Önder Güler, Google Cloud Country Manager, Google Cloud Vizyonu ● 10:15 - 11:30, Pınar Uğurlu Kirazcı, Cloud Customer Engineer, Google, Google Cloud Servislerine Teknik Bakış ● 11:30 - 12:30, Gökhan Boranalp, Zetaops, Sanallaştırma temelleri, Virtual machines, LX{C,D} Containers, Unikernels ● 13:30 - 14:15, Gökhan Boranalp, Zetaops, GCloud sdk tanıtımı ● 14:30 - 15:45, Gökhan Boranalp, Zetaops, Kubernetes nedir? Bileşenleri nelerdir? ● 14:30 - 15:45, Pınar Uğurlu Kirazcı, Cloud Customer Engineer, Google, Kubernetes Fast Track Demo ● 15:30 - 16:30, Gökhan Boranalp, Zetaops, Kubernetes ile örnek bir dağıtık web uygulaması ● 16:45 - 17:15, Gökhan Boranalp, Zetaops, Soru cevap
  • 5. Sanallaştırma Temelleri - Types ● Full virtualization: running an unmodified OS, Parallels, VirtualBox, XEN ● Paravirtualization: running a modified guest system (kernel), XEN, QEMU, KVM ● OS-level virtualization: enables running an isolated process (tree), OpenVZ, LXC, BSD-jails, Linux-VServer, Solaris Zones ● Virtualized Containers, LXC, LXD, Docker
  • 7. Sanallaştırma Temelleri ● Sanal makinalar stateful ● Büyük VM’ler: Depolama VM içinde, tüm servisler aynı VM içinde, kocaman vCPU ve vRAM ● Uygulama SLA kuralları VM hayatta kalsın diye var. ● Dağıtıklık ve fail durumu için eldeki HA teknolojisine bağlı ● VM’ler kurulumdan sonra CPU ve RAM bakımından ölçeklenebilir. ● Uygulamalar VM’in crash olması durumuna göre geliştirilmemiştir. ● Örnek: Aynı VM üzerinde, database, web server, frontend app birlikte çalışıyor. ● Uygulamalar dağıtık olmak üzere tasarlanmıştır. VM’ler stateless haldedir. ● VM’ler küçüktür. ● Uygulama SLA kuralları tüm uygulama içindir. Bir VM için değil. ● Uygulama çok sayıda instance üzerinde çalışmaktadır. ● Uygulamanın ölçeklendirilmesi için anlık olarak VM eklenebilir. ● Uygulamalar VM’lerin fail olması durumuna göre geliştirilmiştir. PETS CATTLE
  • 10. Sanallaştırma Temelleri - Docker ● Docker Engine - Runs on “Linux” to create the operating environment for your distributed applications. ● Docker Machine - Automate Docker provisioning. ● Docker Swarm - Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host.
  • 11. Sanallaştırma Temelleri - Docker ● Docker Compose - Compose is a tool for defining and running multi-container Docker applications. ● Docker Registry - The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. ● Docker Toolbox - The Docker Toolbox is an installer to install and setup a Docker environment on your computer.
  • 12. Sanallaştırma Temelleri - Docker ● Dockerfile anatomy ● Dockerfile example ● Docker registry ● Running Docker properly
  • 32. GCloud SDK ● https://cloud.google.com/sdk/ ● https://cloud.google.com/sdk/gcloud/ref erence/ ● Örnek komutlar
  • 51. Hands on Kubernetes Master: Kubernetes control panel or control plane. This is where decisions are made about the cluster, such as scheduling, and detecting/responding to cluster events. The components of the master can be run on any node in the cluster. Key components of the master:
  • 52. API Server — This is the only component of the Kubernetes control panel with a user-accessible API and the sole master component that you’ll interact with. The API server exposes a restful Kubernetes API and consumes JSON manifest files. Cluster State&Data Store — Kubernetes uses “etcd.” This is a strong consistent, and highly-available key value store that Kubernetes uses for persistent storage of all API objects. Think of it as the “source of truth” for the cluster. Hands on Kubernetes
  • 53. Hands on Kubernetes Controller Manager — Known as the “kube-controller manager,” this runs all the controllers that handle routine tasks in the cluster. These include the Node Controller, Replication Controller, Endpoints Controller, and Service Account and Token Controllers. Each of these controllers works separately to maintain the desired state.
  • 54. Hands on Kubernetes Scheduler — The scheduler watches for newly-created pods (groups of one or more containers) and assigns them to nodes. Dashboard (optional) — Kubernetes web UI that simplifies the Kubernetes cluster user’s interactions with the API server.
  • 55. Kubernetes Worker Nodes Master handles and manages the cluster, worker nodes run the containers and provide the Kubernetes runtime environment. Worker nodes comprise a kubelet. This is the primary node agent. It watches the API server for pods that have been assigned to its node. Kubelet carries out tasks and maintains a reporting backchannel of pod status to the master node. Hands on Kubernetes
  • 56. Hands on Kubernetes Inside each pod there are containers, kubelet runs these via Docker (pulling images, starting and stopping containers, etc.). It also periodically executes any requested container liveness probes. In addition to Docker, RKT is also supported and the community is actively working to support OCI. Another component of worker nodes is kube-proxy. This is the network brain of the node, maintaining network rules on the host and performing connection forwarding. It’s also responsible for load balancing across all pods in the service.
  • 57. Kubernetes Pods A pod is a group of one or more containers (such as Docker containers), with shared storage/network. Each pod contains specific information on how the containers should be run. Think of pods as a ring-fenced environment to run containers. Pods are also a unit for scaling. If you need to scale an app component up or down, this can be achieved by adding or removing pods. Hands on Kubernetes
  • 58. Hands on Kubernetes It’s possible to run more than one container in a pod (where each share the same IP address and mounted volumes), if they’re tightly coupled. Pods are deployed on a single node and have a definite lifecycle. They can be pending, running, succeeding, or failing, but once gone, they are never brought back to life. If a pod dies, a replication controller or other controller must be used to create a new one.
  • 59. Pods — A description of a set of containers that need to run together. Services — An object that describes a set of pods that provide a useful service. Services are typically used to define clusters of uniform pods. Persistent Volumes — A Kubernetes abstraction for persistent storage. Kubernetes supports many types of volumes, such as NFS, Ceph, GlusterFS, local directory, etc. Hands on Kubernetes
  • 60. Namespaces — This is a tool used to group, separate, and isolate groups of objects. Namespaces are used for access control, network access control, resource management, and quoting. Ingress rules — These specify how incoming network traffic should be routed to services and pods. Network policies — This defines the network access rules between pods inside the cluster. Hands on Kubernetes
  • 61. ConfigMaps and Secrets — Used to separate configuration information from application definition. Controllers — These implement different policies for automatic pod management. There are three main types: 1. Deployment — Responsible for maintaining a set of running pods of the same type. 2. DaemonSet — Runs a specific type of pod on each node based on a condition. 3. StatefulSet — Used when several pods of the same type are needed to run in parallel, but each of the pods is required to have a specific identity. Hands on Kubernetes
  • 62. Hands on Kubernetes ● Kubernetes simultaneously runs and controls a set of nodes on virtual or physical machines. ● This is achieved by running agents on each node. ● The agent talks to the master via the same API used to send the blueprint to Kubernetes. ● The agent registers itself in the master, providing Kubernetes with information about the nodes. ● Reading through the API, the agent determines which containers are required to run on the corresponding node and how they are to be configured.
  • 63. Hands on Kubernetes ● The master node runs several Kubernetes components. ● Together, these make all control decisions about which container needs to be started on which node and how it should be configured. ● In addition, the master and agent may interact with a cloud provider and manage additional cloud resources such as load balancers, persistent volumes, persistent block storage, network configuration, and number of instances.
  • 64. Hands on Kubernetes ● The master can be a single instance running Kubernetes components or a set of instances to ensure high availability. ● A master can also serve (in certain configurations) as a node to run containers, although this is not recommended for production. ★ Don’t run heavy duty databases in Kubernetes ★ Choose wisely your load balancer.
  • 65. ● Running the Kubernetes cluster ○ Examples ■ https://cloud.google.com/container-engine/docs/ tutorials/hello-app ■ https://github.com/kubernetes/examples/blob/m aster/staging/spark/README.md ■ https://cloud.google.com/solutions/continuous-d elivery-jenkins-container-engine Hands on Kubernetes
  • 66. Hands on Kubernetes Q: If Pods are ephemeral how can I persist my container data across container restarts? A: Kubernetes supports the concept of Volumes so you can use a Volume type that is persistent. Q: Do I create Pods manually, what if I want to create a few copies of the same container do I have to create each one individually? A: Replication Controller to rollout multiple copies using a Pod template Q: If Pods are ephemeral and their IP address might change if they get restarted how can I reliability reference my backend container from a frontend container? A: Use a Service
  • 68. Resources ● http://www.dummies.com/programming/networking/basics-of-network-virtualization/ ● https://12factor.net/ ● https://medium.com/jeroen-rosenberg/from-monolith-to-microservice-architecture-on-kubernetes-part-1-the-api-gateway-eb82f8c2d10c ● https://daemonza.github.io/2017/02/20/using-helm-to-deploy-to-kubernetes/ ● https://dzone.com/articles/microservices-with-kubernetes-and-docker ● https://medium.com/jeroen-rosenberg/from-monolith-to-microservice-architecture-on-kubernetes-part-1-the-api-gateway-eb82f8c2d10c ● https://techbeacon.com/one-year-using-kubernetes-production-lessons-learned ● https://github.com/wsargent/docker-cheat-sheet#dockerfile ● http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html ● http://blog.flux7.com/blogs/docker/docker-tutorial-series-part-3-automation-is-the-word-using-dockerfile ● https://developers.google.com/apis-explorer/#search/compute/clouduseraccounts/alpha/ ● https://console.cloud.google.com/cloud-resource-manager ● https://alpinelinux.org/downloads/ ● http://phusion.github.io/baseimage-docker/ ● https://www.slideshare.net/randybias/the-history-of-pets-vs-cattle-and-using-it-properly ● http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/ ● https://www.discogs.com/Captain-Hook-And-His-Crew-Ship-Ahoy/release/5674030 ● http://thesecretlivesofdata.com/raft/ ● http://www.yamllint.com/ ● http://static.brandonpotter.com/kubernetes/DeploymentBuilder.html ● http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/ ● https://youtu.be/9Wzw84Q-8yc ● https://kubernetes.io/docs/user-guide/kubectl-cheatsheet/ ● https://cloud.google.com/solutions/automated-build-images-with-jenkins-kubernetes ● https://cloud.google.com/container-builder/docs/quickstart-docker ● https://www.youtube.com/watch?v=xhwNywVYBk4