✏️ Kubernetes Server IP

34.64.245.180

✏️ Secret

/secret/kube-secret.yaml

✏️ Gateway

apiVersion: apps/v1
kind: Deployment
metadata:
  name: bk-gateway
  labels:
    baeker: gateway
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: gateway
  template:
    metadata:
      labels:
        baeker: gateway
    spec:
      containers:
      - name: bk-gateway
        image: wy9295/gateway
        env:
          - name: TZ
            value: Asia/Seoul
          - name: JAVA_OPTS
            value: -Djasypt.encryptor.password=qozj 
          - name: JAVA_ACTIVE
            value: -Dspring.profiles.active=prod 
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

---

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  name: bk-gateway
  labels:
    baeker: gateway
spec:
  type: ClusterIP
  ports:
    - port: 9000
      targetPort: 9000
      protocol: TCP
  selector:
    baeker: gateway
  externalTrafficPolicy: Cluster
apiVersion: apps/v1
kind: Deployment
metadata:
  name: study
  labels:
    baeker: study-server
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: study-server
  template:
    metadata:
      labels:
        baeker: study-server
    spec:
      containers:
      - name: study
        image: wy9295/study
        env:
          - name: TZ
            value: Asia/Seoul
          - name: JAVA_OPTS
            value: -Djasypt.encryptor.password=qozj 
          - name: JAVA_ACTIVE
            value: -Dspring.profiles.active=prod
          - name: AWS_ACCESS_KEY
            value: AKIAXJLA4DR47PPNVWXY
          - name: AWS_SECRET_KEY
            value: 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
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
       
---

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  labels:
    baeker: study-server
  name: study
spec:
  type: ClusterIp
  ports:
  - port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    baeker: study-server
  externalTrafficPolicy: Cluster

✏️ Eureka

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)          AGE
eureka       LoadBalancer   10.22.131.215   34.22.91.244    8761:32048/TCP   46h
# kubectl delete deployments eureka
# kubectl delete service eureka
# kubectl apply -f /kube/eureka/eureka.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eureka
  labels:
    baeker: eureka-server
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: eureka-server
  template:
    metadata:
      labels:
        baeker: eureka-server
    spec:
      containers:
      - name: eureka
        image: wy9295/eureka-server
        imagePullPolicy: Always
        env:
          - name: TZ
            value: Asia/Seoul
          - name: JAVA_OPTS
            value: -Djasypt.encryptor.password=qozj 
          - name: JAVA_ACTIVE
            value: -Dspring.profiles.active=prod
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

---
apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  labels:
    baeker: eureka-server
  name: eureka
spec:
  internalTrafficPolicy: Cluster
  ports:
  - port: 8761
    protocol: TCP
    targetPort: 8761
  selector:
    baeker: eureka-server
  sessionAffinity: None
  type: LoadBalancer
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eureka
  labels:
    baeker: eureka-server
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: eureka-server
  template:
    metadata:
      labels:
        baeker: eureka-server
    spec:
      containers:
      - name: eureka
        image: wy9295/eureka-server
        imagePullPolicy: Always
        env:
          - name: TZ
            valueFrom:
              secretKeyRef:
                name: kube-secret
                key: TZ
          - name: JAVA_OPTS
            valueFrom:
              secretKeyRef:
                name: kube-secret
                key: JAVA_OPTS
          - name: JAVA_ACTIVE
            valueFrom:
              secretKeyRef:
                name: kube-secret
                key: JAVA_ACTIVE
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

---

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  labels:
    baeker: eureka-server
  name: eureka
spec:
  internalTrafficPolicy: Cluster
  ports:
  - port: 8761
    protocol: TCP
    targetPort: 8761
  selector:
    baeker: eureka-server
  sessionAffinity: None
  type: LoadBalancer

✏️ Member

curl <http://member/swagger-ui/index.html>
<http://34.64.105.18:8081/swagger-ui/index.html>
apiVersion: apps/v1
kind: Deployment
metadata:
  name: member
  labels:
    baeker: member-server
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: member-server
  template:
    metadata:
      labels:
        baeker: member-server
    spec:
      containers:
      - image: choidaekuk/member
        name: member
        env:
          - name: TZ
            value: Asia/Seoul
          - name: JAVA_OPTS
            value: -Djasypt.encryptor.password=qozj 
          - name: JAVA_ACTIVE
            value: -Dspring.profiles.active=prod
          - name: AWS_ACCESS_KEY
            value: AKIAXJLA4DR47PPNVWXY
          - name: AWS_SECRET_KEY
            value: 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
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
---

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  labels:
    baeker: member-server
  name: member
spec:
  internalTrafficPolicy: Cluster
  ports:
  - port: 8081
    protocol: TCP
    targetPort: 8081
  selector:
    baeker: member-server
  sessionAffinity: None
  type: ClusterIP
apiVersion: apps/v1
kind: Deployment
metadata:
  name: member
  labels:
    baeker: member-server
spec:
  replicas: 1
  selector:
    matchLabels:
      baeker: member-server
  template:
    metadata:
      labels:
        baeker: member-server
    spec:
      containers:
      - name: member
        image: choidaekuk/member
        env:
          - name: TZ
            value: Asia/Seoul
          - name: JAVA_OPTS
            value: -Djasypt.encryptor.password=qozj 
          - name: JAVA_ACTIVE
            value: -Dspring.profiles.active=prod
          - name: AWS_ACCESS_KEY
            value: AKIAXJLA4DR47PPNVWXY
          - name: AWS_SECRET_KEY
            value: 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
        securityContext:
          capabilities:
            drop:
            - NET_RAW
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
       
---

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/neg: '{"ingress":true}'
  labels:
    baeker: member-server
  name: member
spec:
  type: LoadBalancer
  ports:
  - port: 8084
    protocol: TCP
    targetPort: 8084
  selector:
    baeker: member-server
  externalTrafficPolicy: Cluster

✏️ Study

34.64.82.200:8082/swagger-ui/index.html