티스토리 뷰
ExternalName
ExternalName은 외부 어플리케이션을 K8s 내부 네트웍에 있는 것 처럼 사용하게 해줍니다. NodePort나 LoadBalancer와 다르게 외부에서 클러스터 내부로 접근하기 위한 것이 아니라 클러스터 내부에서 외부로 접근하기 위해 사용 합니다.
언제 쓸까요?
예를들어 auction-price.co.kr 이라는 도메인을 이용해 쿠버네티스 안쪽에 있는 리소스 뿐만 아니고 쿠버네티스에 Pod형태로 올라오지 않은 어플리케이션도 쿠버네티스의 네트웍을 통해 접근 하고 싶을 때 사용 합니다.
apiVersion: v1
kind: Service
metadata:
name: my-service
namespace: prod
spec:
type: ExternalName
externalName: my.database.example.com
위와 같이 ExternalName을 선언해놓으면 my-service.prod.svc.cluster.local 호스트를 검색했을 때 my.database.example.com을 반환하게 됩니다. 여기에서 my.database.example.com이 CNAME입니다.
apiVersion: v1
kind: Service
metadata:
name: my-service2
namespace: prod
spec:
type: ExternalName
externalName: www.google.com
위와 비슷하게 my-service2를 검색하면 www.google.com이 이 리턴되는 ExternalName Service입니다.
kubectl run curl --image=radial/busyboxplus:curl -it
kubectl attach curl -c curl -i -t
위 명령어를 이용해 curl이 되는 busybox를 하나 띄우고 들어가 봅니다.
my-service2로 curl을 날려보면
google로 연결된 것을 볼 수 있습니다.
FQDN
FQDN은 Fully Qualified Domain Name의 약자 입니다.
쿠버네티스에서 FQDN에 대한 언급이 자꾸 나오는데요 Pod를 찾을 때 같은 Namespace에서 찾으면 PQDN(Partially Qualified Domain Name)만으로도 찾을 수 있지만 Namespace가 달라지만 FQDN으로 찾아야 합니다.
참고
https://kubernetes.io/ko/docs/concepts/services-networking/service/
- Total
- Today
- Yesterday
- 도커티슈박스
- 2017 티스토리 결산
- docker container case
- docker container tissue
- docker container
- 도커각티슈케이스
- 개발자
- 이직
- 싱가폴
- 도커컨테이너
- vim
- 도커각티슈박스
- docker container tissue box
- 도커티슈케이스
- Sh
- Linux
- shellscript
- docker container whale
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |