티스토리 뷰
1. 문제#1 ExternalName 서비스 생성 및 확인
1) 문제 시나리오
- 내부 Pod가 외부 DNS이름(example.com)으로 요청을 전달할 수 있도록 ExternalName 서비스를 구성해야 함
(1) ExternalName 서비스 생성
- 서비스 이름은 'external-service'로 설정
- 외부 DNS이름은 example.com으로 설정
(2) 테스트용 Pod생성
- busybox이미지를 사용하여 테스트용 Pod를 생성
- 테스트용 Pod에서 curl명령어를 사용하여 external-service로 요청을 보냄
(3) 결과확인
- 외부DNS이름으로 요청 전달여부 확인
2) 해결과정
(1) ExternalName서비스 YAML 작성
#externalname-service.yaml
apiVersion: v1
kind: Servie
metadata:
name: external-service
spec:
type: ExernalName
externalName: example.com
(2) ExternalName 서비스 생성
kubectl apply -f externalname-service.yaml
(3) 테스트용 Pod 생성
kubectl run test-pod --image=busybox --restart=Never -- sh -c "sleep 3600"
(4) 테스트용 Pod에서 요청 테스트
kubectl exec test-pod -- curl http://external-service
- 클러스너 내부에서는 'external-service'이름으로 서비스를 만들었기에 클러스터 내부에서는 external-service로 요청해도 example.com으로 외부 도메인으로 요청을 해준다. 즉, 외부 도메인을 직접쓰지 않고 클러스터 내부에서는 간단하게 접근할 수 있다.
3) ExternalName
(1) 정의: 클러스터 내부에서 외부의 DNS이름으로 트래픽을 전달하기 위해 사용하는 쿠버네티스 서비스 타입
(2) 특징: 내부에서 특정이름(ex) external service) 으로 요청하면 외부도메인으로 연결해주는 역할을 수행
(3) 동작
- ExternalName서비스가 DNS이름을 매핑
- 클러스턴 내부에서 external-service라는 이름으로 요청하면, 쿠버네티스가 자동으로 exampe.com 같은 외부 도메인으로 리다이렉트
- 클러스터 내부에서는 외부 도메인을 직접 쓰지 않아도 됨
(4) 용도
- 외부도메인 간소화
- 내외부 통합
- DNS기반 트래픽 전달
'쿠버네티스' 카테고리의 다른 글
CKA 기출문제 정리 PV (0) | 2025.01.02 |
---|---|
CKA 기출문제 정리 CoreDNS 및 DNS 확인 (0) | 2025.01.02 |
CKA 기출문제 정리 NetworkPolicy (0) | 2025.01.02 |
CKA 기출문제 LoadBalancer (0) | 2025.01.01 |
CKA 기출 문제 데몬셋 (0) | 2025.01.01 |