기본 어플리케이션(컴포넌트) 설치
프레임워크 리소스 관리 및 거래 모니터링하기 위한 Web Admin, 분산트랜잭션을 처리하기 위한 LRA Coordinator를 설치한다.
1. 03.install/install.sh
bxcm-install-gen.sh Shell에 의해 생성되어진 설치 yaml 파일의 변경 사항이 없는 경우에는 install.sh 을 이용하여 한번에 생성할 수 있다.
다음은 install.sh Shell을 실행한 예이다.
03.install$ sh install.sh
####################################################################################
# [install] start
####################################################################################
>> kubectl apply -f lra.yaml
serviceaccount/lra-leader-elector created
service/bxframework-lra-coordinator created
deployment.apps/bxframework-lra-coordinator created
>> kubectl apply -f webadmin.yaml
service/bxframework-webadmin created
deployment.apps/bxframework-webadmin created
####################################################################################
# [install] end
####################################################################################
-
kubectl command를 이용하여 프레임워크 어플리케이션을 생성 한다.
-
웹어드민 (webadmin.yaml) 설치
apiVersion: v1 kind: Service metadata: name: bxframework-webadmin namespace: bxcm300 spec: selector: app: bxframework-webadmin ports: - protocol: TCP port: 8080 nodePort: 30120 type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: bxframework-webadmin namespace: bxcm300 spec: selector: matchLabels: app: bxframework-webadmin replicas: 1 template: metadata: labels: app: bxframework-webadmin spec: containers: - name: bxframework-webadmin image: bxframework-webadmin:latest imagePullPolicy: IfNotPresent #volumeMounts: # - name: etcd-certs # mountPath: /etcd.config/certificates # readOnly: true # - name: bxframework-batch-file # mountPath: /bxframework-batch-file ports: - containerPort: 8080 #volumes: # - name: etcd-certs # secret: # secretName: [ETCD_SECRET_NAME] #- name: bxframework-batch-file # persistentVolumeClaim: # claimName: bxframework-batch-pvc
참고로 Web Admin 에서 배치로그파일을 보기 위해서는 배치 로그 용 공유 볼륨(예 : PVC)이 생성이 되어져 있어야 한다.
Kubernetes 적용 방법
kubectl apply -f webadmin.yaml
-
LRA Coordinator(lra.yaml) 설치
LRA Coordinator의 경우에는 프로젝트에서 사용하지 않을 수 있다. 만일 사용한다면 lra.yaml 파일을 이용하여 설치를 진행한다.
apiVersion: v1 kind: ServiceAccount metadata: name: lra-leader-elector namespace: bxcm300 --- apiVersion: v1 kind: Service metadata: name: bxframework-lra-coordinator namespace: bxcm300 spec: selector: app: bxframework-lra-coordinator ports: - protocol: TCP port: 8082 --- apiVersion: apps/v1 kind: Deployment metadata: name: bxframework-lra-coordinator namespace: bxcm300 spec: selector: matchLabels: app: bxframework-lra-coordinator replicas: 1 template: metadata: labels: app: bxframework-lra-coordinator spec: serviceAccountName: lra-leader-elector containers: - name: bxframework-lra-coordinator image: bxframework-lra-coordinator:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8082 env: - name: LOGGING_LEVEL_LRA_COORDINATOR value: DEBUG - name: ACTION_STORE_URL value: "jdbc:mysql://cloud.mshome.net:3306/bxcm300?autoReconnect=true&useUnicode=true&characterEncoding=utf8" - name: ACTION_STORE_USERNAME value: "{username}" - name: ACTION_STORE_PASSWORD value: "{password}" volumeMounts: - mountPath: /node_home name: node-volume - name: lra-coordinator-leader-elector image: k8s.gcr.io/leader-elector:0.5 imagePullPolicy: IfNotPresent args: - "--election=lra-coordinator-leader-elector" - "--http=0.0.0.0:4040" ports: - containerPort: 4040 volumes: - name: node-volume hostPath: path: /
Kubernetes 적용 방법
kubectl apply -f lra.yaml
-
웹어드민 설치는 아래 Command를 이용하여 확인 할 수 있다.
03.install$ kubectl get svc bxframework-webadmin
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bxframework-webadmin NodePort 10.43.6.219 <none> 8080:30120/TCP 9m24s
03.install$ kubectl get po | grep bxframework-webadmin
bxframework-webadmin-885c58995-g99dk 1/1 Running 0 10m
LRA Coordinator 설치는 아래 Command를 이용하여 확인 할 수 있다.
03.install$ kubectl get svc bxframework-lra-coordinator
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bxframework-lra-coordinator ClusterIP 10.43.160.139 <none> 8082/TCP 12m
03.install$ kubectl get po | grep bxframework-lra-coordinator
bxframework-lra-coordinator-5f54f66564-nltnq 2/2 Running 0 12m