03. aks 따라하기 paas 서비스 사용
03. aks 따라하기 paas 서비스 사용
03. AKS 따라하기 - PaaS 서비스 사용
환경 변수 등록하기 (MAC OS 기준)
1
2
3
4
5
export LOC_NAME=eastus
export RAND=$RANDOM
export RG_NAME=myResourceGroup
export AKS_NAME=myAKSCluster
export SB_NS=sb-store-demo-$RAND
Azure Service Bus 네임 스페이스 및 큐 만들기
Azure Service Bus란?
- 분리된 시스템 간에 데이터를 보낼 수 있도록 하는 비동기 메시지 클라우드 플랫폼
- 마이크로소프트에서 기본 제공하기에 추가적인 호스트의 필요성이 없음
네임 스페이스 만들기
1
az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
- 등록한 환경변수의 값을 토대로 서비스 버스 리소스의 주소를 지정하기 위한 컨테이너 제공
서비스 버스 큐 만들기
1
az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
- 메세지가 저장되는 엔터티
- 분산된 여러 메세지를 해당 위치에서 받고 배포 센터와 비슷
사용되는 프로토콜
• AMQP(고급 메시지 큐 프로토콜) 1.0 • TLS를 사용하는 HTTPS(Hypertext Transfer Protocol) 1.1
권한 부여 프로토콜
1
az servicebus queue authorization-rule create --name sender --namespace-name $SB_NS --resource-group $RG_NAME --queue-name orders --rights Send
서비스 버스 자격증명
1
2
az servicebus namespace show --name $SB_NS --resource-group $RG_NAME --query name -o tsv
az servicebus queue authorization-rule keys list --namespace-name $SB_NS --resource-group $RG_NAME --queue-name orders --name sender --query primaryKey -o tsv
- 첫번째 나오는 값이 HOSTNAME 이고 두번째 나오는 값이 PASSWORD이다.
- 이를 토대로 아래의
yaml
파일을 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
apiVersion: apps/v1
kind: Deployment
metadata:
name: order-service
spec:
replicas: 1
selector:
matchLabels:
app: order-service
template:
metadata:
labels:
app: order-service
spec:
nodeSelector:
"kubernetes.io/os": linux
containers:
- name: order-service
image: <REPLACE_WITH_YOUR_ACR_NAME>.azurecr.io/aks-store-demo/order-service:latest
ports:
- containerPort: 3000
env:
- name: ORDER_QUEUE_HOSTNAME
value: "<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>" # Example: sb-store-demo-123456.servicebus.windows.net
- name: ORDER_QUEUE_PORT
value: "5671"
- name: ORDER_QUEUE_TRANSPORT
value: "tls"
- name: ORDER_QUEUE_USERNAME
value: "sender"
- name: ORDER_QUEUE_PASSWORD
value: "<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>"
- name: ORDER_QUEUE_NAME
value: "orders"
- name: FASTIFY_ADDRESS
value: "0.0.0.0"
resources:
requests:
cpu: 1m
memory: 50Mi
limits:
cpu: 75m
memory: 128Mi
설정이 끝나면 재 배포
kubectl apply -f aks-store-quickstart.yaml
를 실행해 배포한다.kubectl get service store-front
를 활용해 IP를 통해 접속한다.- 구매 버튼을 누른다.
Azure Portal의 서비스 버스에서 확인
- Azure Portal로 이동하여 이전에 만든 Azure Service Bus 네임스페이스를 열기
- 엔터티에서 큐를 선택한 다음 주문 창을 선택
- 주문 큐에서 Service Bus Explorer를 선택
- Peek from Start을 선택하여 제출한 주문을 확인
1
2
3
{"customerId":"1554073213","items":[
{"productId":10,"quantity":5,"price":5.99}
]}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.