18

「kube-dns」サービスを公開して、Kubernetes クラスターの外部で照会できるようにしようとしています。これを行うために、「サービス」定義を編集して「タイプ」を「ClusterIP」から「NodePort」に変更しましたが、これは正常に機能しているように見えました。

ただし、ノード ポートでクエリを実行しようとすると、TCP セッションを取得できます (Telnet でテスト) が、DNS サーバーから応答を取得できないようです (dig でテスト)。

「kube-dns」Pod の各コンテナのログを確認しましたが、問題はありません。さらに、クラスター内から (実行中のコンテナーから) DNS をクエリすると、問題なく動作するように見えます。

以前に kube-dns サービスを公開しようとした人はいますか? もしそうなら、追加のセットアップ手順はありますか、それともデバッグに関するアドバイスはありますか?

サービス定義は次のとおりです。

$ kubectl get service kube-dns -o yaml --namespace kube-system
apiVersion: v1
kind: Service
metadata:
...
spec:
  clusterIP: 10.0.0.10
  ports:
  - name: dns
    nodePort: 31257
    port: 53
    protocol: UDP
    targetPort: 53
  - name: dns-tcp
    nodePort: 31605
    port: 53
    protocol: TCP
    targetPort: 53
  selector:
    k8s-app: kube-dns
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}
4

1 に答える 1