Kubernetes рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдпрд▓реА

Kubernetes рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдпрд▓реА

Kubernetes рд╡рд╛рдкрд░реВрди CI/CD рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдирд╡реАрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╡рд┐рд╕рдВрдЧрддреАрдЪреА рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддреЗ. рд╡рд┐рд╢реЗрд╖рддрдГ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рддреЗ рдорд┐рд│рд╡рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ ╨╛╨┤╨╕╨╜ рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓ рдЕрд╢реА рдкреНрд░рддрд┐рдорд╛ ╨▓╤Б╨╡╤Е рдкреНрд░рдХрд▓реНрдк рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░реНрд╕. рд╣реЗ рддрддреНрддреНрд╡ рдпреЛрдЧреНрдп рдЕрдзреЛрд░реЗрдЦрд┐рдд рдХрд░рддреЗ Google рдЪреНрдпрд╛ рдорддреЗ рдХрдВрдЯреЗрдирд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рдпрд╛рдмрджреНрджрд▓ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рдмреЛрд▓рд▓реЗ рдЖрдгрд┐ рдЖрдордЪрд╛ рддрд╛рдВрддреНрд░рд┐рдХ рд╡рд┐рднрд╛рдЧ).

рддрдерд╛рдкрд┐, рд╕рд╛рдЗрдЯрдЪрд╛ рдХреЛрдб рд░реЗрдбреАрдореЗрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░рддреЛ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдЖрдкрдг рдХреЛрдгрд╛рд▓рд╛рд╣реА рджрд┐рд╕рдгрд╛рд░ рдирд╛рд╣реА, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рд╡рд╛рдкрд░рд╛рд╡рд░ рдирд┐рд░реНрдмрдВрдз рд▓рд╛рджрддреЛ. рдЖрдгрд┐ "рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд" рдЕрд╕рддрд╛рдирд╛ рд╣реЗ рд╣рд╛рддрд╛рд│рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рд╣реЗ рд╡рд░реНрддрди рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдиреВ рд╢рдХрддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдкреНрд░рдердордЪ рддреНрдпрд╛рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛. рдЬрд░реА рдПрдХ рдХрд▓реНрдкрдХ рдорди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВ рд╢рдХрддреЗ рдЬреЗ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд рдЪрд╛рдВрдЧрд▓реЗ рд╡рд╛рдЯреВ рд╢рдХрддреЗ... рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рдмрд╣реБрддреЗрдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рдЕрд╕реЗ рд╣реЛрдК рд╢рдХрддреЗ рдЖрдгрд┐ рдкрд╛рд╣рд┐рдЬреЗ. рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдкрджреНрдзрддреАрдиреЗ рд╕реЛрдбрд╡рд▓реЗ рдЬрд╛рд╡реЗ.

рдХреНрд▓рд╕реНрдЯрд░ рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рд╣реЛрдК рд╢рдХрддреАрд▓ рдЕрд╢рд╛ рдлрд╛рдпрд▓реА рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдкрд╛рд╣реВ рдЖрдгрд┐ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдорд╛рд░реНрдЧ рджреЗрдЦреАрд▓ рджрд░реНрд╢рд╡реВ.

рд╕реНрдерд┐рд░ рд╕рдВрдЪрдпрди

рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рддрд┐рдорд╛, рд╢реИрд▓реА рдЖрдгрд┐ рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рд╕рдВрдЪ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╕реНрдерд┐рд░ рдЬрдирд░реЗрдЯрд░ рд╡рд╛рдкрд░рдгрд╛рд░реЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреНрдпрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Yii PHP рдлреНрд░реЗрдорд╡рд░реНрдХрдордзреНрдпреЗ рдПрдХ рдЕрдВрдЧрднреВрдд рдорд╛рд▓рдорддреНрддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрд╣реЗ рдЬреЛ рдЕрджреНрд╡рд┐рддреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рд╡реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддреЛ. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдЖрдЙрдЯрдкреБрдЯ рд╣рд╛ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рдкрдерд╛рдВрдЪрд╛ рдПрдХ рд╕рдВрдЪ рдЖрд╣реЗ рдЬреЛ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдПрдХрдореЗрдХрд╛рдВрдирд╛ рдЫреЗрджрдд рдирд╛рд╣реА (рд╣реЗ рдЕрдиреЗрдХ рдХрд╛рд░рдгрд╛рдВрд╕рд╛рдареА рдХреЗрд▓реЗ рдЧреЗрд▓реЗ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬреЗрд╡реНрд╣рд╛ рдПрдХрд╛рдзрд┐рдХ рдШрдЯрдХ рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрди рд╡рд╛рдкрд░рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА). рдореНрд╣рдгреВрди, рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░, рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╡реЗрдм рд░рд┐рд╕реЛрд░реНрд╕ рдореЙрдбреНрдпреБрд▓рдордзреНрдпреЗ рдкрд╣рд┐рд▓реНрдпрд╛рдВрджрд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛, рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реНрд╕ (рдЦрд░реЗрддрд░, рдЕрдиреЗрдХрджрд╛ рд╕рд┐рдорд▓рд┐рдВрдХреНрд╕, рдкрд░рдВрддреБ рдирдВрддрд░ рддреНрдпрд╛рд╡рд░реАрд▓ рдЕрдзрд┐рдХ) рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдпрд╛ рдЙрдкрдпреЛрдЬрдирд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдЯ рдбрд┐рд░реЗрдХреНрдЯрд░реА рдЕрджреНрд╡рд┐рддреАрдп рдЖрд╣реЗ:

  • webroot/assets/2072c2df/css/тАж
  • webroot/assets/2072c2df/images/тАж
  • webroot/assets/2072c2df/js/тАж

рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдп рдЖрд╣реЗ?

рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг

рд╕реНрдЯреЕрдЯрд┐рдХ рдбреЗрдЯрд╛ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реЛрдкреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА nginx рдЪреНрдпрд╛ рдЖрдзреА PHP рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЗрд╕ рдШреЗрдК. рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдорд╛рд░реНрдЧ - рддреИрдирд╛рдд рдХрд░рдгреЗ рджреЛрди рдХрдВрдЯреЗрдирд░рд╕рд╣:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: site
spec:
  selector:
    matchLabels:
      component: backend
  template:
    metadata:
      labels:
        component: backend
    spec:
      volumes:
        - name: nginx-config
          configMap:
            name: nginx-configmap
      containers:
      - name: php
        image: own-image-with-php-backend:v1.0
        command: ["/usr/local/sbin/php-fpm","-F"]
        workingDir: /var/www
      - name: nginx
        image: nginx:1.16.0
        command: ["/usr/sbin/nginx", "-g", "daemon off;"]
        volumeMounts:
        - name: nginx-config
          mountPath: /etc/nginx/conf.d/default.conf
          subPath: nginx.conf

рд╕рд░рд▓реАрдХреГрдд рд╕реНрд╡рд░реВрдкрд╛рдд, nginx рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЙрдХрд│рддреЗ:

apiVersion: v1
kind: ConfigMap
metadata:
  name: "nginx-configmap"
data:
  nginx.conf: |
    server {
        listen 80;
        server_name _;
        charset utf-8;
        root  /var/www;

        access_log /dev/stdout;
        error_log /dev/stderr;

        location / {
            index index.php;
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
        }
    }

рддреБрдореНрд╣реА рдкреНрд░рдердо рд╕рд╛рдЗрдЯрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛, рдорд╛рд▓рдорддреНрддрд╛ PHP рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рджрд┐рд╕рддрд╛рдд. рдкрд░рдВрддреБ рдПрдХрд╛ рдкреЙрдбрдордзреАрд▓ рджреЛрди рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, nginx рд▓рд╛ рдпрд╛ рд╕реНрдерд┐рд░ рдлрд╛рдпрд▓реАрдВрдмрджреНрджрд▓ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рддреА рдирд╕рддреЗ, рдЬреНрдпрд╛ (рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдиреБрд╕рд╛рд░) рддреНрдпрд╛рдВрдирд╛ рджрд┐рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд. рдкрд░рд┐рдгрд╛рдореА, CSS рдЖрдгрд┐ JS рдлрд╛рдпрд▓реАрдВрд╡рд░реАрд▓ рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ 404 рддреНрд░реБрдЯреА рджрд┐рд╕реЗрд▓. рдпреЗрдереЗ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгрдЬреЗ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ. рдЖрджрд┐рдо рдкрд░реНрдпрд╛рдп - рд╕рд╛рдорд╛рдиреНрдп emptyDir:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: site
spec:
  selector:
    matchLabels:
      component: backend
  template:
    metadata:
      labels:
        component: backend
    spec:
      volumes:
        - name: assets
          emptyDir: {}
        - name: nginx-config
          configMap:
            name: nginx-configmap
      containers:
      - name: php
        image: own-image-with-php-backend:v1.0
        command: ["/usr/local/sbin/php-fpm","-F"]
        workingDir: /var/www
        volumeMounts:
        - name: assets
          mountPath: /var/www/assets
      - name: nginx
        image: nginx:1.16.0
        command: ["/usr/sbin/nginx", "-g", "daemon off;"]
        volumeMounts:
        - name: assets
          mountPath: /var/www/assets
        - name: nginx-config
          mountPath: /etc/nginx/conf.d/default.conf
          subPath: nginx.conf

рдЖрддрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реНрд╕ nginx рджреНрд╡рд╛рд░реЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕рд░реНрд╡реНрд╣ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдкрд░рдВрддреБ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЛ рдХреА рд╣рд╛ рдПрдХ рдЖрджрд┐рдо рдЙрдкрд╛рдп рдЖрд╣реЗ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреЗ рдЖрджрд░реНрд╢рд╛рдкрд╛рд╕реВрди рджреВрд░ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдмрд╛рд░рдХрд╛рд╡реЗ рдЖрдгрд┐ рдХрдорддрд░рддрд╛ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдЪреА рдЦрд╛рд▓реА рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЖрд╣реЗ.

рдЕрдзрд┐рдХ рдкреНрд░рдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ

рдЖрддрд╛ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдЬрд┐рдереЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╕рд╛рдЗрдЯрд▓рд╛ рднреЗрдЯ рджрд┐рд▓реА, рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рд╢реИрд▓реА рдЕрд╕рд▓реЗрд▓реЗ рдкреГрд╖реНрда рд▓реЛрдб рдХреЗрд▓реЗ рдЖрдгрд┐ рддреЛ рд╣реЗ рдкреГрд╖реНрда рд╡рд╛рдЪрдд рдЕрд╕рддрд╛рдирд╛, рдЖрдореНрд╣реА рдХрдВрдЯреЗрдирд░ рдкреБрдиреНрд╣рд╛ рддреИрдирд╛рдд рдХреЗрд▓рд╛. рдорд╛рд▓рдорддреНрддрд╛ рдХреЕрдЯрд▓реЙрдЧ рд░рд┐рдХреНрдд рдЭрд╛рд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдирд╡реАрди рдЬрдирд░реЗрдЯ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА PHP рд▓рд╛ рд╡рд┐рдирдВрддреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдпрд╛рдирдВрддрд░рд╣реА, рдЬреБрдиреНрдпрд╛ рд╕реНрдЯреЕрдЯрд┐рдХреНрд╕рдЪреНрдпрд╛ рд▓рд┐рдВрдХреНрд╕ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрд╕рддреАрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рд╕реНрдЯреЕрдЯрд┐рдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдд рддреНрд░реБрдЯреА рд╣реЛрддреАрд▓.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдмрд╣реБрдзрд╛ рдХрдореА рдХрд┐рдВрд╡рд╛ рдЬрд╛рд╕реНрдд рд▓реЛрдб рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЕрд░реНрдЬрд╛рдЪреА рдПрдХ рдкреНрд░рдд рдкреБрд░реЗрд╢реА рдирд╛рд╣реА:

  • рдЪрд▓рд╛ рддреЗ рд╡рд╛рдврд╡реВрдпрд╛ рддреИрдирд╛рдд рдХрд░рдгреЗ рджреЛрди рдкреНрд░рддрд┐рдХреГрддреА рдкрд░реНрдпрдВрдд.
  • рдЬреЗрд╡реНрд╣рд╛ рд╕рд╛рдЗрдЯрд╡рд░ рдкреНрд░рдердо рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рддреЗрд╡реНрд╣рд╛ рдорд╛рд▓рдорддреНрддрд╛ рдПрдХрд╛ рдкреНрд░рддрд┐рдХреГрддреАрдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА.
  • рдХрд╛рд╣реА рдХреНрд╖рдгреА, рдкреНрд░рд╡реЗрд╢рд╛рдиреЗ рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрд▓рд╛ рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ (рд▓реЛрдб рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╣реЗрддреВрдиреЗ), рдЖрдгрд┐ рд╣реА рдорд╛рд▓рдорддреНрддрд╛ рдЕрджреНрдпрд╛рдк рддреЗрдереЗ рдирд╡реНрд╣рддреА. рдХрд┐рдВрд╡рд╛ рдХрджрд╛рдЪрд┐рдд рддреЗ рдпрд╛рдкреБрдвреЗ рдирд╕рддреАрд▓ рдХрд╛рд░рдг рдЖрдореНрд╣реА рд╡рд╛рдкрд░рддреЛ RollingUpdate рдЖрдгрд┐ рдпрд╛рдХреНрд╖рдгреА рдЖрдореНрд╣реА рддреИрдирд╛рдд рдХрд░рдд рдЖрд╣реЛрдд.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдкрд░рд┐рдгрд╛рдо рдкреБрдиреНрд╣рд╛ рдЪреБрдХрд╛ рдЖрд╣реЗ.

