Kubernetes the Hard Way on Azure : 12. DNS
こんにちは。
今回も引き続き、Kubernetes the Hard Way on Azure を進めていきます。
いよいよ仕上げに入ってきました。12/15。
Deploying the DNS Cluster Add-on
このラボでは、CoreDNS によってサポートされるDNSベースのサービス検出を提供するDNSアドオン コンポーネント をKubernetesクラスター内で実行されているアプリケーションに展開します。これらのアドオン は Pod として、通常は Namespace [kube-system] 動きます。
今回はここ。全然意識してなかった、アドオン。書き足しました。
kubernetes.io
色々ありますね。dashboard も一種なんですね。
The DNS Cluster Add-on
coredns
クラスターアドオンをデプロイします。
kubectl apply -f https://raw.githubusercontent.com/ivanfioravanti/kubernetes-the-hard-way-on-azure/master/deployments/coredns.yaml # 出力内容 serviceaccount/coredns created clusterrole.rbac.authorization.k8s.io/system:coredns created clusterrolebinding.rbac.authorization.k8s.io/system:coredns created configmap/coredns created deployment.extensions/coredns created service/kube-dns created
[kube-dns] Deployment によって作成された Pod を表示します。
kubectl get pods -l k8s-app=kube-dns -n kube-system # 出力内容 NAME READY STATUS RESTARTS AGE coredns-6f68fdf986-wfpvt 1/1 Running 0 4m14s coredns-6f68fdf986-xtzdb 1/1 Running 0 4m14s
Verification
busybox
Deployment を作成します。
kubectl run --generator=run-pod/v1 busybox --image=busybox:1.28 --command -- sleep 3600
[busy-box] Deployment によって作成された Pod を表示します。
kubectl get pods -l run=busybox # 出力内容 NAME READY STATUS RESTARTS AGE busybox 1/1 Running 0 45s # Service もできている kubectl get svc -A # 出力内容 NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.32.0.1 <none> 443/TCP 7d18h kube-system kube-dns ClusterIP 10.32.0.10 <none> 53/UDP,53/TCP 17m
Pod [busy-box] の完全修飾名を取得します。
POD_NAME=$(kubectl get pods -l run=busybox -o jsonpath="{.items[0].metadata.name}")
Pod [busy-box] 内から Service [kubernetes] のDNS lookup を実行します。
# busy-box Pod内で nslookup コマンドを実行 kubectl exec -ti $POD_NAME -- nslookup kubernetes # 出力内容 Server: 10.32.0.10 Address 1: 10.32.0.10 kube-dns.kube-system.svc.cluster.local Name: kubernetes Address 1: 10.32.0.1 kubernetes.default.svc.cluster.local
Service [kubernetes] の 情報を取得できることを確認できました。
Note : DNS lookup
DNS を用いて、ドメイン名・ホスト名からIPアドレスを、もしくはその逆を調べること。
まとめ
- Kubernetes DNS をデプロイする
@varu_3 さんのブログがK8sの名前解決について分かり易く検証されていたのでご紹介させてください。
13.に続きます。