티스토리 뷰

728x90

 

쿠버네티스 pod 에서 외부의 서비스에 접근 할 수 있으려면 Service 와 Endpoints를 생성해주어야 한다.

 

Service 와  EndPoints 생성

1. yaml  작성

vi test-svc.yaml

 

---
apiVersion: v1
kind: Service
metadata:
  name: test-mysql #service의 이름을 적어준다
spec:
  type: ClusterIP
  ports:
    - name: mysqldb
      port: 3306
      targetPort: 3306

---
apiVersion: v1
kind: Endpoints
metadata:
  name: test-mysql #service의 이름을 적어준다
subsets:
- addresses:
  - ip: 172.26.10.56 #db서버의 ip를 입력한다.
  ports:
  - name: mysqldb
    port: 3306
    protocol: TCP

 

2. yaml  적용

kubectl apply -f test-svc.yaml

 

 

3. Service  확인

- DB url 작성 할 때는 service의 이름(test-mysql) 이나  Cluster IP (10.43.139.71) 로 작성해주면 된다.

 

DB 연결 예제

1. Cluster IP 사용

spring:
  config:
    activate:
      on-profile: local
  datasource:
    url: jdbc:log4jdbc:mysql://10.43.139.71:3306/TEST_DB
    username: ${username}
    password: ${password}
    driver-class-name: net.sf.log4jdbc.DriverSpy
    hikari:
      connection-timeout: 60000
      maximum-pool-size: 5

 

2. Service name  사용

spring:
  config:
    activate:
      on-profile: local
  datasource:
    url: jdbc:log4jdbc:mysql://test-mysql:3306/TEST_DB
    username: ${username}
    password: ${password}
    driver-class-name: net.sf.log4jdbc.DriverSpy
    hikari:
      connection-timeout: 60000
      maximum-pool-size: 5
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함