ืœืืงืืœืข ื˜ืขืงืขืก ื•ื•ืขืŸ ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• Kubernetes

ืœืืงืืœืข ื˜ืขืงืขืก ื•ื•ืขืŸ ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• Kubernetes

ื•ื•ืขืŸ ืื™ืจ ื‘ื•ื™ืขืŸ ืึท ืกื™ / ืงืึธืžืคึผืึทืงื˜ื“ื™ืกืง ืคึผืจืึธืฆืขืก ื ื™ืฆืŸ Kubernetes, ืžืืœ ื“ื™ ืคึผืจืึธื‘ืœืขื ืขืจื™ื™ื–ืึทื– ืคื•ืŸ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ ื“ื™ ื ื™ื™ึท ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ืขืก. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ืื™ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื‘ื•ื™ืขืŸ ื‘ื™ื ืข ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื‘ืึทืงื•ืžืขืŸ ืžืขืŸ ื‘ื™ืœื“ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืึทืœืข ืคึผืจื•ื™ืขืงื˜ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืื•ืŸ ืงืœืึทืกื˜ืขืจื–. ื“ืขื ืคึผืจื™ื ืฆื™ืคึผ ืึทื ื“ืขืจืœื™ื™ื– ื“ื™ ืจื™ื›ื˜ื™ืง ืœื•ื™ื˜ Google ืงืึทื ื˜ื™ื™ื ืขืจ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ (ืžืขืจ ื•ื•ื™ ืึทืžืึธืœ ื•ื•ืขื’ืŸ ื“ืขื ื’ืขืจืขื“ื˜ ืื•ืŸ ืื•ื ื“ื–ืขืจ ื˜ืขื›ื ื™ืฉ ืึธืคึผื˜ื™ื™ืœื•ื ื’).

ืึธื‘ืขืจ, ืื™ืจ ื•ื•ืขื˜ ื ื™ื˜ ื–ืขืŸ ื•ื•ืขืจ ืขืก ื™ื– ืื™ืŸ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ื•ื•ื• ื“ื™ ืคึผืœืึทืฅ ืงืึธื“ ื ื™ืฆื˜ ืึท ืคืึทืจื˜ื™ืง ืคืจื™ื™ืžื•ื•ืขืจืง, ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื•ื•ืึธืก ื™ืžืคึผืึธื•ื–ื™ื– ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืื•ื™ืฃ ื–ื™ื™ึทืŸ ื•ื•ื™ื™ึทื˜ืขืจ ื ื•ืฆืŸ. ืื•ืŸ ื‘ืฉืขืช ืื™ืŸ ืึท "ื ืึธืจืžืึทืœ ืกื•ื•ื™ื•ื•ืข" ื“ืึธืก ืื™ื– ื’ืจื™ื ื’ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜, ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ื“ืขื ื ืึทื˜ื•ืจ ืงืขื ืขืŸ ื•ื•ืขืจืŸ ืึท ืคึผืจืึธื‘ืœืขื, ืกืคึผืขืฆื™ืขืœ ื•ื•ืขืŸ ืื™ืจ ื˜ืจืขืคืŸ ืขืก ืคึฟืึทืจ ื“ื™ ืขืจืฉื˜ืขืจ ืžืึธืœ. ื›ืึธื˜ืฉ ืึท ื™ื ื•ื•ืขื ื˜ื™ื•ื• ืžื™ื™ื ื•ื ื’ ืงืขื ืขืŸ ืงื•ืžืขืŸ ืึทืจื•ื™ืฃ ืžื™ื˜ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืกืึทืœื•ืฉืึทื ื– ื•ื•ืึธืก ื•ื™ืกืงื•ืžืขืŸ ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’ ืึธื“ืขืจ ืืคื™ืœื• ื’ื•ื˜ ืื™ืŸ ืขืจืฉื˜ืขืจ ื‘ืœื™ืง ... ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื’ืขื“ืขื ืงืขืŸ ืึทื– ืจื•ื‘ึฟ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ืงืขื ืขืŸ ืื•ืŸ ื–ืึธืœ ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจืึทืœื™.

ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ืคืึธืœืงืก ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ ืกืึทืœื•ืฉืึทื ื– ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื˜ืขืงืขืก ื•ื•ืึธืก ืงืขื ืขืŸ ืคื™ืจืŸ ืฆื• ืคึผืจื™ืงืจืข ืงืึทื ืกืึทืงื•ื•ืขื ืกืึทื– ื•ื•ืขืŸ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืึท ืงื ื•ื™ืœ, ืื•ืŸ ืื•ื™ืš ืึธื ื•ื•ื™ื™ึทื–ืŸ ืึท ืžืขืจ ืจื™ื›ื˜ื™ืง ื•ื•ืขื’.

