티스토리 뷰
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 tissue box
- Sh
- docker container whale
- 도커티슈케이스
- 이직
- 도커티슈박스
- 도커각티슈박스
- docker container
- Linux
- 싱가폴
- vim
- 개발자
- docker container tissue
- docker container case
- 도커각티슈케이스
- shellscript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |