SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Introducing Koki Short
Sidhartha Mani
Founder and CEO
https://koki.io
Complexity in Kubernetes
● Managing Cluster
Complexity in Kubernetes
● Managing Cluster
● Mental Models
Complexity in Kubernetes
● Managing Cluster
● Mental Models
● Managing Manifest files
Complexity in Kubernetes
● Managing Cluster
● Mental Models
● Managing Manifest files
● Managing Runtime Operations
Market trends
● Consumerization of Enterprise software
● Empowered engineering teams
● Hybrid cloud movement
Mental Models
● ksonnet
Mental Models
● ksonnet
● Tries to the ease the
understanding of kubernetes
primitives
● Developer centric view of
kubernetes resources
Managing resource files
● ksonnet
● Adds abstraction to make it easier
to manage resource files
● Tries to promote reuse
Managing runtime operations
● argo
● ovrclk
● ...
Managing runtime operations
● argo
● ovrclk
● ...
● Imperative task model on top of
Kubernetes
● Infrastructure agnostic
Koki
https://github.com/koki/koki
Deploy Definition - Master
kind: Pod
apiVersion: v1
metadata:
name: postgresql-master
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
key: zone
operator: eq
values:
- AZ1
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volumeMounts:
- mountPath: /postgresql
name: masterPV
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
volumes:
- name: masterPV
awsElasticBlockStore:
volumeID: <awsVolumeID>
fsType: ext4
Deploy Definition - Short hand syntax
pod:
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volumeMounts:
- mountPath: /postgresql
name: masterPV
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
name: posgresql-master
host: hg1
Deploy Definition - Master
kind: Pod
apiVersion: v1
metadata:
name: postgresql-master
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
key: zone
operator: eq
values:
- AZ1
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volumeMounts:
- mountPath: /postgresql
name: masterPV
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
volumes:
- name: masterPV
awsElasticBlockStore:
volumeID: <awsVolumeID>
fsType: ext4
Deploy Definition - Short hand syntax
pod:
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volumeMounts:
- mountPath: /postgresql
name: masterPV
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
name: posgresql-master
host: hg1
Deploy Definition - Master
kind: Pod
apiVersion: v1
metadata:
name: postgresql-master
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
key: zone
operator: eq
values:
- AZ1
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volumeMounts:
- mountPath: /postgresql
name: masterPV
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
volumes:
- name: masterPV
awsElasticBlockStore:
volumeID: <awsVolumeID>
fsType: ext4
Deploy Definition - Imports
Import masterPV from master-pv.yaml
pod:
containers:
- name: master-container
image: wlan0/postgresql-master:v0.1
volume: masterPV:/postgresql
- name: master-sidecar
image: wlan0/postgresql-sidecar:v0.1
name: posgresql-master
host: hg1
volume:
name: master-pv
provision: true
awsEbs:
iops: 20000
capacity: 500G
master-pv.yaml
Application Lifecycle Modelling
Active
Upgrade
Failover
Restore
Deploy
End
State Machine controls
import pod1.yaml
Import handlers.yaml
app:
name: redis
resources:
- pod1
- service: //service definition in
short-hand syntax
name: svc1
selectors:
pod1
expose: //services exposed by this app
- svc1
states:
- create: //state before deploy
handlers:
- provision-volumes //imported
from handlers.yaml
- create-certs
- deploy // no handlers needed
- upgrade:
handlers:
- perform-backup
Abstract Hosts & Grouping
PostgreSQL
Slave
PostgreSQL
Master
PostgreSQL
Slave
Synchronous replication
Asynchronous replication
Host 1 Host 2 Host 3 Host 4 Host 5
Availability Zone 1 Availability Zone 2
HG1 HG2
Auto pilot pattern
Func pre(input obj, *out obj) {
}
Func post(intput obj, *out obj) {
}
Lifecycle
Controller
Application PodApplication Pod
kubectl apply -f ...
Koki
● Yaml short hand syntax
● Builds on Kube-native models
● Declarative interface
● Cluster and Infrastructure agnostic
● State Management and more powerful features...
Advantages
● Acceleration & Speed
● Control
● Standardization
● Simplicity
● Scalability

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Extended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesExtended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use cases
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
Let's Try Every CRI Runtime Available for Kubernetes
Let's Try Every CRI Runtime Available for KubernetesLet's Try Every CRI Runtime Available for Kubernetes
Let's Try Every CRI Runtime Available for Kubernetes
 
Enabling Security via Container Runtimes
Enabling Security via Container RuntimesEnabling Security via Container Runtimes
Enabling Security via Container Runtimes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Bucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime PerformanceBucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime Performance
 
Ansible, integration testing, and you.
Ansible, integration testing, and you.Ansible, integration testing, and you.
Ansible, integration testing, and you.
 
Immutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkitImmutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkit
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a pro
 
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
 
Cloud Native TLV Meetup: Securing Containerized Applications Primer
Cloud Native TLV Meetup: Securing Containerized Applications PrimerCloud Native TLV Meetup: Securing Containerized Applications Primer
Cloud Native TLV Meetup: Securing Containerized Applications Primer
 
Containerd internals: building a core container runtime
Containerd internals: building a core container runtimeContainerd internals: building a core container runtime
Containerd internals: building a core container runtime
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetes
 
CNCF Projects Overview
CNCF Projects OverviewCNCF Projects Overview
CNCF Projects Overview
 
