E13- SCONE on Kubernetes (2)
E13- SCONE on Kubernetes (2)
Pros: lightweight
Pros: remove complexity Pros: isolate OS guest from host
Cons: issues with security,
Cons: does not isolate from OS Cons: intensive use hardware
scalability, and control
microservices
containe
r
How to
Monolithic
manage
microservices?
How do we build it with K8s?
Components & Architecture
Maggie Is going to
develop a cool <Worker Node
application . She 1> <docker>
decided to use K8s
to build the Online
Store (?) Application
<Worker Node
2> <docker>
CLI
<kubectl>
<Master
Node>
<Worker Node
Maggie 3> <docker>
K8s Components & Architecture <cont>
<Master Node>
controller
scheduler • Scheduler assigns to each worker
manager node an application
• Controller manager:
CLI
API server • Keeps track of worker nodes
<kube- • Handles node failures and
<kubectl>
apiserver>
replicates if needed
• Provide endpoints to access the
Maggie application from the outside
etcd
world
K8s Components & Architecture <cont>
<Master Node>
cloud- cloud
controller provider
manager API
controller
scheduler
manager • Cloud controller communicates
with cloud provide regarding
resources such as nodes and IP
CLI
API server addresses
<kube-
<kubectl>
apiserver>
Maggie
etcd
K8s Components & Architecture <cont>
<Master Node>
cloud- cloud
controller provider
manager API
Maggie
etcd The worker node consists of:
cloud- cloud
controller provider
manager API
Maggie
etcd
• Kube-proxy load-balances network
traffic between application
components and the outside world
Advantages of using Kubernetes
1. Velocity
2. Scaling (of both software and teams) k8s
3. Abstracting the infrastructure API
<kube-
4. Efficiency service>
VM
<model2
Maggie
>
Velocity <cont>
Velocity is enabled by:
VM
<model_v1.0
>
Velocity <cont>
Velocity is enabled by:
K8s
<nodes>
YAML
<app.yaml> VM
VM VM VM
2 database <model_v1.0
<database> <database> <frontend>
1 model >
1 frontend
Velocity <cont>
Velocity is enabled by:
VM
< database
>
Advantages of using Kubernetes: Scaling
• Software
• Team/s that develop it
Scaling
Kubernetes provides numerous advantages to address scaling:
API
Container 1
Team Maggie
LOAD
BALANCER
Microservice 2
API
Z
Container 2
Team John
Scaling <cont>
K8s provides full spectrum of solutions between doing it “the hard way” and a fully
managed service
Scaling <cont>
Advantages of using K8s: Abstracting your infrastructure
You can easily access the Kubernetes Client using the following
command:
You can easily access the Kubernetes Client using the following
command:
https://github.com/scontain/hello-world-scone-on-kubernetes
What is the purpose of a namespace in Kubernetes?