- ExternalName 실습
# 서비스(ExternalName) 생성
cat <<EOT> svc-ext-cndk.yaml
apiVersion: v1
kind: Service
metadata:
name: academy
spec:
type: ExternalName
externalName: osam.kr
EOT
kubectl apply -f svc-ext-cndk.yaml
# 확인
root@k8s-m:~# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
academy ExternalName <none> osam.kr <none> 4s
root@k8s-m:~# kubectl describe svc academy
Name: academy
Namespace: default
Labels: <none>
Annotations: <none>
Selector: <none>
Type: ExternalName
IP Families: <none>
IP:
IPs: <none>
External Name: osam.kr
Session Affinity: None
Events: <none>
# 테스트용 파드 생성
kubectl run -it --rm netdebug --image=nicolaka/netshoot --restart=Never -- zsh
-------------
netdebug ~ nslookup academy
Server: 10.43.0.10
Address: 10.43.0.10#53
academy.default.svc.cluster.local canonical name = osam.kr.
Name: osam.kr
Address: 58.229.150.15
netdebug ~ http academy -b
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>
netdebug ~ exit
pod "netdebug" deleted
-------------
# 서비스(ExternalName) 삭제
kubectl delete -f svc-ext-cndk.yaml