반응형
1. 목차
서비스란
3장 리뷰
2. 서비스(Service)란?
파드에서 발생되는 통신 트래픽의 라우팅을 맡는 리소스
여러 Pod를 그룹화하여 하나의 가상 주소 IP로 통신
2.1. 내부 파드(Pod) 간 통신

2.1.1. 실습 환경
<bash />kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch03/numbers/api.yaml -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch03/numbers/web.yaml
- api.yaml
<bash />apiVersion: apps/v1 kind: Deployment metadata: name: numbers-api spec: selector: matchLabels: app: numbers-api template: metadata: labels: app: numbers-api spec: containers: - name: api image: kiamol/ch03-numbers-api
- web.yaml
<bash />apiVersion: apps/v1 kind: Deployment metadata: name: numbers-web spec: selector: matchLabels: app: numbers-web template: metadata: labels: app: numbers-web spec: containers: - name: web image: kiamol/ch03-numbers-web
2.1.2. Cluster IP 서비스 구축
파드간의 통신을 위한 서비스
<bash />kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch03/numbers/api-service.yaml
<code />
apiVersion: v1
kind: Service
metadata:
name: numbers-api
spec:
ports:
- port: 80
selector:
app: numbers-api
type: ClusterIP
2.1.3. 포트포워딩
<bash />kubectl port-forward deploy/numbers-web 8080:80
2.2. 외부 트래픽을 파드로 전달

2.2.1. LoadBalancer 서비스
포트포워딩 없이 외부에서 접근을 할 수 있도록 도와주는 서비스
<bash />kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch03/numbers/web-service.yaml
<code />
apiVersion: v1
kind: Service
metadata:
name: numbers-web
spec:
ports:
- port: 8080
targetPort: 80
selector:
app: numbers-web
type: LoadBalancer
2.3. 외부로 트래픽 전달

2.3.1. ExternalName 서비스
<bash />kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch03/numbers-services/api-service-externalName.yaml
<code />
apiVersion: v1
kind: Service
metadata:
name: numbers-api
spec:
type: ExternalName
externalName: raw.githubusercontent.com
3. 3장 리뷰
실습 자료가 제공되어 자칫하면 복잡하고 어려울 내용들을 실습을 통하여 직접 서비스를 생성해 보며 배울 수 있어서 좋았습니다.
각 서비스마다 용도는 무엇인지 어떠한 상황에서 사용되는지에 대한 짧은 설명이 있었던 점도 좋았습니다.
단순히 외부로 트래픽을 보내는 서비스만 설명한다면 종종 '그래서 이걸 어떠한 상황에 쓰지?, 중요한 내용인가?' 등의 의문을 가질 수 있는데 짧은 설명들이 중간중간 들어있어 이해하는데 더 도움이 되었습니다.
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] Volume과 Claim (길벗 리뷰어) (0) | 2023.11.26 |
---|---|
[Kubernetes] Config Map과 Secret (길벗 리뷰어) (0) | 2023.11.24 |
[Kubernetes] Pod와 Deployment (길벗 리뷰어) (2) | 2023.11.20 |
[Kubernetes] CNI 설치 및 pod 생성 (Weave) (0) | 2023.09.25 |
[Kubernetes] Kubeadm을 통한 쿠버네티스 설치 (네트워크 설정, 오류 해결) (2) | 2023.09.24 |