Dive into Orchestration
with Kubernetes
Ayman Awartani
Engineering Manager
ayman@foundertherapy.co
Your Tech Stack!
1. Python
2. Django
3. PostgreSQL
4. REDIS
5. Elasticsearch
6. React
7. RQ Worker
8. RQ Scheduler
9. Git
10. ...
How do you
deploy code,
and software to
cloud?
1. Automating Deployment
2. Horizontal Scaling
3. Automated Rollouts and Rollback
4. Self Healing
5. Service Discovery
6. Load Balancing
7. Secret and Configuration Management
8. Automated Scheduling
Kubernetes
Why
Kubernetes
New standard for deploying and managing
software in the cloud
Docker
1. What is docker?
2. Container
3. Docker vs VMWAre
4. Why?
a. Simple
b. Consistent
c. Extendable
d. Secure
e. Isolated
f. Lightweight
...
Docker - example
Kubernetes components
● Cluster (set of nodes)
Start with a cluster instead of the nodes
● Node
Basic unit of computing hardware (single machine in your cluster)
● Persistent Volumes
Integrated with cloud providers such as Azure, AWS and Google Cloud
Kubernetes components
● Pods
○ collection of one or more containers sharing the same resources and
local network
○ Pods are used as the unit of replication
● Deployments
○ Manage pods
○ Declare how many replicas of a pod should be running at a time
○ Monitor pods. If a pod dies, the deployment will automatically re-
create it
Kubernetes components
● Ingress
○ Load balancing
○ SSL termination
○ Name-based virtual hosting
● Configmap
○ Encrypted key value database
○ Store environment variables
○ Store certificates
○ Store credentials
Kubernetes components
Kubernetes example
Docker image
How many replicas
Load balancer
Port mapping
Selector
1. Install beta version Docker from beta.docker.com
2. brew install kubectl
3. kubectl create -f example.yaml
Installation
kubectl get all
kubectl logs <pod-name>
kubectl delete -f sample.yaml
kubectl describe replicasets
kubectl exec <pod-name> -i -t -- bash -il
Other important commands
Thanks!ayman@foundertherapy.co

Dive into orchestration with Kubernetes

  • 1.
  • 2.
  • 4.
    Your Tech Stack! 1.Python 2. Django 3. PostgreSQL 4. REDIS 5. Elasticsearch 6. React 7. RQ Worker 8. RQ Scheduler 9. Git 10. ...
  • 5.
    How do you deploycode, and software to cloud?
  • 6.
    1. Automating Deployment 2.Horizontal Scaling 3. Automated Rollouts and Rollback 4. Self Healing 5. Service Discovery 6. Load Balancing 7. Secret and Configuration Management 8. Automated Scheduling Kubernetes Why
  • 7.
    Kubernetes New standard fordeploying and managing software in the cloud
  • 8.
    Docker 1. What isdocker? 2. Container 3. Docker vs VMWAre 4. Why? a. Simple b. Consistent c. Extendable d. Secure e. Isolated f. Lightweight ...
  • 9.
  • 11.
  • 13.
    ● Cluster (setof nodes) Start with a cluster instead of the nodes ● Node Basic unit of computing hardware (single machine in your cluster) ● Persistent Volumes Integrated with cloud providers such as Azure, AWS and Google Cloud Kubernetes components
  • 14.
    ● Pods ○ collectionof one or more containers sharing the same resources and local network ○ Pods are used as the unit of replication ● Deployments ○ Manage pods ○ Declare how many replicas of a pod should be running at a time ○ Monitor pods. If a pod dies, the deployment will automatically re- create it Kubernetes components
  • 15.
    ● Ingress ○ Loadbalancing ○ SSL termination ○ Name-based virtual hosting ● Configmap ○ Encrypted key value database ○ Store environment variables ○ Store certificates ○ Store credentials Kubernetes components
  • 16.
    Kubernetes example Docker image Howmany replicas Load balancer Port mapping Selector
  • 17.
    1. Install betaversion Docker from beta.docker.com 2. brew install kubectl 3. kubectl create -f example.yaml Installation
  • 18.
    kubectl get all kubectllogs <pod-name> kubectl delete -f sample.yaml kubectl describe replicasets kubectl exec <pod-name> -i -t -- bash -il Other important commands
  • 19.

Editor's Notes

  • #4 We build startups with early stage founders We become their product and engineering team and help them go from the idea stage to product market fit