kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: k8s.gcr.io/busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
EOF
30초 후 /tmp/healthy 삭제 → probe 실패 → 컨테이너 재시작kubectl describe pod liveness-exec

kubectl apply -f https://raw.githubusercontent.com/acmexii/demo/master/edu/order-liveness.yaml
kubectl expose deploy order --type=LoadBalancer --port=8080
kubectl get svc

http <EXTERNAL-IP>:8080/actuator/health

http PUT <EXTERNAL-IP>:8080/actuator/down # 강제 fail
http <EXTERNAL-IP>:8080/actuator/health
kubectl describe pod <order-pod-name>

Liveness Probe failed, 컨테이너 자동 재시작됨curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create ns kafka
helm install my-kafka bitnami/kafka --version 23.0.5 --namespace kafka
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/order:stable
ports:
- containerPort: 8080
apiVersion: v1
kind: Service
metadata:
name: order
labels:
app: order
spec:
ports:
- port: 8080
targetPort: 8080
selector:
app: order
type: ClusterIP
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

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

image: jinyoung/order:canary
siege -c1 -t60S -v http://order:8080/orders --delay=1S
kubectl apply -f deployment.yaml

readinessProbe:
httpGet:
path: '/orders'
port: 8080
initialDelaySeconds: 10
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 10
image: jinyoung/order:stable
siege -c1 -t60S -v http://order:8080/orders --delay=1S
kubectl apply -f deployment.yaml
🔸 결과
