본문 바로가기

카테고리 없음

0214 실습 정리

쿠버네티스에 3계층 아키텍처 올리기

+ 버튼을 눌러 편집기를 열어준다

 

mysql 설정 

-mysql볼륨-

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
spec:
  capacity:
    storage: 5G
  accessModes:
  - ReadWriteOnce
  local:
    path: /mysql-vol
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - {key: kubernetes.io/hostname, operator: In, values: ['worker01']}
-mysql 퍼시스턴스 볼륨 클레임-

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 5G
  storageClassName: ""
-mysql 컨피그맵-

apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-cm
data:
  MYSQL_DATABASE: test
  MYSQL_ROOT_PASSWORD: qwer1234
-mysql파드-

apiVersion: v1
kind: Pod
metadata:
  name: mysql-pod
  labels:
     app: db
spec:
  nodeSelector:
    kubernetes.io/hostname: worker01
  containers:
  - name: mysql
    image: mysql:latest
    envFrom:
    - configMapRef:
        name: mysql-cm
    volumeMounts:
    - name: mysql-vol
      mountPath: /var/lib/mysql
  volumes:
  - name : mysql-vol
    persistentVolumeClaim:
      claimName: mysql-pvc
-mysql 서비스-

apiVersion: v1
kind: Service
metadata:
  name: mysql-svc
spec:
  selector:
    app: db
  ports:
  - port: 3306
    targetPort: 3306

 

백앤드 설정 

-백엔드 컨피그맵-

apiVersion: v1
kind: ConfigMap
metadata:
  name: backend-cm
data:
  AWS_ACCESS_KEY: AKIA3DZIPTYG3P5M6MGB
  AWS_BUCKET_NAME: ddarahakit2023-s3
  AWS_REGION_NAME: ap-northeast-2
  AWS_SECRET_KEY: M86PlLeIKTwfnbpKcR43JSaNOUzy8cVIlasyeQVW
  DB_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver
  DB_PASSWORD: qwer1234
  DB_URL: jdbc:mysql://mysql-svc:3306/test
  DB_USERNAME: root
  IAMPORT_KEY: "1156022477706867"
  IAMPORT_SECRET: MVtgCFU216ST9iyajBp6z01jSl1SPnZgdMMQUJIHtQOXe5pJ1oWpuw7SUR58Fcr7icROHUg2NWwXFeaL
  JWT_EXPIRED_TIME: 18000000
  JWT_SECRET: abcdefghijklmnopqrstuvwxyz0123456789
  MAIL_HOST: smtp.gmail.com
  MAIL_PASSWORD: sfigasrozftvsmnp
  MAIL_PORT: 587
  MAIL_USERNAME: ddarahakit2023
-백앤드 파드-

apiVersion: v1
kind: Pod
metadata:
  name: backend-pod
  labels:
     app: backend
spec:
  containers:
  - name: backend
    image: ddarahakit2023/be:1.0
    envFrom:
    - configMapRef:
        name: backend-cm
-백앤드 서비스-

apiVersion: v1
kind: Service
metadata:
  name: backend-svc
spec:
  selector:
    app: backend
  ports:
  - port: 8080
    targetPort: 8080

 

 

프론트 설정 

-프론트 파드-

apiVersion: v1
kind: Pod
metadata:
  name: frontend-pod
  labels:
     app: frontend
spec:
  containers:
  - name: frontend
    image: ddarahakit2023/fe:1.0
-프론트 서비스-

apiVersion: v1
kind: Service
metadata:
  name: frontend-svc
spec:
  selector:
    app: frontend
  ports:
  - port: 80
    targetPort: 80
  type: NodePort