728x90
- 보통은 위 구조와 마찬가지로 역할별로 파드를 나누는 게 편하다.
- 하나에 다 넣으면, 나중에 운영하기 너무 어려움
- 쿠버네티스는 kube-dns를 통해서 각 파드가 어떤 IP를 가지는 지 관리를 한다.
- 예를 들어 프론트 파드가 lookup을 통해, 백엔드 파드를 찾을 수 있는 것을 의미한다.
- 네임스페이스는 쿠버네티스에서 파드별로 묶을 수 있는 시스템 분할 방식이다.
apiVersion: v1
kind: Pod
metadata:
name: mysql
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5
env:
- name: MYSQL_ROOT_PASSWORD
value: password
- name: MYSQL_DATABASE
value: fleetman
---
kind: Service
apiVersion: v1
metadata:
name: database
spec:
selector:
app: mysql
ports:
- port: 3306
type: ClusterIP
- database 네트워킹을 위해 새로운 서비스 & 파드 설정
/ # apk update
/ # apk add mysql-client
/ # mysql -h database -uroot -ppassord fleetman
- apply 후, exec -it 형태로 쉘에 들어가서 db 접속 되는 지 확인!
- database가 dns로 접근이 가능하기 때문에 가능하다.
- 리눅스에서는 /etc/resolv.conf 가 호스트 파일인데, 여기에 dns로 kube-dns 용 서버가 등록이 되어 있고 여기서 쿠버네티스에 등록된 서비스 (database)가 있기 때문에 nslookup이 가능하다!
300x250
'Infra > 쿠버네티스 입문' 카테고리의 다른 글
쿠버네티스 입문 (9) - 베스천 서버와 k8s 실행 (0) | 2023.12.27 |
---|---|
쿠버네티스 입문 (8) - 퍼시스턴트 (0) | 2023.12.20 |
쿠버네티스 입문 (6) - 디플로이먼트 (0) | 2023.12.13 |
쿠버네티스 입문 (5) - 레플리카세트 (0) | 2023.12.13 |
쿠버네티스 입문 (4) - 서비스 (0) | 2023.12.12 |