Kubernetes service ExternalName

jaeyeon ha·2026년 3월 7일

[교육] Kubernetes

목록 보기
27/34

ExternalName

클러스터 내부 POD의 컨테이너에서 외부 도메인 FQDN을 CNAME(≒Alias)으로 매핑하여 접근하는 기능을 제공

▶ 외부 도메인을 내부 자칭 도메인 별칭으로 접근

▶ 외부 도메인을 신경 쓸 필요 없이 사용 가능

# 컨테이너가 사용할 별칭을 설정하여 접근
www.google.com → externalname-svc.default.svc.cluster.local
  • 서비스 이름 : externalname-svc
  • 네임스페이스 : default
  • 서비스 숏네임 : svc
  • DNS 이름 : cluster.local

ExternalName 예제

[root@master ~/kube/08/externalname]# vi externalname-svc.yaml
[root@master ~/kube/08/externalname]# cat externalname-svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: externalname-svc
spec:
  type: ExternalName
  externalName: www.google.com # 연결할 외부 도메인

▶ 컨테이너에서 접근 시, www.google.com or externalname-svc.default.svc.cluster.local으로 접근 가능

[root@master ~/kube/08/externalname]# kubectl run testpod -it --image=ubuntu
root@testpod:/# apt-get update
root@testpod:/# apt-get -y install bind9-dnsutils iputils-ping
root@testpod:/# nslookup externalname-svc.default.svc.cluster.local
;; Got recursion not available from 169.254.25.10
;; Got recursion not available from 169.254.25.10
;; Got recursion not available from 169.254.25.10
;; Got recursion not available from 169.254.25.10
Server: 169.254.25.10
Address: 169.254.25.10#53

externalname-svc.default.svc.cluster.local canonical name = www.google.com
Name: www.google.com
Address: 142.250.198.4
Name: www.google.com
Address: 2404:6800:4004:828::2004

root@testpod:/#ping -c 3 externalname-svc.default.svccluster.local
PING www.google.com (142.251.222.4) 56(84) bytes of data.
64 bytes from nrt13s71-in-f4.1e100.net (142.251.222.4): icmp_seq=1 ttl=127 time=33.8 ms
64 bytes from nrt13s71-in-f4.1e100.net (142.251.222.4): icmp_seq=1 ttl=127 time=33.8 ms
64 bytes from nrt13s71-in-f4.1e100.net (142.251.222.4): icmp_seq=1 ttl=127 time=35.0 ms

--- www.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 33.824/34.213/34.982/0.543 ms
root@testpod:/#

0개의 댓글