Scale out, with Kubernetes (k8s)
Scale out, with Kubernetes (k8s)Scale out, with Kubernetes (k8s)
Scale out, with Kubernetes (k8s)
 
Making cloud native platform by kubernetes
Making cloud native platform by kubernetesMaking cloud native platform by kubernetes
Making cloud native platform by kubernetes
 

Ähnlich wie Introducing Koki Short

Ähnlich wie Introducing Koki Short (20)

Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Introduction to Tekton
Introduction to TektonIntroduction to Tekton
Introduction to Tekton
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
 
State of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDataState of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigData
 
CI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsCI/CD Across Multiple Environments
CI/CD Across Multiple Environments
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive
 
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
 
How to build a tool for operating Flink on Kubernetes
How to build a tool for operating Flink on KubernetesHow to build a tool for operating Flink on Kubernetes
How to build a tool for operating Flink on Kubernetes
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
 
Gluster Contenarized Storage for Cloud Applications
Gluster Contenarized Storage for Cloud ApplicationsGluster Contenarized Storage for Cloud Applications
Gluster Contenarized Storage for Cloud Applications
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmetHow Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battle
 
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
 
GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
 

Kürzlich hochgeladen

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Kürzlich hochgeladen (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

Introducing Koki Short

  • 1. Introducing Koki Short Sidhartha Mani Founder and CEO https://koki.io
  • 2. Complexity in Kubernetes ● Managing Cluster
  • 3. Complexity in Kubernetes ● Managing Cluster ● Mental Models
  • 4. Complexity in Kubernetes ● Managing Cluster ● Mental Models ● Managing Manifest files
  • 5. Complexity in Kubernetes ● Managing Cluster ● Mental Models ● Managing Manifest files ● Managing Runtime Operations
  • 6. Market trends ● Consumerization of Enterprise software ● Empowered engineering teams ● Hybrid cloud movement
  • 8. Mental Models ● ksonnet ● Tries to the ease the understanding of kubernetes primitives ● Developer centric view of kubernetes resources
  • 9. Managing resource files ● ksonnet ● Adds abstraction to make it easier to manage resource files ● Tries to promote reuse
  • 10. Managing runtime operations ● argo ● ovrclk ● ...
  • 11. Managing runtime operations ● argo ● ovrclk ● ... ● Imperative task model on top of Kubernetes ● Infrastructure agnostic
  • 13. Deploy Definition - Master kind: Pod apiVersion: v1 metadata: name: postgresql-master spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: key: zone operator: eq values: - AZ1 containers: - name: master-container image: wlan0/postgresql-master:v0.1 volumeMounts: - mountPath: /postgresql name: masterPV - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 volumes: - name: masterPV awsElasticBlockStore: volumeID: <awsVolumeID> fsType: ext4
  • 14. Deploy Definition - Short hand syntax pod: containers: - name: master-container image: wlan0/postgresql-master:v0.1 volumeMounts: - mountPath: /postgresql name: masterPV - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 name: posgresql-master host: hg1
  • 15. Deploy Definition - Master kind: Pod apiVersion: v1 metadata: name: postgresql-master spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: key: zone operator: eq values: - AZ1 containers: - name: master-container image: wlan0/postgresql-master:v0.1 volumeMounts: - mountPath: /postgresql name: masterPV - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 volumes: - name: masterPV awsElasticBlockStore: volumeID: <awsVolumeID> fsType: ext4
  • 16. Deploy Definition - Short hand syntax pod: containers: - name: master-container image: wlan0/postgresql-master:v0.1 volumeMounts: - mountPath: /postgresql name: masterPV - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 name: posgresql-master host: hg1
  • 17. Deploy Definition - Master kind: Pod apiVersion: v1 metadata: name: postgresql-master spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: key: zone operator: eq values: - AZ1 containers: - name: master-container image: wlan0/postgresql-master:v0.1 volumeMounts: - mountPath: /postgresql name: masterPV - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 volumes: - name: masterPV awsElasticBlockStore: volumeID: <awsVolumeID> fsType: ext4
  • 18. Deploy Definition - Imports Import masterPV from master-pv.yaml pod: containers: - name: master-container image: wlan0/postgresql-master:v0.1 volume: masterPV:/postgresql - name: master-sidecar image: wlan0/postgresql-sidecar:v0.1 name: posgresql-master host: hg1 volume: name: master-pv provision: true awsEbs: iops: 20000 capacity: 500G master-pv.yaml
  • 20. State Machine controls import pod1.yaml Import handlers.yaml app: name: redis resources: - pod1 - service: //service definition in short-hand syntax name: svc1 selectors: pod1 expose: //services exposed by this app - svc1 states: - create: //state before deploy handlers: - provision-volumes //imported from handlers.yaml - create-certs - deploy // no handlers needed - upgrade: handlers: - perform-backup
  • 21. Abstract Hosts & Grouping PostgreSQL Slave PostgreSQL Master PostgreSQL Slave Synchronous replication Asynchronous replication Host 1 Host 2 Host 3 Host 4 Host 5 Availability Zone 1 Availability Zone 2 HG1 HG2
  • 22. Auto pilot pattern Func pre(input obj, *out obj) { } Func post(intput obj, *out obj) { } Lifecycle Controller Application PodApplication Pod kubectl apply -f ...
  • 23. Koki ● Yaml short hand syntax ● Builds on Kube-native models ● Declarative interface ● Cluster and Infrastructure agnostic ● State Management and more powerful features...
  • 24. Advantages ● Acceleration & Speed ● Control ● Standardization ● Simplicity ● Scalability