рдЬреБрдиреА рдорд╛рд▓рдорддреНрддрд╛ рдЧрдорд╛рд╡реВ рдирдпреЗ рдореНрд╣рдгреВрди, рддреБрдореНрд╣реА рдмрджрд▓реВ рд╢рдХрддрд╛ emptyDir рд╡рд░ hostPath, рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрдордзреНрдпреЗ рд╕реНрдерд┐рд░ рднреМрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдЬреЛрдбрдгреЗ. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рд╡рд╛рдИрдЯ рдЖрд╣реЗ рдХрд╛рд░рдг рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрд╢реА рдмрд╛рдВрдзрдгреЗ рддреБрдордЪрд╛ рдЕрд░реНрдЬ, рдХрд╛рд░рдг - рдЗрддрд░ рдиреЛрдбреНрд╕рд╡рд░ рдЬрд╛рдгреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд - рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реНрд╕ рдирд╕рддреАрд▓. рдХрд┐рдВрд╡рд╛ рдиреЛрдбреНрд╕ рджрд░рдореНрдпрд╛рди рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЙрдкрд╛рдп рдХрд╛рдп рдЖрд╣реЗрдд?

  1. рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрдиреЗ рдкрд░рд╡рд╛рдирдЧреА рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдкрдг рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ cephfs рд╕реНрдерд┐рд░ рдЧрд░рдЬрд╛рдВрд╕рд╛рдареА рддрд┐рддрдХреАрдЪ рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдПрд╕рдПрд╕рдбреА рдбреНрд░рд╛рдЗрд╡реНрд╣рд╕реН, рдХрд┐рдорд╛рди рддреАрди рдкрдЯ рдкреНрд░рддрд┐рдХреГрддреА рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕рдордзреАрд▓ рд╕реНрдерд┐рд░ "рдЬрд╛рдб" рдХрдиреЗрдХреНрд╢рдирдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЗ.
  2. рдХрдореА рдорд╛рдЧрдгреА рдЕрд╕рд▓реЗрд▓рд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгрдЬреЗ NFS рд╕рд░реНрд╡реНрд╣рд░ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ. рддрдерд╛рдкрд┐, рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│реЗрдд рд╕рдВрднрд╛рд╡реНрдп рд╡рд╛рдв рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдЗрдЪреНрдЫрд┐рдд рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╕реЛрдбреЗрд▓. рдЕрдкрдпрд╢рд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рднрдпрдВрдХрд░ рдЖрд╣реЗрдд: рдорд╛рдЙрдВрдЯ рдбреВрдордЪреНрдпрд╛ рдиреБрдХрд╕рд╛рдирд╛рдореБрд│реЗ рдПрд▓рдП рд▓реЛрдбрдЪреНрдпрд╛ рджрдмрд╛рд╡рд╛рдЦрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рдореГрддреНрдпреВ рд╣реЛрддреЛ.

рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдмрд░реЛрдмрд░рдЪ, рд╕рддрдд рд╕реНрдЯреЛрд░реЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд╕реНрд╡рдЪреНрдЫрддрд╛ рдард░рд╛рд╡рд┐рдХ рдХрд╛рд▓рд╛рд╡рдзреАрдд рдЬрдорд╛ рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдИрд▓реНрд╕рдЪреЗ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╕рдВрдЪ. PHP рд╕рд╣ рдХрдВрдЯреЗрдирд░ рд╕рдореЛрд░ рдЖрдкрдг рдареЗрд╡реВ рд╢рдХрддрд╛ рдбреЗрдордирд╕реЗрдЯ рдХреЕрд╢рд┐рдВрдЧ nginx рдкрд╛рд╕реВрди, рдЬреЗ рдорд╛рд▓рдорддреНрддреЗрдЪреНрдпрд╛ рдкреНрд░рддреА рдорд░реНрдпрд╛рджрд┐рдд рдХрд╛рд│рд╛рд╕рд╛рдареА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реЗрд▓. рд╣реЗ рд╡рд░реНрддрди рд╡рд╛рдкрд░реВрди рд╕рд╣рдЬ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддрд╛ рдпреЗрддреЗ proxy_cache рджрд┐рд╡рд╕рд╛рдВрдордзреНрдпреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдбреЗрдкреНрде рдХрд┐рдВрд╡рд╛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕рд╕рд╣.

рд╡рд░ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рддрд░рд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╣ рд╣реА рдкрджреНрдзрдд рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ рдХрд▓реНрдкрдирд╛рд╢рдХреНрддреАрд╕рд╛рдареА рдПрдХ рдореЛрдареЗ рдХреНрд╖реЗрддреНрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ, рдЬреЗ рдХреЗрд╡рд│ рдмрдЬреЗрдЯ рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рдХреНрд╖рдорддрд╛рдВрджреНрд╡рд╛рд░реЗ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗрдд рдЬреЗ рддреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ рд╕рдорд░реНрдерди рдХрд░рддреАрд▓. рдЕрдиреБрднрд╡рд╛рд╡рд░реВрди, рдЖрдкрдг рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдкреНрд░рдгрд╛рд▓реА рдЬрд┐рддрдХреА рд╕реЛрдкреА рдЕрд╕реЗрд▓ рддрд┐рддрдХреА рддреА рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдЕрд╕реЗрд▓. рдЬреЗрд╡реНрд╣рд╛ рдЕрд╕реЗ рд╕реНрддрд░ рдЬреЛрдбрд▓реЗ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд░рд╛рдЦрдгреЗ рдЕрдзрд┐рдХ рдХрдареАрдг рд╣реЛрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рдд рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рдмрд┐рдШрд╛рдбрд╛рддреВрди рдмрд░реЗ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│ рд╡рд╛рдврддреЛ.

рд╢рд┐рдлрд╛рд░рд╕

рдЬрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджреЗрдЦреАрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреНрдпрд╛рдпрдХрд╛рд░рдХ рд╡рд╛рдЯрдд рдЕрд╕реЗрд▓ (рдХреНрд▓рд┐рд╖реНрдЯ, рдорд╣рд╛рдЧ...), рддрд░ рджреБрд╕рд▒реНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдкрд░рд┐рд╕реНрдерд┐рддреА рдкрд╛рд╣рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдмрд╣реБрджрд╛, рдкреНрд░рдХрд▓реНрдк рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдордзреНрдпреЗ рдЦрдгрдгреЗ рдЖрдгрд┐ рдХреЛрдбрдордзреАрд▓ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рд╛, рдкреНрд░рддрд┐рдореЗрддреАрд▓ рдХрд╛рд╣реА рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдиреЗрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ, рд╕рд╛рдордЧреНрд░реАрдЪреА рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдВрд╡рд╛ "рд╡рд╛рд░реНрдорд┐рдВрдЧ рдЕрдк" рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдЕрд╕реЗрдВрдмреНрд▓реА рд╕реНрдЯреЗрдЬрд╡рд░ рдорд╛рд▓рдорддреНрддрд╛ рдкреВрд░реНрд╡рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЪрд╛рд▓рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрдВрд╕рд╛рдареА рдкреВрд░реНрдгрдкрдгреЗ рдЕрдВрджрд╛рдЬ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╡рд░реНрддрди рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рд╕рдорд╛рди рд╕рдВрдЪ рдорд┐рд│рддреЛ.

