sh ./start-local.sh
sh ./stop-local.sh
aws eks update-kubeconfig --region ap-northeast-2 --name dailyon
kubectl config use-context docker-desktop
export cluster_name=dailyon
export role_name=AmazonEKS_EFS_CSI_DriverRole
eksctl create iamserviceaccount \
--name efs-csi-controller-sa \
--namespace kube-system \
--cluster $cluster_name \
--role-name $role_name \
--role-only \
--attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \
--approve
eksctl create iamserviceaccount \
--name efs-csi-node-sa \
--namespace kube-system \
--cluster $cluster_name \
--role-name $role_name \
--role-only \
--attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \
--approve
TRUST_POLICY=$(aws iam get-role --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \
sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/')
aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
eksctl utils describe-addon-versions --kubernetes-version 1.27 | grep AddonName
eksctl utils describe-addon-versions --kubernetes-version 1.27 --name aws-efs-csi-driver | grep AddonVersion
eksctl utils describe-addon-versions --kubernetes-version 1.27 --name aws-efs-csi-driver | grep ProductUrl
eksctl create addon --cluster dailyon --name aws-efs-csi-driver --version latest \
--service-account-role-arn arn:aws:iam::299378788466:role/AmazonEKS_EFS_CSI_DriverRole --force
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack --namespace prod
- grafana 계정은 admin 비밀번호는 prom-operator
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
helm version --short
helm repo add stable https://charts.helm.sh/stable
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install kube-ops-view k8s-at-home/kube-ops-view -n prod
- 클러스터 구성(6개의 Pod이 뜬 후 실행)
kubectl exec -it redis-cluster-0 -n prod -- redis-cli --cluster create --cluster-replicas 1 $(kubectl get pods -n prod -l app=redis-cluster -o jsonpath='{range.items[*]}{.status.podIP}{":6379 "}{end}')
- 클러스터 정보 확인
kubectl exec -it redis-cluster-0 -n prod -- redis-cli cluster info
- Container 내부 접속
docker exec -it [CONTAINER_NAME] /bin/bash
- 토픽 생성 - 터미널에서 입력
docker exec kafka1 kafka-topics --create --topic [TOPIC_NAME] --bootstrap-server kafka1:29092
- 토픽 전체 조회 - 터미널에서 입력
docker exec kafka1 kafka-topics --bootstrap-server kafka1:29092 --list
- 컨슈머 모드 - 터미널에서 입력
docker exec -it [CONTAINER_NAME] kafka-console-consumer.sh --topic create-order --bootstrap-server localhost:9092
- 프로듀서 모드 - 터미널에서 입력
docker exec -it [CONTAINER_NAME] kafka-console-producer.sh --topic create-order --broker-list localhost:9092
-
pod 안에서 실행
-
토픽 생성
kafka-topics --bootstrap-server localhost:9092 --create --topic approve-payment
kafka-topics --bootstrap-server localhost:9092 --create --topic cancel-order
kafka-topics --bootstrap-server localhost:9092 --create --topic create-order
kafka-topics --bootstrap-server localhost:9092 --create --topic create-order-product
kafka-topics --bootstrap-server localhost:9092 --create --topic create-order-use-coupon
kafka-topics --bootstrap-server localhost:9092 --create --topic create-review
kafka-topics --bootstrap-server localhost:9092 --create --topic use-member-points
kafka-topics --bootstrap-server localhost:9092 --create --topic create-refund
kafka-topics --bootstrap-server localhost:9092 --create --topic create-member-for-sns
kafka-topics --bootstrap-server localhost:9092 --create --topic update-member-for-sns
kafka-topics --bootstrap-server localhost:9092 --create --topic success-bidding
kafka-topics --bootstrap-server localhost:9092 --create --topic cancel-bidding
- 토픽 목록 조회
kafka-topics --bootstrap-server localhost:9092 --list