실습
Custom DNS Entry
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx name: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: nginx name: nginx --- apiVersion: v1 kind: Service metadata: name: nginx spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 EOFcat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - name: alpine image: praqma/network-multitool command: [ "sleep" ] args: [ "infinity" ] EOFkubectl exec alpine -- digkubectl exec alpine -- cat /etc/resolv.confkubectl exec alpine -- \ bash -c 'DNS_SERVER=$(cat /etc/resolv.conf | grep nameserver | awk "{print \$2}");dig @$DNS_SERVER -x $DNS_SERVER'kubectl exec alpine -- \ curl -s nginx.default.svc.cluster.localkubectl exec alpine -- \ curl -s nginxkubectl exec alpine -- \ curl -s nginx.defaultkubectl -n kube-system get svc kube-dnskubectl -n kube-system get svc kube-dns \ -o=jsonpath='{.spec.selector}' | jqkubectl get pod -l k8s-app --all-namespaceskubectl get pod -l k8s-app=kube-dns --all-namespaceskubectl -n kube-system get pod \ $(kubectl get pod -l k8s-app=kube-dns -o=jsonpath='{.items[0].metadata.name}' -n kube-system) -o yamlkubectl -n kube-system get configmapkubectl -n kube-system get configmaps coredns -o yamlcat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system labels: eks.amazonaws.com/component: coredns k8s-app: kube-dns data: Corefile: | .:53 { rewrite stop { name regex (.*)\.test\.io {1}.default.svc.cluster.local answer name (.*)\.default\.svc\.cluster\.local {1}.test.io } errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf cache 30 loop reload loadbalance } EOF{ kubectl -n kube-system scale deployment coredns --replicas=0 kubectl -n kube-system scale deployment coredns --replicas=2 }kubectl exec alpine -- dig nginx.test.iokubectl get svc nginxkubectl exec alpine -- curl -s nginx.test.io{ kubectl create deploy web --image=httpd kubectl expose deploy web --port 80 }kubectl exec alpine -- curl -s web.test.io{ kubectl delete deploy nginx web kubectl delete svc nginx web kubectl delete pod alpine }cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system labels: eks.amazonaws.com/component: coredns k8s-app: kube-dns data: Corefile: | .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf cache 30 loop reload loadbalance } EOF{ kubectl -n kube-system scale deployment coredns --replicas=0 kubectl -n kube-system scale deployment coredns --replicas=2 }
ExternalDNS
Last updated