Exercise 9.3: Working with CoreDNS
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: net-tools spec: containers: - name: net-tools image: praqma/network-multitool command: [ "sleep" ] args: [ "infinity" ] EOFkubectl exec -it net-tools -- /bin/bashdigcat /etc/resolv.confdig @DNS_SERVER -x DNS_SERVERdig @10.96.0.10 -x 10.96.0.10curl nginx-one.accounting.svc.cluster.localcurl nginx-onecurl nginx-one.accountingexitkubectl -n kube-system get svckubectl -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 COREDNS_POD_NAME -o yamlkubectl -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 configmapskubectl -n kube-system get configmaps coredns -o yamlkubectl -n kube-system edit configmaps corednsapiVersion: v1 data: Corefile: | .:53 { rewrite name regex (.*)\.douzone\.com {1}.default.svc.cluster.local errors health {cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | .:53 { rewrite name regex (.*)\.douzone\.com {1}.default.svc.cluster.local errors health { lameduck 5s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 loop reload loadbalance } EOF{ kubectl scale deployment coredns --replicas=0 -n kube-system kubectl scale deployment coredns --replicas=2 -n kube-system }kubectl -n kube-system get pod -l k8s-app=kube-dnskubectl create deployment nginx --image=nginxkubectl expose deployment nginx --type=ClusterIP --port=80kubectl get svc nginxkubectl exec -it net-tools -- /bin/bashdig -x SERVICE_CLUSTER_IPdig nginx.default.svc.cluster.localdig nginx.joins.comcurl nginx.joins.comexitkubectl -n kube-system edit configmaps corednsapiVersion: v1 data: Corefile: | .:53 { rewrite stop { name regex (.*)\.douzone\.com {1}.default.svc.cluster.local answer name (.*)\.default\.svc\.cluster\.local {1}.douzone.com } errors health {cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | .:53 { rewrite stop { name regex (.*)\.douzone\.com {1}.default.svc.cluster.local answer name (.*)\.default\.svc\.cluster\.local {1}.douzone.com } errors health { lameduck 5s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 loop reload loadbalance } EOF{ kubectl scale deployment coredns --replicas=0 -n kube-system kubectl scale deployment coredns --replicas=2 -n kube-system }kubectl -n kube-system get pod -l k8s-app=kube-dnskubectl exec -it net-tools -- /bin/bashdig nginx.joins.comcurl nginx.joins.comexitkubectl delete pod net-tools
Last updated