рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓рд╣рд░реВ Kubernetes рдорд╛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрджрд╛

рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓рд╣рд░реВ Kubernetes рдорд╛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрджрд╛

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

рдпрджреНрдпрдкрд┐, рддрдкрд╛рдИрд▓реЗ рдХрд╕реИрд▓рд╛рдИ рдкрдирд┐ рджреЗрдЦреНрдиреБрд╣реБрдиреЗ рдЫреИрди рдЬрд╣рд╛рдБ рд╕рд╛рдЗрдЯрдХреЛ рдХреЛрдбрд▓реЗ рддрдпрд╛рд░ рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рдпрд╕рдХреЛ рдердк рдкреНрд░рдпреЛрдЧрдорд╛ рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рд▓рдЧрд╛рдЙрдБрдЫред рд░ рдЬрдм "рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг" рдорд╛ рдпреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ, Kubernetes рдорд╛ рдпреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реБрди рд╕рдХреНрдЫ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЬрдм рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рдпреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рдЬрдмрдХрд┐ рдПрдХ рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╢реАрд▓ рджрд┐рдорд╛рдЧрд▓реЗ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд▓реНрдпрд╛рдЙрди рд╕рдХреНрдЫ рдЬреБрди рд╕реНрдкрд╖реНрдЯ рд╡рд╛ рдкрд╣рд┐рд▓реЛ рдирдЬрд░рдорд╛ рдкрдирд┐ рд░рд╛рдореНрд░реЛ рджреЗрдЦрд┐рдиреНрдЫ ... рдпреЛ рдпрд╛рдж рд░рд╛рдЦреНрдиреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдзреЗрд░реИрдЬрд╕реЛ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрд▓реЗ рдЧрд░реНрди рд╕рдХреНрдЫ рд░ рдЧрд░реНрдиреБрдкрд░реНрдЫред рд╡рд╛рд╕реНрддреБрдЧрдд рд░реВрдкрдорд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН.

рдХреНрд▓рд╕реНрдЯрд░ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрджрд╛ рдЕрдкреНрд░рд┐рдп рдирддрд┐рдЬрд╛рд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрди рд╕рдХреНрдиреЗ рдлрд╛рдЗрд▓рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╣реЗрд░реМрдВ, рд░ рдердк рд╕рд╣реА рдорд╛рд░реНрдЧ рдкрдирд┐ рдФрдВрд▓реНрдпрд╛рдФрдВред

рд╕реНрдерд┐рд░ рднрдгреНрдбрд╛рд░рдг

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

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

рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдпрд╕рдХреЛ рдЕрд░реНрде рдХреЗ рд╣реЛ?

рд╕рдмреИрднрдиреНрджрд╛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓рд╛ рд▓рд┐рдиреБрд╣реЛрд╕реН, рдЬрдм PHP рд▓рд╛рдИ рд╕реНрдерд┐рд░ рдбрд╛рдЯрд╛ рд╡рд┐рддрд░рдг рдЧрд░реНрди рд░ рд╕рд╛рдзрд╛рд░рдг рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди nginx рджреНрд╡рд╛рд░рд╛ рдЕрдШрд┐ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕рдмреИрднрдиреНрджрд╛ рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ - рддреИрдирд╛рде рджреБрдИ рдХрдиреНрдЯреЗрдирд░ рд╕рдВрдЧ:

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 рд╕рд░реНрднрд░ рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рд╣реБрдиреЗрдЫред рдпрджреНрдпрдкрд┐, рддреНрдпрд╕реЛрднрдП рддрдкрд╛рдИрдВрд▓реЗ рд╡реЗрдм рд╕рд░реНрднрд░рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордпрдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╡реГрджреНрдзрд┐рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рд░ рдЧрд▓реНрддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛рд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рдзреЗрд░реИ рдЫреЛрдбреНрдиреЗрдЫред рдЕрд╕рдлрд▓рддрд╛рдХрд╛ рдирддрд┐рдЬрд╛рд╣рд░реВ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реБрдиреНрдЫрдиреН: рдорд╛рдЙрдиреНрдЯ рдбреВрдордХреЛ рд╣рд╛рдирд┐рд▓реЗ рдЖрдХрд╛рд╢рдорд╛ рджреМрдбрд┐рд░рд╣реЗрдХреЛ LA рд▓реЛрдбрдХреЛ рдЖрдХреНрд░рдордг рдЕрдиреНрддрд░реНрдЧрдд рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛рдИ рдореГрддреНрдпреБрдорд╛ рдкреБрд░реНтАНрдпрд╛рдЙрдБрдЫред

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

рдорд╛рдерд┐ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╡рд┐рддрд░рд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдпрд╕ рд╡рд┐рдзрд┐рдХреЛ рд╕рдВрдпреЛрдЬрдирд▓реЗ рдХрд▓реНрдкрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдареВрд▓реЛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдХреЗрд╡рд▓ рдмрдЬреЗрдЯ рд░ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдХреНрд╖рдорддрд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗрдЫред рдЕрдиреБрднрд╡рдмрд╛рдЯ, рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдкреНрд░рдгрд╛рд▓реА рд╕рд░рд▓, рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдпреЛ рдХрд╛рдо рдЧрд░реНрджрдЫред рдЬрдм рддреНрдпрд╕реНрддрд╛ рддрд╣рд╣рд░реВ рдердкрд┐рдиреНрдЫрдиреН, рдпреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫ, рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдирд┐рджрд╛рди рд░ рдХреБрдиреИ рдкрдирд┐ рд╡рд┐рдлрд▓рддрд╛рдмрд╛рдЯ рдкреБрди: рдкреНрд░рд╛рдкреНрддрд┐рдорд╛ рдЦрд░реНрдЪ рд╣реБрдиреЗ рд╕рдордп рдмрдвреНрдЫред

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

рдпрджрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рднрдгреНрдбрд╛рд░рдг рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрдирд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрдЪрд┐рдд рджреЗрдЦрд┐рдиреНрдЫ (рдЬрдЯрд┐рд▓, рдорд╣рдБрдЧреЛ ...), рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдЕрд░реНрдХреЛ рдкрдХреНрд╖рдмрд╛рдЯ рд╕реНрдерд┐рддрд┐ рд╣реЗрд░реНрди рд▓рд╛рдпрдХ рдЫред рдЕрд░реНрдерд╛рддреН, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдорд╛ рдЦрдиреНрди рд░ рдХреЛрдбрдорд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЫрд╡рд┐рдорд╛ рдХреЗрд╣реА рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫ, рд╕рд╛рдордЧреНрд░реАрдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рд╡рд╛ "рд╡рд╛рд░реНрдорд┐рдЩ рдЕрдк" рд░/рд╡рд╛ рдЫрд╡рд┐ рд╕рдВрдпреЛрдЬрди рдЪрд░рдгрдорд╛ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рдкреВрд░реНрд╡рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рд╣рд╛рдореА рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд░ рд╕рдмреИ рд╡рд╛рддрд╛рд╡рд░рдг рд░ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕рдорд╛рди рд╕реЗрдЯ рдкрд╛рдЙрдБрдЫреМрдВред

рдпрджрд┐ рд╣рд╛рдореА Yii рдврд╛рдБрдЪрд╛рдХреЛ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдлрд░реНрдХрд┐рдпреМрдВ рд░ рдпрд╕рдХреЛ рд╕рдВрд░рдЪрдирд╛ (рдЬреБрди рд▓реЗрдЦрдХреЛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдЗрди) рдорд╛ рдЧрд╣рд┐рд░рд┐рдПрдиреМрдВ рднрдиреЗ, рдпреЛ рджреБрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдФрдВрд▓реНрдпрд╛рдЙрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ:

  1. рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд╛рдирдорд╛ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рд░рд╛рдЦреНрди рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдЬрд╕реНрддреИ рд╡рд┐рд╕реНрддрд╛рд░ рдорд╛ рд╕реБрдЭрд╛рд╡ / рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ yii2-static-assets.
  2. рд╕рдореНрдкрддреНрддрд┐ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реНрдпрд╛рд╕рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░ред рдпреЛ рдкреНрд░рд╕реНрддреБрддрд┐ (рд╕реНрд▓рд╛рдЗрдб рдирдореНрдмрд░ рейрел рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдБрджреИ)ред рд╡реИрд╕реЗ, рд░рд┐рдкреЛрд░реНрдЯрдХреЛ рд▓реЗрдЦрдХрд▓реЗ рдЕрдиреНрддрддрдГ (рд░ рдмрд┐рдирд╛ рдХрд╛рд░рдг рд╣реЛрдЗрди!) рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рдиреНрдЫ рдХрд┐ рдирд┐рд░реНрдорд╛рдг рд╕рд░реНрднрд░рдорд╛ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рдЬрдореНрдорд╛ рдЧрд░реЗрдкрдЫрд┐, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреЗрдиреНрджреНрд░реАрдп рднрдгреНрдбрд╛рд░рдг (рдЬрд╕реНрддреИ S35) рдорд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕рдХреЛ рдЕрдЧрд╛рдбрд┐ CDN рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред

рдбрд╛рдЙрдирд▓реЛрдбрд╣рд░реВ

Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрджрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдЦреЗрд▓рдорд╛ рдЖрдЙрдиреЗ рдЕрд░реНрдХреЛ рдХреЗрд╕рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджреИрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд╕рдБрдЧ рдлреЗрд░рд┐ рдПрдЙрдЯрд╛ 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: /

рддрд░ рдпрд╕рд▓реЗ рдмрд╛рд░рдореНрдмрд╛рд░ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯрдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИрдиред

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

рдПрдХ рдердк рд╕рд╣реА рддрд░рд┐рдХрд╛ рдорд╛ рдЖрд╡реЗрджрди рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд╣реБрдиреЗрдЫ memcached, Redis рд░ рд╕рдорд╛рди рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдорд╛ рд╕рддреНрд░рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджреИ - рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдлрд╛рдЗрд▓ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддреНрдпрд╛рдЧреНрдиреБрд╣реЛрд╕реНред

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

рдкрд╛рдардорд╛ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХрд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдЕрд╕реНрдерд╛рдпреА "рдмреИрд╕рд╛рдЦреА" рдХреЛ рдврд╛рдБрдЪрд╛рдорд╛ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдпреЛрдЧреНрдп рдЫрдиреН (рдЬрд╕рд▓рд╛рдИ рдЕрдЩреНрдЧреНрд░реЗрдЬреАрдорд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдбрдХреЛ рд░реВрдкрдорд╛ рдЕрдЭ рд╕реБрдиреНрджрд░ рд▓рд╛рдЧреНрдЫ)ред рддрд┐рдиреАрд╣рд░реВ Kubernetes рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдгрдХреЛ рдкрд╣рд┐рд▓реЛ рдЪрд░рдгрд╣рд░реВрдорд╛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рд╣реБрди рд╕рдХреНрдЫрдиреН, рддрд░ рд░реВрдЯ рд▓рд┐рдиреБ рд╣реБрдБрджреИрдиред

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

PS

рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди