2016-09-09 9 views
0

kubernetes DNS(skydns、今はkube-dnsと呼ばれています)を取得する方法を見つけるのが難しいです。コンテナ/ポッドは、マスターノードが停止し、別のAPIサーバーが異なるIPを持つホスト上で起動されても、IPアドレスまたはホストを使用してAPIサーバーに接続する方法を知っていますか?私は実際のkubernetesサービスを使用しようとしましたが、ポート443で実行され、kube-dns(かつてはkube2sky)が接続できませんでした。Kubernetes API固有のホストではないIPを使用してKubernetes DNSを設定する方法

kube-dnsポッドを削除して再作成するメカニズム以外に、もっと簡単な方法がありますか?

+0

と "再作成KUBE-DNSポッド" によって、私はAPIサーバがそれを変更したときにポッドを再起動し、意味ホストは落ちたので、それは他の場所に持ち込まれたからです。 – user3379574

答えて

0

endpointを照会して、kubernetesに対応するものを直接探すことができます。ここで私は、ホストのIPアドレスとポートを取得し、それがない

$ kubectl describe svc kubernetes 
Name:     kubernetes 
Namespace:    default 
Labels:     component=apiserver 
         provider=kubernetes 
Annotations:   <none> 
Selector:    <none> 
Type:     ClusterIP 
IP:      10.0.0.1 
Port:     https 443/TCP 
Endpoints:    192.168.122.116:8443 
Session Affinity:  ClientIP 
Events:     <none> 

default名前空間の

$ kubectl get ep 
NAME   ENDPOINTS    AGE 
kubernetes 192.168.122.116:8443 15h 

またはkubernetesが実行されているサービスを記述

を:私は1つが、直接エンドポイントを照会される二つの方法でそれを得ることができますそれは8443です。これがあなたの問題を解決するのに役立つかどうかを見てください。

または、同じポートのkubernetesサービスにもう1つのポートを追加してみてください。

0

1はKUBE-DNSコンテナ/ポッドはアドレスまたはホストを使用してIP APIサーバーに接続する方法を知っているようにkubernetesのDNS(skydns、今KUBE-DNSと呼ばれる)を取得する方法を

私はkube-dnsがKubernetesの設計でAPIServerに接続する必要があるとは思わない。

しかし、APIServerに接続する安定した方法を見つけようとしている場合(「マスターノードがダウンし、別のIPサーバーを別のホストで起動しても関係なく」と言ったように)、既にkubeadmmore info about kubeadm)を使用してクラスタを展開する場合は、これを実行します。あなたはCluterIPある10.96.0.1:443(whichのいずれかを通じてAPIServerにアクセスすることができ

$ kubelet describe svc kubernetes 
Name:     kubernetes 
Namespace:    default 
Labels:     component=apiserver 
         provider=kubernetes 
Selector:    <none> 
Type:     ClusterIP 
IP:      10.96.0.1 
Port:     https 443/TCP 
Endpoints:    10.140.0.2:6443 
Session Affinity:  ClientIP 
No events. 

)または10.140.0.2:6443(whichはAPIServerのPodIPです:これはkubernetesサービスを介して実装されていると、あなたはこのようにそれを確認することができます

を使用でき
$ curl https://10.140.0.2:6443/version --cert /etc/kubernetes/pki/apiserver.pem --key /etc/kubernetes/pki/apiserver-key.pem --cacert /etc/kubernetes/pki/ca.pem 
{ 
    "major": "1", 
    "minor": "5", 
    "gitVersion": "v1.5.4", 
    "gitCommit": "7243c69eb523aa4377bce883e7c0dd76b84709a1", 
    "gitTreeState": "clean", 
    "buildDate": "2017-03-07T23:34:32Z", 
    "goVersion": "go1.7.4", 
    "compiler": "gc", 
    "platform": "linux/amd64" 
} 
0

:経由ポッド)

kubelet describe svc kubernetes

関連する問題