1. 은행 계좌 조회
구성 : 은행 시스템에 자신의 계좌에 잔고 조회를 할 수 있는 시스템 - Flask 로 웹 애플리케이션 구성, etcd 로 데이터베이스 구성
https://github.com/tigera/ccol1/blob/main/yaobank.yaml
# 생성
curl -s -O https://raw.githubusercontent.com/tigera/ccol1/main/yaobank.yaml
sed -i 's/nodeSelector/#nodeSelector/g' yaobank.yaml && sed -i 's/kubernetes.io/#kubernetes.io/g' yaobank.yaml
sed -i 's/istio-injection: disabled/istio-injection: enabled/g' yaobank.yaml # (옵션) istio 사용 시 Auto Injection with namespace label
kubectl apply -f yaobank.yaml
# (옵션) kubens 네임스페이스 변경
kubens yaobank
# 확인
kubectl get all -n yaobank
[root@k8s-m:~ (DKOS-K8S:yaobank)]# kubectl get all
NAME READY STATUS RESTARTS AGE
pod/customer-68d67b588d-l79tc 1/1 Running 0 6m59s
pod/database-899b4f58f-vjxgv 1/1 Running 0 6m59s
pod/summary-748b977d44-k47zw 1/1 Running 0 6m59s
pod/summary-748b977d44-pls6q 1/1 Running 0 6m59s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/customer NodePort 10.104.149.17 <none> 80:30180/TCP 6m59s
service/database ClusterIP 10.101.28.129 <none> 2379/TCP 7m
service/summary ClusterIP 10.97.223.187 <none> 80/TCP 7m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/customer 1/1 1 1 6m59s
deployment.apps/database 1/1 1 1 7m
deployment.apps/summary 2/2 2 2 6m59s
NAME DESIRED CURRENT READY AGE
replicaset.apps/customer-68d67b588d 1 1 1 6m59s
replicaset.apps/database-899b4f58f 1 1 1 7m
replicaset.apps/summary-748b977d44 2 2 2 6m59s
# customer 파드 웹 접속 확인
CUSTOMER=$(kubectl get pods -n yaobank -l app=customer -o jsonpath={.items[0].status.podIP})
curl $CUSTOMER
혹은
curl <노드IP>:>NodePort>
apt install -y lynx
lynx -dump <노드IP>:<NodePort>
[root@k8s-m:~ (DKOS-K8S:yaobank)]# lynx -dump 192.168.100.10:30180
Welcome to YAO Bank
Name: Spike Curtis
Balance: 2389.45
[1]Log Out >>
References
1. http://192.168.100.10:30180/logout
# customer 파드 Shell 접속 후 데이터베이스(etcd) 파드 접속 확인
CUSTOMER_POD=$(kubectl get pods -n yaobank -l app=customer -o name)
kubectl exec -it $CUSTOMER_POD -n yaobank -c customer -- /bin/bash
-----------------------------------------
curl -s http://database:2379/v2/keys?recursive=true | python -m json.tool
exit
-----------------------------------------
# 혹은 직접 데이터베이스(etcd) 파드 접속 확인 : 5명의 account(고객) 정보 출력
DATABASE=$(kubectl get pods -n yaobank -l app=database -o jsonpath={.items[0].status.podIP})
curl -s $DATABASE:2379/v2/keys | jq
curl -s $DATABASE:2379/v2/keys?recursive=true | jq
# 삭제
kubectl delete -f yaobank.yaml
'Kubernetes > Tool' 카테고리의 다른 글
Helm (외부자료) (0) | 2025.02.27 |
---|---|
(1) KIND란? (0) | 2025.01.24 |
클러스터 설치 - kubeadm ver (0) | 2023.12.12 |
kubectl 명령어로 익히는 쿠버네티스의 주요 오브젝트 (0) | 2023.11.28 |
환경설정 k (kubectl), krew 플러그인 (1) | 2023.11.27 |