ืืืขื ืืืจ ืืืืขื ืึท ืกื / ืงืึธืืคึผืึทืงืืืืกืง ืคึผืจืึธืฆืขืก ื ืืฆื 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 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
, ืึทืืื ื ืกืืึทืืืง ืคืืืืงืื ืฆื ืึท ืงื ืืื ื ืึธืืข. ืืขื ืฆืืืึทื ื ืืื ืฉืืขืื ืืืืึทื ืืืจ ืคืืงืืืฉ ืืึธืื ืฆื ืืื ืื ืฆื ืึท ืกืคึผืขืฆืืคืืฉ ืงื ืืื ื ืึธืืข ืืืื ืึทืคึผืืึทืงืืืฉืึทื, ืืืืึทื - ืืื ืคืึทื ืคืื ืืึธืืืื ื ืฆื ืื ืืขืจืข ื ืึธืืื - ืืขืจ ืืืขืืืืืึทืืขืจ ืืืขื ื ืืฉื ืึทื ืืืึทืืื ืื ื ืืืืืง ืืขืงืขืก. ืึธืืขืจ ืขืืืขืืข ืกืึธืจื ืคืื ืืื ืืขืจืืจืื ื ืืืขืืืืืึทืืขืจ ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืฆืืืืฉื ื ืึธืืื ืืื ืคืืจืืื ืื.
ืืืึธืก ืืขื ืขื ืื ืกืึทืืืฉืึทื ื?
- ืืืื ืืึทืื ืืืึทืจื ืืื ืจืขืกืืจืกื ืืึธืื, ืืืจ ืงืขื ืขื ื ืืฆื
cephfs ืฆื ืึธืจืืึทื ืืืืจื ืึทื ืืืืึทื ืฆืืืจืืืืขื ืืืขืืืืืึทืืขืจ ืคึฟืึทืจ ืกืืึทืืืง ืืืืขืจืคืขื ืืฉื.ืืึทืึทืืืขืจ ืืึทืงืืืืขื ืืืืฉืึทื ืจืขืงืึทืืขื ืื ืกืกื ืืจืืืืื, ืืื ืืื ืืกืืขืจ ืืจืื-ืคืึทืจืืืืื ืจืขืคึผืืึทืงืืืฉืึทื ืืื ืึท ืกืืึทืืื "ืืืง" ืงืฉืจ ืฆืืืืฉื ืงื ืืื ื ืึธืืื. - ื ืืืืื ืืงืขืจ ืคืืืขืจื ืึธืคึผืฆืืข ืืืึธืื ืืืื ืฆื ืึธืจืืึทื ืืืืจื ืึท NFS ืกืขืจืืืขืจ. ืึธืืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ื ืขืืขื ืืื ืืฉืืื ืื ืืขืืืขื ืคืึทืจืืจืขืกืขืจื ืืื ืขื ืืคืขืจ ืฆืืื ืคึฟืึทืจ ืคึผืจืึทืกืขืกืื ื ืจืืงืืืขืก ืืืจื ืื ืืืขื ืกืขืจืืืขืจ, ืืื ืฉืืื ืืึธืืขืจืึทื ืฅ ืืืขื ืืึธืื ืคืื ืฆื ืืืื ืืขืืืืื. ืื ืงืึทื ืกืึทืงืืืขื ืกืึทื ืคืื ืืืจืืคืึทื ืืขื ืขื ืงืึทืืึทืกืืจืึธืคืืง: ืื ืึธื ืืืขืจ ืคืื ืื ืืึทืจื ืืืื ืื ืงื ืืื ืฆื ืืืื ืืื ืืขืจ ืื ืืจืืง ืคืื ืื ืืึท ืืึทืกืข ืจืึทืฉืื ื ืืื ืื ืืืื.
ืฆืืืืฉื ืื ืืขืจืข ืืืื, ืึทืืข ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืงืจืืืืืื ื ืคึผืขืจืกืืกืืขื ื ืกืืึธืจืืืืฉ ืืืขื ืืึทืจืคื ืืื ืืขืจืืจืื ื ืจืืื ืืงืื ื ืึทืืืืืืืื ืฉืืขืื ืคืื ืืขืงืขืก ืึทืงืืืืืึทืืืืืื ืืืืขืจ ืึท ืืืืขืจ ืฆืืื. ืืื ืคืจืึธื ื ืคืื ืงืึทื ืืืื ืขืจื ืืื PHP ืืืจ ืงืขื ืขื ืฉืืขืื ืืึทืขืืึธื ืกืขื ืคึฟืื ืงืึทืืฉืื ื nginx, ืืืึธืก ืืืขื ืงืจืึธื ืงืืคืืขืก ืคืื ืึทืกืขืฅ ืคึฟืึทืจ ืึท ืืืืืืขื ืฆืืื. ืืขื ื ืึทืืืจ ืืื ืืืืื ืงืึทื ืคืืืืขืจืึทืืึทื ื ืืฆื proxy_cache
ืืื ืกืืึธืจืืืืฉ ืืืคืงืืึทื ืืื ืืขื ืึธืืขืจ ืืืืืืืื ืคืื ืืืกืง ืคึผืืึทืฅ.
ืงืึทืืืืื ืื ื ืืขื ืืืคึฟื ืืื ืื ืคืื ืื ืืขืจืืขืืืืื ืืขืงืข ืกืืกืืขืืขื ืืขืจืืื ื ืืืืื ืืื ืึท ืจืืืืง ืคืขืื ืคึฟืึทืจ ืคืึทื ืืึทืืืข, ืืืืืืขื ืืืืื ืืืจื ืื ืืืืืฉืขื ืืื ืืขืื ืืฉ ืคึผืึธืืขื ืฆืืขื ืคืื ืื ืืืืก ืืืขื ืื ืกืืจืืืขื ื ืืื ืฉืืืฆื ืขืก. ืคืื ืืขืจืคืึทืจืื ื, ืืืจ ืงืขื ืขื ืืึธืื ืึทื ืื ืกืืืคึผืืขืจ ืื ืกืืกืืขื, ืื ืืขืจ ืกืืึทืืื ืขืก ืึทืจืืขื. ืืืขื ืืขื ืืืืื ืฆื ืืืขืืืข ืฉืืืื ืืืขืจื ืืกืื ืฉืืืขืจืขืจ ืืืืคืฆืืืืืื ืื ืืื ืคืจืืกืืจืืงืืืจ, ืืื ืืืืืืฆืืืืืง ืืืืงืกื ืื ืฆืืื ืืืืก ืืขื ืคืืจืืจืืื ืืืืฃ ืืืืื ืืืืจื ืืื ืฆืืจืืงืงืจืืื ืคืื ืกืื ืืืขืืืข ืืืจืืคืื.
ืจืขืงืึธืืืขื ืืึทืืืึธื
ืืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืคืืจืืขืืืืื ืกืืึธืจืืืืฉ ืึธืคึผืฆืืขืก ืืื ืืืื ืืืืืขืจืขืื ืคึฟืึทืจ ืืืจ (ืงืึธืืคึผืืืฆืืจื, ืืืึทืขืจ ...), ืขืก ืืื ืืืขืจื ืฆื ืงืืงื ืืื ืื ืกืืืืึทืฆืืข ืคึฟืื ืื ืื ืืขืจืข ืืืึทื. ื ืืืืื, ืฆื ืืจืึธืื ืืื ืื ืคึผืจืืืขืงื ืึทืจืงืึทืืขืงืืฉืขืจ ืืื ืคืึทืจืจืืืื ืืขื ืคึผืจืึธืืืขื ืืื ืื ืงืึธื, ืืืื ืฆื ืขืืืขืืข ืกืืึทืืืง ืืึทืื ืกืืจืืงืืืจ ืืื ืื ืืืื, ืึท ืึทื ืึทืืืืืืืึทืก ืืขืคึฟืื ืืฆืืข ืคืื โโโโืื ืืื ืืึทืื ืึธืืขืจ ืคึผืจืึธืฆืขืืืจ ืคึฟืึทืจ "ืืืึธืจืืื ื ืึทืจืืืฃ" ืืื / ืึธืืขืจ ืคึผืจืืงืึธืืคึผืืืืื ื ืึทืกืขืฅ ืืื ืื ืืืื ืคึฟืึทืจืืึทืืืื ื ืืื ืข. ืืขื ืืืขื ืืืจ ืืึทืงืืืขื ืืขืืึทืืจืข ืคึผืจืืืืงืืึทืืึทื ื ืึทืืืจ ืืื ืืขืจ ืืขืืืืงืขืจ ืืึทื ื ืคืื ืืขืงืขืก ืคึฟืึทืจ ืึทืืข ืื ืืืืืจืึทื ืืึทื ืฅ ืืื ืจืขืคึผืืึทืงืึทื ืคืื ืื ืคืืืกื ืืืง ืึทืคึผืืึทืงืืืฉืึทื.
ืืืื ืืืจ ืฆืืจืืงืงืืืขื ืฆื ืื ืกืคึผืขืฆืืคืืฉ ืืืึทืฉืคึผืื ืืื ืื Yii ืคืจืืืืืืขืจืง ืืื ืืึธื ื ืื ืืขืืืขืืึธืคึผ ืืื ืืืึทื ืกืืจืืงืืืจ (ืืืึธืก ืืื ื ืืฉื ืืขืจ ืฆืื ืคืื ืืขื ืึทืจืืืงื), ืขืก ืืื ืืขื ืื ืฆื ืคืื ื ืืืืก ืฆืืืื ืคืึธืืงืก ืึทืคึผืจืึธืืืฉืื:
- ืืืืฉื ืื ืืืื ืืืืขื ืคึผืจืึธืฆืขืก ืฆื ืฉืืขืื ืึทืกืขืฅ ืืื ืึท ืคึผืจืืืืงืืึทืืึทื ืึธืจื. ืืึธืก ืืื ืกืึทืืืืฉืขืกืืื / ืืืคึผืืึทืืขื ืึทื ืืื ืืงืกืืขื ืฉืึทื ื ืืื
ืื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, ืึธืืขืจ ืืึธื ื ืืฉื ืืืึธืจืฆื.
ืืขืจ ืืขื ืขืจืึทื ืจืขืงืึทืืขื ืืื ืืืขื ืืื ืฆื ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืืื ืืื ืืืืืืข ืคืื โโืึทืจืงืึทืืขืงืืฉืขืจืึทื ืืึธืืืคืืงืึทืืืึธื ืคืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืืืื ืืื ืืืึธืก ืืื ืฉืืื ืืึทืืืืกื ืคึฟืึทืจ ืคืืืข
ืคึผืก
ืืืืขื ืขื ืืืื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
- ยซ
ืคึผืจืึทืงืกืืื ื ืืขืงืขืก ืคึฟืื AWS S3 ื ืืฆื nginx "; - ยซ
7 ืืขืกืืขืจ ืคึผืจืึทืงืืืกืื ืคึฟืึทืจ ื ืืฆื ืงืึทื ืืืื ืขืจื ืืืื Google "; - ยซ
7 ืคึผืจืื ืกืึทืคึผืึทืื ืคึฟืึทืจ ืืืืืื ืื ื ืงืึทื ืืืื ืขืจ-ืืืืืจื ืึทืคึผืคึผืืืงืึทืืืึธื ืก ยป (ืคืื Red Hat); - ยซ
7 ืคืขืื ืืืง ืกืืืืช ืืื ืื 12 ืคืึทืงืืึธืจ ืึทืคึผ '.
ืืงืืจ: www.habr.com