kubectl create deploy order --image=jinyoung/monolith-order:v20210504
kubectl expose deploy order --port=8080
kubectl scale deploy order --replicas=3
kubectl scale deploy order --replicas=1

kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
name: siege
spec:
containers:
- name: siege
image: apexacme/siege-nginx
EOF
kubectl exec -it siege -- /bin/bash
siege -c1 -t2S -v http://order:8080/orders
exit


kubectl top pods

출력이 없고 Metrics API not available 에러가 나면 설치 필요
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl get deployment metrics-server -n kube-system
kubectl autoscale deployment order --cpu-percent=50 --min=1 --max=3
평균 CPU 사용량이 요청 대비 50%를 초과하면 Pod 수 증가
kubectl get hpa

apiVersion: apps/v1
kind: Deployment
metadata:
name: order
labels:
app: order
spec:
replicas: 1
selector:
matchLabels:
app: order
template:
metadata:
labels:
app: order
spec:
containers:
- name: order
image: jinyoung/monolith-order:v20210602
ports:
- containerPort: 8080
resources:
requests:
cpu: "200m"
readinessProbe:
httpGet:
path: '/actuator/health'
port: 8080
initialDelaySeconds: 10
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 10
livenessProbe:
httpGet:
path: '/actuator/health'
port: 8080
initialDelaySeconds: 120
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 5
kubectl delete -f order-deploy.yaml
kubectl apply -f order-deploy.yaml
kubectl get deploy order -o yaml
kubectl get po

kubectl exec -it siege -- /bin/bash
siege -c20 -t40S -v http://order:8080/orders
exit


kubectl get hpa

