Sevice
서비스는 사용자(포드 그룹, db 등)와 통신하는 데에 도움을 줌.
service를 통해서 node 내부의 pod와 사용자를 연결시켜 줄 수 있음.(docker의 port forwarding 느낌?)
이런 식으로 통신 가능(udemy의 이미지 저작권 때문에 직접 그려서 넣었습니다.)
즉 node의 포트 - service의 port - pod 포트(targt port)로 통신이 가능함.
apiVersion: v1
kind: Service
metadata:
name : myapp-service
spec:
type: NodePort
ports:
- targetPort: 80
port : 80
nodePort : 30008
selector: //다른 pod와 연결이 됨.
app: myapp
type: front-end
selector를 이용하여 다른 pod와 연결이 될 수 있음.(로드 밸런서 처럼 동작하게 됨)
노드가 여러 개라도 상관 없음.
apiVersion: v1
kind: Service
metadata:
name : myapp-service
spec:
type: ClusterIP
ports:
- targetPort: 80
port : 80
selector: //다른 pod와 연결이 됨.
app: myapp
type: front-end
이를 이용하여 여러 node들에 접근 가능.
Ingress
아예 완전 다른 서비스를 만들면?
-> 이를 어떻게 접근을 해야할 지?
ingerss를 이용하여 다양한 서비스에 접근하게 만들어줌.
즉, 서비스들 - ingress - 외부 이런 식으로 연결이 됨.
apiVersion: networking.k8s.io/v1
kind: ingress
metadata:
name: ingress-wear
spec:
rules:
- http:
paths:
- path: /wear
pathType: Prefix
backend: // 어디로 전송되는 지
service:
name: wear-service
port:
number: 80
- path: /watch
pathType: Prefix
backend: // 어디로 전송되는 지
service:
name: watch-service
port:
number: 80
반응형
'BackEnd > K8S' 카테고리의 다른 글
[K8S] 쿠버네티스 스터디 - 3(PV, Storage, Config Map) (0) | 2024.05.20 |
---|---|
[K8S] 쿠버네티스 스터디 - 1(pod, replica set, deployment, namespace) (0) | 2024.05.08 |