16.1 쿠버네티스 DNS
16.2 클러스터 안에서 도메인 사용하기
apiVersion: apps/v1
kind: Deployment
metadata:
name: kubernetes-simple-app
labels:
app: kubernetes-simple-app
spec:
replicas: 1
selector:
matchLabels:
app: kubernetes-simple-app
template:
metadata:
labels:
app: kubernetes-simple-app
spec:
hostname: appname
subdomain: default-subdomain
dnsPolicy: ClusterFirst
containers:
- name: kubernetes-simple-app
image: arisu1000/simple-container-app:latest
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
labels:
app: kubernetes-simple-app
name: kubernetes-simple-app-svc
namespace: default
spec:
ports:
- nodePort: 30090
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: kubernetes-simple-app
type: NodePort
YAML
복사
addon/dns-deployment.yaml
kubectl exec kubernetes-simple-app-6554bd5d45-6x8bs -- nslookup appname.default-subdomain.default.svc.cluster.local
16.3 DNS 질의 구조
kubectl describe configmap coredns -n kube-system
16.3.1 kube-dns의 질의 구조
16.3.2 CoreDNS의 질의 구조
16.4 파드 안에 DNS 직접 설정하기
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-test
spec:
containers:
- name: dns-test
image: arisu1000/simple-container-app:latest
dnsPolicy: ClusterFirst
dnsConfig:
nameservers:
- 8.8.8.8
searches:
- default.svc.cluster.local
- example.com
options:
- name: name01
value: value01
- name: name02
YAML
복사
addon/dnsconfig-pod.yaml