問題タブ [kube-dns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3108 参照

kubernetes - kube-dns が coreos 上の kubenetes で再起動し続ける

https://github.com/kfirufk/coreos-kubernetesにある coreos-kubernetes インストール スクリプトのフォークを使用して、hyperkube v1.5.5_coreos.0 を使用して CoreOS alpha (1353.1.0) によって Container Linux に Kubernetes をインストールしました。

2 台の ContainerOS マシンがあります。

  • coreos-2.tux-in.com はコントローラーとして 192.168.1.2 として解決されました
  • coreos-3.tux-in.com はワーカーとして 192.168.1.3 として解決されました

kubectl get pods --all-namespaces戻り値

kube-dns-782804071-h78rfだから私はそれが再起動し続けるのを見ることができます。

kubectl describe pod kube-dns-3675956729-r7hhf --namespace=kube-system戻り値:

にあることを示していkubedns-amd64:1.9ますReady: false

これは私のkude-dns-de.yamlファイルです:

これは私のものkube-dns-svc.yamlです:

この問題に関する情報をいただければ幸いです。

アップデート

rkt list --full 2> /dev/null | grep kubednsショー:

journalctl -m _MACHINE_ID=744a45790849b1f5cb05d40f3734以下を提供します。

に追加しようとし - --proxy-mode=userspaceまし/etc/kubernetes/manifests/kube-proxy.yamlたが、結果は同じです。

kubectl get svc --all-namespaces以下を提供します。

kubectl get cs以下を提供します。

mykube-proxy.yamlには次のコンテンツがあります。

これが私が見つけたすべての貴重な情報です。何か案は?:)

更新 2

http://pastebin.com/2GApCj0niptables-saveのコントローラー ContainerOS の出力

更新 3

コントローラーノードでcurlを実行しました

適切にアクセスできることを意味します。権限を付与するのに十分なパラメータを追加していませんか?

更新 4

@jaxxstorm のおかげで、calico マニフェストを削除し、quay/cni および quay/node バージョンを更新して再インストールしました。

現在、kubedns は再起動し続けていますが、calico が機能するようになったと思います。初めて、コントローラーノードではなくワーカーノードにkubednsをインストールしようとするため、またrkt enter、kubednsポッドを試してみると、次のようwget https://10.3.0.1になります。

これは、何らかの反応があることを明確に示しています。どれがいいですか?

現在kubectl get pods --all-namespacesは次のように表示されます:

そう.. 4/4の準備ができていますが、再起動し続けます。

kubectl describe pod kube-dns-3675956729-ljz2w --namespace=kube-systemhttp://pastebin.com/Z70U331Gでの出力

そのため、http://10.2.47.19:8081/readinessに接続できません。ポート 8081 を使用しているため、これは kubedns の IP であると推測しています。この問題をさらに調査する方法がわかりません。

すべてに感謝します!

0 投票する
3 に答える
3073 参照

kubernetes - 新しい Kubernetes 1.6 クラスターの kube-system 名前空間に kube-dns ConfigMap を作成する

このブログ投稿の例に従って、ポッドにアップストリーム DNS サーバーを提供しようとしています。

us-east1-d に新しい GKE クラスタを作成しました (ここでは、4 月 4 日のエントリによると 1.6.0 が利用可能です)。

次に、次の YAML ファイル kube-dns-cm.yml で ConfigMap を定義しました。

ConfigMap を作成しようとすると、既に存在すると言われます。

既存の ConfigMap を削除して自分のものに置き換えようとしましたが、その後 Pod を作成すると有効にならなかったようです (名前が思い通りに解決されません)。ブログ投稿で説明されている以上の話がありますか (例: kube-dns サービスまたはポッドの再起動)? ありがとう!

編集: ConfigMap の削除と再作成は実際に機能しますが、私が望んでいた方法とは完全には異なります。私の docker レジストリはプライベート (企業) ネットワーク上にあり、レジストリの名前を解決するには上流のネームサーバーが必要です。そのため、ポッドの yaml ファイルでレジストリの DNS 名を使用することはできませんが、その yaml ファイルから作成されたポッドには、必要な DNS 解決が含まれます (ConfigMap が置き換えられた後)。