Más contenido relacionado La actualidad más candente (17) Similar a Kubernetes в Booking.com (20) Kubernetes в Booking.com3. 16 k8s кластеров
800 нод
shared/multitenant кластеры
проактивный мониторинг
Shipper
300+ сервисов
Факты
7. ACI
AOS from Apstra
Big Cloud Fabric from Big Switch
Networks
Cilium
CNI-Genie from Huawei
Contiv
Contrail
DANM
Flannel
Google Compute Engine
Jaguar
Knitter
Kube-router
L2 networks and linux bridging
Multus
NSX-T
Nuage Networks VCS
OpenVSwitch
OVN (Open Virtual Networking)
Project Calico
Romana
Weave Net from Weaveworks
…
Kubernetes landscape
kubedns
coredns
kubeadm
rancher
kubespray
kubermatic
kublr
coreos
minikube
microk8s
docker-desktop
…
metrics-server
kube-state-metrics
kubelet
heapster
cadvisor
k8s dashboard
prometheus
kubewatch
fluentd
…
provision monitoring
network
DNS
storage
iscsi
nfs
trident
emptydir
hostpath
configmap
aws
gce
cephfs
flocker
glusterfs
…
containers
docker
containerd
rkt
cri-o
runc
lxd
kata
firecracker
gvisor
…
routing
kube-proxy
kube-router
---
iptables
ipvs
auth
certs
tokens
openid
auth-proxy
webhooks
rbac/abac
…
ingress
nginx
haproxy
istio
envoy
traefik
kong
f5
ambassaror
…
11. master master master
envoy envoy
gateway gateway
envoy envoy envoy
node node node
envoy envoy envoy
node node node
envoy envoy envoy
node node node
…
…
…
etcd
kube-apiserver
kube-scheduler
kube-controller-manager
coredns
booking controllers*
…
kubelet
docker
cadvisor
node-problem-detector
…
kube-proxy
13. цель – плоская и простая сеть
каждый Pod/Service получает 10.* IP-адрес
Bird + BGP + TO
CNI host-local plugin
https://github.com/containernetworking/plugins/tree/master/plugins/ipam/host
поощряем использование Pod IP-адресов
… экспортируем в Service Discovery
Сеть
20. функциональное тестирование для k8s
периодически проверяет
способность кластера выполнять:
• базовые функции
• сетевое соединение
• интеграции
kube-probe
25. complex deployment strategy
deployment objects are not enough
+ multi-cluster, multi-region, multi-cloud
= coordination scripts
problems:
• hard to debug
• inconsistent state
Why does Shipper exist?
29. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
30. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
31. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
32. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
33. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
34. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
35. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
36. apiVersion: shipper.booking.com/v1alplha1
kind: Application
metadata:
name: bikerental
spec:
template:
clusterRequirements:
regions:
- name: us-west-1
- name: eu-west-1
chart:
name: java
version: 0.0.36
repoUrl: https://charts.prod.booking.com/charts
values:
replicaCount: 1
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
strategy:
steps:
- name: staging
capacity:
incumbent: 100
contender: 1
traffic:
incumbent: 100
contender: 0
- name: canary
capacity:
incumbent: 90
contender: 10
traffic:
incumbent: 90
contender: 10
- name: full on
capacity:
incumbent: 0
contender: 100
traffic:
incumbent: 0
contender: 100
Notas del editor Cover for external presentations.
Photo is replaceable, behind the blue filter.
Click on photo –> Picture format – Change picture
For external presentations, choose a relevant photo for which we own the copyrights to.