рдЬрд░ рдЖрдкрдг Yii рдлреНрд░реЗрдорд╡рд░реНрдХрд╕рд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгрд╛рдХрдбреЗ рдкрд░рддрд▓реЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрдд (рдЬреЗ рд▓реЗрдЦрд╛рдЪрд╛ рд╣реЗрддреВ рдирд╛рд╣реА) рд╢реЛрдзрд▓реЗ рдирд╛рд╣реА рддрд░, рджреЛрди рд▓реЛрдХрдкреНрд░рд┐рдп рджреГрд╖реНрдЯрд┐рдХреЛрди рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ:

  1. рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдард┐рдХрд╛рдгреА рдорд╛рд▓рдорддреНрддрд╛ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрджрд▓рд╛. рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдордзреНрдпреЗ рд╣реЗ рд╕реБрдЪрд╡рд▓реЗ/рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ yii2-рд╕реНрдерд┐рд░-рдорд╛рд▓рдорддреНрддрд╛.
  2. рдорд╛рд▓рдорддреНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдВрд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЕрд╢ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛, рдЙрджрд╛. рдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╣реЗ рд╕рд╛рджрд░реАрдХрд░рдг (рд╕реНрд▓рд╛рдЗрдб рдХреНрд░. 35 рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реА). рддрд╕реЗ, рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рд▓реЗрдЦрдХ рд╢реЗрд╡рдЯреА (рдЖрдгрд┐ рдХрд╛рд░рдгрд╛рд╢рд┐рд╡рд╛рдп рдирд╛рд╣реА!) рд╕рд▓реНрд▓рд╛ рджреЗрддреЛ рдХреА рдмрд┐рд▓реНрдб рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдорд╛рд▓рдорддреНрддрд╛ рдПрдХрддреНрд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреНрдпрд╛рдВрдирд╛ рд╕реЗрдВрдЯреНрд░рд▓ рд╕реНрдЯреЛрд░реЗрдЬрд╡рд░ (рдЬрд╕реЗ рдХреА S3) рдЕрдкрд▓реЛрдб рдХрд░рд╛, рдЬреНрдпрд╛рдЪреНрдпрд╛ рд╕рдореЛрд░ CDN рдареЗрд╡рд╛.

рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдлрд╛рдпрд▓реА

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рд▓рд╛рдЧреВ рд╣реЛрдгрд╛рд░реА рдЖрдгрдЦреА рдПрдХ рдХреЗрд╕ рдореНрд╣рдгрдЬреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдлрд╛рдЗрд▓реНрд╕ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдкреБрдиреНрд╣рд╛ рдПрдХ PHP рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд╣реЗ рдЬреЛ рдЕрдкрд▓реЛрдб рдлреЙрд░реНрдорджреНрд╡рд╛рд░реЗ рдлрд╛рдЗрд▓реНрд╕ рд╕реНрд╡реАрдХрд╛рд░рддреЛ, рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдХрд╛рд╣реАрддрд░реА рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдкрд░рдд рдкрд╛рдард╡рддреЛ.

Kubernetes рдордзреНрдпреЗ, рдпрд╛ рдлрд╛рдпрд▓реА рдЬрд┐рдереЗ рдареЗрд╡рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд рддреЗ рд╕реНрдерд╛рди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреАрдВрд╕рд╛рдареА рд╕рд╛рдорд╛рдиреНрдп рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЬрдЯрд┐рд▓рддреЗрд╡рд░ рдЖрдгрд┐ рдпрд╛ рдлрд╛рдпрд▓реАрдВрдЪреНрдпрд╛ рдЪрд┐рдХрд╛рдЯреАрдЪреЗ рдЖрдпреЛрдЬрди рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рд╡рд░ рдирдореВрдж рдХреЗрд▓реЗрд▓реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкрд░реНрдпрд╛рдп рдЕрд╢рд╛ рдард┐рдХрд╛рдгреА рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ, рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣рддреЛ, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрдорддрд░рддрд╛ рдЖрд╣реЗрдд.

рд╢рд┐рдлрд╛рд░рд╕

рдПрдХ рдЙрдкрд╛рдп рдЖрд╣реЗ S3-рд╕реБрд╕рдВрдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ рд╡рд╛рдкрд░реВрди (рдЬрд░реА рддреА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреА рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯреЗрдб рд╢реНрд░реЗрдгреА рдЕрд╕реЗрд▓ рдЬрд╕реЗ рдХреА minio). S3 рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрджрд▓рд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдХреЛрдб рд╕реНрддрд░рд╛рд╡рд░, рдЖрдгрд┐ рд╕рдореЛрд░рдЪреНрдпрд╛ рдЯреЛрдХрд╛рд╡рд░ рд╕рд╛рдордЧреНрд░реА рдХрд╢реА рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдЪ рдЖрд╣реЗ рд▓рд┐рд╣рд┐рд▓реЗ.

рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕рддреНрд░реЗ

рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕рддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЪрдпрдирд╛рдЪреА рд╕рдВрд╕реНрдерд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рдпрд╛ рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдлрд╛рдпрд▓реА рджреЗрдЦреАрд▓ рдЕрд╕рддрд╛рдд, рдЬреНрдпрд╛ рдХреБрдмрд░рдиреЗрдЯрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рджреБрд╕рд░реНтАНрдпрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╕рдВрдкрд▓реНрдпрд╛рд╕ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреВрди рд╕рддрдд рдЕрдзрд┐рдХреГрддрддрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓.

рдЪрд╛рд▓реВ рдХрд░реВрди рд╕рдорд╕реНрдпрд╛ рдЕрдВрд╢рддрдГ рд╕реЛрдбрд╡рд▓реА рдЬрд╛рддреЗ stickySessions рдкреНрд░рд╡реЗрд╢ рд╡рд░ (рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╕рд░реНрд╡ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдВрддреНрд░рдХрд╛рдВрдордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ - рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рдкрд╣рд╛ рдЖрдордЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди)рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЙрдбрд╢реА рдмрд╛рдВрдзрдгреНрдпрд╛рд╕рд╛рдареА:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-test
  annotations:
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"

spec:
  rules:
  - host: stickyingress.example.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /

рдкрд░рдВрддреБ рдпрд╛рдореБрд│реЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рддреИрдирд╛рддреАрдореБрд│реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд.

рд╢рд┐рдлрд╛рд░рд╕

рдЕрд░реНрдЬ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рд╣рд╛ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдорд╛рд░реНрдЧ рдЖрд╣реЗ рдореЗрдордХреЕрд╢реЗрдб, рд░реЗрдбрд┐рд╕ рдЖрдгрд┐ рддрддреНрд╕рдо рд╕рдорд╛рдзрд╛рдирд╛рдВрдордзреНрдпреЗ рд╕рддреНрд░реЗ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреЗ - рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдлрд╛рдЗрд▓ рдкрд░реНрдпрд╛рдп рдкреВрд░реНрдгрдкрдгреЗ рд╕реЛрдбреВрди рджреНрдпрд╛.

рдирд┐рд╖реНрдХрд░реНрд╖

рдордЬрдХреВрд░рд╛рдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реЗ рдкрд╛рдпрд╛рднреВрдд рдЙрдкрд╛рдп рдХреЗрд╡рд│ рддрд╛рддреНрдкреБрд░рддреНрдпрд╛ тАЬрдХреНрд░рдЪреЗрд╕тАЭ (рдЬреЗ рдЗрдВрдЧреНрд░рдЬреАрдордзреНрдпреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореНрд╣рдгреВрди рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╡рд╛рдЯрддрд╛рдд) рд╕реНрд╡рд░реВрдкрд╛рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рдЖрд╣реЗрдд. рддреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдд рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рддреЗ рдореВрд│ рдзрд░реВ рдирдпреЗрдд.

рд╕рд╛рдорд╛рдиреНрдп рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓рд╛ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рдЕрдиреЗрдХрд╛рдВрдирд╛ рдЖрдзреАрдЪ рдЬреНрдЮрд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрд╖рдВрдЧрд╛рдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рддреАрд▓ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдлреЗрд░рдлрд╛рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рддреНрдпрд╛рдВрдЪреА рд╕реБрдЯрдХрд╛ рдХрд░рдгреЗ. 12-рдлреЕрдХреНрдЯрд░ рдЕреЕрдк. рддрдерд╛рдкрд┐, рд╣реЗ - рдЕрд░реНрдЬрд╛рд▓рд╛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдлреЙрд░реНрдордордзреНрдпреЗ рдЖрдгрдгреЗ - рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрдкрд░рд┐рд╣рд╛рд░реНрдпрдкрдгреЗ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЖрдгрд┐ рдпреЗрдереЗ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛/рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрдгрд┐ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ рджреЗрдЦрд░реЗрдЦ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рдпрд╛рдВрдЪреНрдпрд╛рдд рд╕рдВрддреБрд▓рди рд╢реЛрдзрдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. .

PS

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