On this page
๐น 12. ๋ฆฌ์์ค ์ ์ด์ HPA
11. ๋ฆฌ์์ค ์ ์ด
/
[pdf]
11.1 ๋ถํ ๋ฐ์์ฉ ์ ํ๋ฆฌ ์ผ์ด์ ์์ฑ
11.1.1 PHP ์ ํ๋ฆฌ ์ผ์ด์ ์์ฑ
ํ์ผ๋ช : index.php
<?php
$x = 0.0001;
for ($i = 0; $i <= 1000000; $i++) {
$x += sqrt($x);
}
echo "OK!";
?>
11.1.2 ๋์ปค ์ด๋ฏธ์ง ๋น๋
FROM php:5-apache
ADD index.php /var/www/html/index.php
RUN chmod a+rx index.php
docker build -t dangtong/php-apache .
docker login
docker push dangtong/php-apache
11.2 ํฌ๋ ๋ฐ ์๋น์ค ๋ง๋ค๊ธฐ
12.2.1 Deployment ๋ก Pod ์์ฑ
ํ์ผ๋ช : php-apache-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: php-apache-dp
spec:
selector:
matchLabels:
app: php-apache
replicas: 1
template:
metadata:
labels:
app: php-apache
spec:
containers:
- name: php-apache
image: dangtong/php-apache
ports:
- containerPort: 80
resources:
limits:
cpu: 500m
requests:
cpu: 200m
12.2.2 ๋ก๋๋ฐธ๋ฐ์ ์๋น์ค ์์ฑ
ํ์ผ๋ช : php-apache-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: php-apache-lb
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
selector:
app: php-apache
kubectl apply -f ./php-apache-deploy.yaml
kubectl apply -f ./php-apache-svc.yaml
[์ฐ์ต๋ฌธ์ ] 10-1 Pod ๋ฆฌ์์ค ์ ์ดํ๊ธฐ
์๋ ์๊ตฌ ์ฌํญ์ ๋ง๋ deploy ๋ฅผ ๊ตฌํ ํ์ธ์
- Deploy name : nginx
- image : nginx
- cpu 200m
- ๋ฉ๋ชจ๋ฆฌ : 300Mi
- Port : 80
12.3 HPA ๋ฆฌ์์ค ์์ฑ
12.3.1 HPA ๋ฆฌ์์ค ์์ฑ
kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=5
12.3.2 HPA ๋ฆฌ์์ค ์์ฑ ํ์ธ
kubectl get hpa
12.4 Jmeter ์ค์น ๋ฐ ๊ตฌ์ฑ
12.4.1 Jmeter ์ค์น๋ฅผ ์ํด ํ์ํ ๊ฒ๋ค
JDK 1.8 ์ด์ ์ค์น ์ค๋ผํด java SE jdk ๋ค์ด๋ก๋
Jmeter ๋ค์ด๋ก๋ Jmeter ๋ค์ด๋ก๋
ํ๋ฌ๊ทธ์ธ ๋ค์ด๋ก๋ Jmeter-plugin ๋ค์ด๋ก๋
- Plugins-manager.jar ๋ค์ด๋ก๋ ํ์ฌ jmeter ๋ด์ lib/ext ๋ฐ์ ๋ณต์ฌ ํฉ๋๋ค. jpgc
12.4.2 Jmeter ๋ฅผ ํตํ ๋ถํ ๋ฐ์
12.4.3 ๋ถํ ๋ฐ์ํ Pod ๋ชจ๋ํฐ๋ง
$ kubectl get hpa
$ kubectl top pods
NAME CPU(cores) MEMORY(bytes)
nodejs-sfs-0 0m 7Mi
nodejs-sfs-1 0m 7Mi
php-apache-6997577bfc-27r95 1m 9Mi
$ kubectl exec -it nodejs-sfs-0 top
Tasks: 2 total, 1 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.0 us, 1.0 sy, 0.0 ni, 95.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 3786676 total, 3217936 used, 568740 free, 109732 buffers
KiB Swap: 0 total, 0 used, 0 free. 2264392 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 813604 25872 19256 S 0.0 0.7 0:00.17 node
11 root 20 0 21924 2408 2084 R 0.0 0.1 0:00.00 top
[์ฐ์ต๋ฌธ์ ] 12-1 HPA ์ ์ฉ ์ค์ต
์ด๋ฏธ์ง๋ฅผ nginx ๋ฅผ ์์ฑํ๊ณ HPA ๋ฅผ ์ ์ฉํ์ธ์
- Max : 8
- Min : 2
- CPU ์ฌ์ฉ๋์ด 40% ๊ฐ ๋๋ฉด ์ค์ผ์ผ๋ง ๋๊ฒ ํ์ธ์