Отказоустойчивость в Kubernetes

K8S

голландский штурвал

кибернетис

frontend

api

logger

frontend

api

logger

frontend

logger

api

react

nginx

frontend

logger

api

react

nginx

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
    - name: react
      image: bayesimpact/react-base:latest
    - name: nginx
      image: nginx:1.14.2
      ports:
        - containerPort: 80

frontend

logger

api

react

nginx

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
    - name: react
      image: bayesimpact/react-base:latest
    - name: nginx
      image: nginx:1.14.2
      ports:
        - containerPort: 80
~ > kubectl apply -f frontend.yml

frontend

logger

api

react

nginx

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
    - name: react
      image: bayesimpact/react-base:latest
    - name: nginx
      image: nginx:1.14.2
      ports:
        - containerPort: 80
apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  labels:
    app: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: react
          image: bayesimpact/react-base:latest
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80

frontend

logger

api

react

nginx

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
    - name: react
      image: bayesimpact/react-base:latest
    - name: nginx
      image: nginx:1.14.2
      ports:
        - containerPort: 80
apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  labels:
    app: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: react
          image: bayesimpact/react-base:latest
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80

frontend

logger

api

react

nginx

apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  labels:
    app: frontend
spec:
  replicas: 3
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: react
          image: bayesimpact/react-base:latest
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80

frontend

logger

api

react

nginx

apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  labels:
    app: frontend
spec:
  replicas: 3
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
  topologySpreadConstraints:
    - maxSkew: 1
      topologyKey: topology.kubernetes.io/zone
      whenUnsatisfiable: DoNotSchedule
      labelSelector:
        matchLabels:
          app: frontend
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: react
          image: bayesimpact/react-base:latest
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80

Отказоустойчивость в Kubernetes

By superpupervlad

Отказоустойчивость в Kubernetes

  • 98