ืกื˜ืึทื˜ื™ืง ืกื˜ืึธืจื™ื“ื–ืฉ

ืฆื• ืื™ืœื•ืกื˜ืจื™ืจืŸ, ื‘ืึทื˜ืจืึทื›ื˜ืŸ ืึท ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืึธืก ื ื™ืฆื˜ ืึท ืžื™ืŸ ืคื•ืŸ ืกื˜ืึทื˜ื™ืง ื’ืขื ืขืจืึทื˜ืึธืจ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ืกื›ื•ื ืคื•ืŸ ื‘ื™ืœื“ืขืจ, ืกื˜ื™ื™ืœื– ืื•ืŸ ืื ื“ืขืจืข ื–ืื›ืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ 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 config ื‘ื•ื™ืœื– ืึทืจืึธืคึผ ืฆื• ื“ื™ ืคืืœื’ืขื ื“ืข:

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 ื•ื•ื™ื™ืกื˜ ื’ืึธืจื ื™ืฉื˜ ื•ื•ืขื’ืŸ ื“ื™ ืกื˜ืึทื˜ื™ืง ื˜ืขืงืขืก, ื•ื•ืึธืก (ืœื•ื™ื˜ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ) ื–ืึธืœ ื–ื™ื™ืŸ ื’ืขื’ืขื‘ืŸ ืฆื• ื–ื™ื™. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ืขืจ ืงืœื™ืขื ื˜ ื•ื•ืขื˜ ื–ืขืŸ ืึท 404 ื˜ืขื•ืช ืคึฟืึทืจ ืึทืœืข ืจื™ืงื•ื•ืขืก ืฆื• CSS ืื•ืŸ JS ื˜ืขืงืขืก. ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ืœื™ื™ื–ื•ื ื’ ื“ืึธ ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืึท ืคึผืจืึธืกื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจื–. ืคึผืจื™ืžื™ื˜ื™ื•ื• ืึธืคึผืฆื™ืข - ืึทืœื’ืขืžื™ื™ืŸ 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. ื˜ื•ื™ืฉืŸ ื“ื™ ื‘ื™ืœื“ ื‘ื•ื™ืขืŸ ืคึผืจืึธืฆืขืก ืฆื• ืฉื˜ืขืœืŸ ืึทืกืขืฅ ืื™ืŸ ืึท ืคึผืจื™ื“ื™ืงื˜ืึทื‘ืึทืœ ืึธืจื˜. ื“ืึธืก ืื™ื– ืกืึทื’ื“ื–ืฉืขืกื˜ื™ื“ / ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ื™ืงืกื˜ืขื ืฉืึทื ื– ื•ื•ื™ ื™ื™2-ืกื˜ืึทื˜ื™ืง-ืึทืกืขืฅ.
  2. ื“ืขืคื™ื ื™ืจืŸ ืกืคึผืขืฆื™ืคื™ืฉ ื”ืึทืฉืขืก ืคึฟืึทืจ ืึทืกืขื˜ ื“ื™ืจืขืงื˜ืขืจื™ื–, ื•ื•ื™ ื“ื™ืกืงืึทืกื˜ ืื™ืŸ ืœืžืฉืœ. ื“ืขื ืคึผืจืขื–ืขื ื˜ื™ืจื•ื ื’ (ืกื˜ืึทืจื˜ื™ื ื’ ืคื•ืŸ ืจื•ืง ื ื•ืž 35). ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ื“ืขืจ ืžื—ื‘ืจ ืคื•ืŸ ื“ืขื ื‘ืึทืจื™ื›ื˜ ืœืขืกืึธืฃ (ืื•ืŸ ื ื™ื˜ ืึธืŸ ืกื™ื‘ื”!) ืึทื“ื•ื•ื™ื™ื–ื™ื– ืึทื– ื ืึธืš ืึทืกืขืžื‘ืึทืœ ืึทืกืขืฅ ืื•ื™ืฃ ื“ื™ ื‘ื•ื™ืขืŸ ืกืขืจื•ื•ืขืจ, ืฆื•ืคึฟืขืœื™ืงืขืจ ื–ื™ื™ ืฆื• ืึท ื”ื•ื™ืคื˜ ืกื˜ืึธืจื™ื“ื–ืฉ (ื•ื•ื™ S3), ืื™ืŸ ืคืจืึธื ื˜ ืคื•ืŸ ื•ื•ืึธืก ืฉื˜ืขืœืŸ ืึท CDN.

ื“ืึธื•ื•ื ืœืึธืึทื“ืึทื‘ืœืข ื˜ืขืงืขืก

ืืŸ ืื ื“ืขืจ ืคืึทืœ ื•ื•ืึธืก ื•ื•ืขื˜ ื‘ืืฉื˜ื™ืžื˜ ืงื•ืžืขืŸ ืื™ืŸ ืฉืคึผื™ืœ ื•ื•ืขืŸ ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ืึท Kubernetes ืงื ื•ื™ืœ ืื™ื– ืกื˜ืึธืจื™ื ื’ ื‘ืึทื ื™ืฆืขืจ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื˜ืขืงืข ืกื™ืกื˜ืขื. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื”ืึธื‘ืŸ ื•ื•ื™ื“ืขืจ ืึท PHP ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทื– ืึทืงืกืขืคึผืฅ ื˜ืขืงืขืก ื“ื•ืจืš ืึท ื•ืคึผืœืึธืึทื“ ืคืึธืจืขื, ื˜ื•ื˜ ืขืคึผืขืก ืžื™ื˜ ื–ื™ื™ ื‘ืขืฉืึทืก ืึธืคึผืขืจืึทืฆื™ืข ืื•ืŸ ืกืขื ื“ื– ื–ื™ื™ ืฆื•ืจื™ืง.

ืื™ืŸ Kubernetes, ื“ืขืจ ืึธืจื˜ ื•ื•ื• ื“ื™ ื˜ืขืงืขืก ื–ืึธืœ ื–ื™ื™ืŸ ื’ืขืฉื˜ืขืœื˜ ื–ืึธืœ ื–ื™ื™ืŸ ืคึผืจืึธืกื˜ ืคึฟืึทืจ ืึทืœืข ืจืขืคึผืœืึทืงืึทื– ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ื“ืขืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ื“ื™ ืคึผืขืจืกื™ืกื˜ืึทื ืก ืคื•ืŸ ื“ื™ ื˜ืขืงืขืก, ื“ื™ ืื•ื™ื‘ืŸ-ื“ืขืจืžืื ื˜ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืฉืขืจื“ ืžื™ื˜ืœ ืงืขืŸ ื–ื™ื™ืŸ ืึทื–ืึท ืึท ืคึผืœืึทืฅ, ืึธื‘ืขืจ, ื•ื•ื™ ืžื™ืจ ื–ืขืŸ, ื–ื™ื™ ื”ืึธื‘ืŸ ื–ื™ื™ืขืจ ื“ื™ืกืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–.

ืจืขืงืึธืžืžืขื ื“ืึทื˜ื™ืึธืŸ

ืื™ื™ืŸ ืœื™ื™ื–ื•ื ื’ ืื™ื– ื ื™ืฆืŸ S3-ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืกื˜ืึธืจื™ื“ื–ืฉ (ืืคื™ืœื• ืื•ื™ื‘ ืขืก ืื™ื– ืึท ืžื™ืŸ ืคื•ืŸ ื–ื™ืš-ื›ืึธื•ืกื˜ื™ื“ ืงืึทื˜ืขื’ืึธืจื™ืข ื•ื•ื™ ืžื™ื ื™ืึธ). ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• S3 ื•ื•ืขื˜ ื“ืึทืจืคืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื•ื™ืฃ ื“ื™ ืงืึธื“ ืžื“ืจื’ื”, ืื•ืŸ ื•ื•ื™ ืื™ื ื”ืึทืœื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื‘ืขืจื’ืขื’ืขื‘ืŸ ืื•ื™ืฃ ื“ื™ ืคืจืึธื ื˜ ืกื•ืฃ, ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ะฟะธัะฐะปะธ.

ื‘ืึทื ื™ืฆืขืจ ืกืขืฉืึทื ื–

ืกืขืคึผืขืจืึทื˜ืœื™, ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ื“ื™ ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืกื˜ืึธืจื™ื“ื–ืฉ ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืกืขืฉืึทื ื–. ืึธืคื˜ ื“ืึธืก ื–ืขื ืขืŸ ืื•ื™ืš ื˜ืขืงืขืก ืื•ื™ืฃ ื“ื™ืกืง, ื•ื•ืึธืก ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ Kubernetes ื•ื•ืขื˜ ืคื™ืจืŸ ืฆื• ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื•ื™ื‘ ื–ื™ื™ืŸ ื‘ืงืฉื” ืขื ื“ืก ืื™ืŸ ืืŸ ืื ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ.

ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื˜ื™ื™ืœ ืกืึทืœื•ื•ื“ ื“ื•ืจืš ื˜ื•ืจื ื™ื ื’ ืื•ื™ืฃ 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: /

ืึธื‘ืขืจ ื“ืึธืก ื•ื•ืขื˜ ื ื™ืฉื˜ ืขืœื™ืžื™ื ื™ืจืŸ ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ืจื™ืคึผื™ื˜ื™ื“ ื“ื™ืคึผืœื•ื™ืžืึทื ืฅ.

ืจืขืงืึธืžืžืขื ื“ืึทื˜ื™ืึธืŸ

ื ืžืขืจ ืจื™ื›ื˜ื™ืง ื•ื•ืขื’ ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ืกื˜ืึธืจื™ื ื’ ืกืขืฉืึทื ื– ืื™ืŸ ืžืขืžืงืึทื˜ืฉืขื“, Redis ืื•ืŸ ืขื ืœืขืš ืกืึทืœื•ืฉืึทื ื– - ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื’ืึธืจ ืคืึทืจืœืึธื–ืŸ ื˜ืขืงืข ืึธืคึผืฆื™ืขืก.

ืกืึธืฃ

ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืกืึทืœื•ืฉืึทื ื– ื“ื™ืกืงืึทืกื˜ ืื™ืŸ ื“ืขื ื˜ืขืงืกื˜ ื–ืขื ืขืŸ ื•ื•ืขืจื˜ ืฆื• ื ื•ืฆืŸ ื‘ืœื•ื™ื– ืื™ืŸ ื“ื™ ืคึฟืึธืจืžืึทื˜ ืคื•ืŸ ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง "ืงืจืึทื˜ืฉื™ื–" (ื•ื•ืึธืก ืกืึธื•ื ื“ืก ืžืขืจ ืฉื™ื™ืŸ ืื™ืŸ ืขื ื’ืœื™ืฉ ื•ื•ื™ ื•ื•ืึธืจืงืึทืจืึธื•ื ื“). ื–ื™ื™ ืงืขืŸ ื–ื™ื™ืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืกื˜ืึทื’ืขืก ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ื˜ื™ื ื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• Kubernetes, ืึธื‘ืขืจ ื–ืึธืœ ื ื™ืฉื˜ ื•ื•ืึธืจืฆืœ.

ื“ืขืจ ื’ืขื ืขืจืึทืœ ืจืขืงืึทืžืขื ื“ื™ื“ ื•ื•ืขื’ ืื™ื– ืฆื• ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ื–ื™ื™ ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืคื•ืŸ โ€‹โ€‹ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจืึทืœ ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธืŸ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื•ื•ืึธืก ืื™ื– ืฉื•ื™ืŸ ื‘ืึทื•ื•ื•ืกื˜ ืคึฟืึทืจ ืคื™ืœืข 12-ืคืึทืงื˜ืึธืจ ืึทืคึผ. ืึธื‘ืขืจ, ื“ืึธืก - ื‘ืจืขื ื’ืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ืึท ืกื˜ืขื™ื˜ืœืขืกืก ืคืึธืจืขื - ื™ื ืขื•ื•ืึทื˜ืึทื‘ืœื™ ืžื™ื˜ืœ ืึทื– ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ืงืึธื“ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืืจืœืื ื’ื˜, ืื•ืŸ ื“ืึธ ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืึท ื•ื•ืึธื’ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– / ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคื•ืŸ ื“ื™ ื’ืขืฉืขืคื˜ ืื•ืŸ ื“ื™ ืคึผืจืึทืกืคึผืขืงืก ืคึฟืึทืจ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืื•ืŸ ืžื™ื™ื ื˜ื™ื™ื ื™ื ื’ ื“ื™ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ืข ื•ื•ืขื’. .

ืคึผืก

ืœื™ื™ืขื ืขืŸ ืื•ื™ืš ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’