問題タブ [flanneld]
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.
docker - Ubuntu クラスターのセットアップ後に Pod に ping を実行できない
最新の手順 (2015 年 5 月 7 日更新) に従って、etcd と flanneld を使用して Ubuntu** でクラスターをセットアップしました。しかし、ネットワークに問題があります...何らかの壊れた状態にあるようです。
**注: 0.16.2 がインストールされるように構成スクリプトを更新しました。また、kubectl get minions
最初は何も返されませんでしたが、後に表示されましたsudo service kube-controller-manager restart
。
これは私のセットアップです:
どのマシンからでも、他のマシンに ping を送信できます...問題が発生し始めるのは、ポッドとサービスを作成するときです。
ポッド
したがって、このポッドは起動されていKubeNode3
ます... KubeNode3 以外のマシンから ping を実行しようとすると、Destination Net Unreachable
エラーが発生します。例えば
etcdctl get /coreos.com/network/config
4つすべてを呼び出して、戻ることができます{"Network":"172.16.0.0/16"}
。
そこからどこを見たらいいのかわからない。誰か助けてくれませんか?
サポート情報
マスターノードで:
ノード上:
go - golang エラー: 未定義の識別子 'syscall.TUNSETIFF' への参照
そのため、gccgo でフランネル ( https://github.com/coreos/flannel ) をビルドしようとしています。ビルド中に発生するエラーは次のとおりです。
gccgo-5 と gcc-5 を使用しています。ここで問題が正確に何であるかを理解するのを手伝ってもらえますか? ティア
docker - Kubernetes マルチノードの例で Flanneld が機能しない
2 つの Vagrant インスタンスでこのチュートリアルを実行しようとしています:
http://kubernetes.io/v1.0/docs/getting-started-guides/docker-multinode.html
マスター ノードとワーカー ノードをセットアップした後、マスターからの単純な nginx-service のサービスの IP。しかし、kube-proxy が worker-node の docker-container を見つけられないようです。
サービスの仮想 IP と container-ip が worker-node でうまく応答することから、
flanneld の誤動作を考えさせられました。
このエラーを追跡する方法を知っている人はいますか?
どんな助けでも大歓迎です!
事前に感謝します
ベスト、ヨハネス
Kube-Proxyコンテナの出力
I1016 20:53:42.829290 1 proxysocket.go:130] 10.0.2.15:51774 から 10.0.2.15:40197 への TCP 接続を受け入れました
E1016 20:53:43.829575 1 proxysocket.go:99] ダイヤルに失敗しました: ダイヤル tcp 10.1.12.3: 80: i/o タイムアウト
E1016 20:53:45.825473 1 proxysocket.go:99] ダイヤルに失敗しました: ダイヤル tcp 10.1.12.3:80: ホストへのルートがありません
E1016 20:53:48.825556 1 proxysocket.go:99] ダイヤルに失敗しました:ダイヤル tcp 10.1.12.3:80: ホスト
E1016 へのルートがありません 20:53:51.825627 1 proxysocket.go:99] ダイヤルに失敗しました: ダイヤル tcp 10.1.12.3:80: ホスト
E1016 へのルートがありません 20:53:51.825710 1 proxysocket.go :133] バランサーへの接続に失敗しました: エンドポイントへの接続に失敗しました。
docker - Kubernetes、Flannel、公開サービス
kubernetes のセットアップは正常に実行されていますが、サービスを外部に公開していないようです。ネットワークが正しく設定されていないと思います:
kubernetes サービス アドレス: --service-cluster-ip-range=172.16.0.1/16
フランネルネットワーク構成: etcdctl get /test.lan/network/config {"Network":"172.17.0.0/16"}
docker サブネット設定: --bip=10.0.0.1/24
ホストノード IP: 192.168.4.57
nginx サービスを実行しており、次のように公開しようとしました。
次に、次のようにサービスを公開しました。
ホストノード IP (192.168.4.57) で nginx コンテナーにアクセスできるようになることを期待しています - ネットワークを誤解していませんか? もしあれば、説明をいただければ幸いです:(
注: これは、クラウド プロバイダーが提供するロード バランサーのない物理ハードウェア上にあるため、NodePort が唯一の選択肢だと思います。
kubernetes - フランネル経由でコンテナのインターネットアクセスを有効にする方法は?
問題:
コンテナの例ifconfig
:
コンテナ内のルーティング:
ホストiptables
: http://pastebin.com/raw/UcLQQa4J
ホストifconfig
: http://pastebin.com/raw/uxsM1bx6
によるログflannel
:
containers - Kubernetes でのエンドポイントのフラッピング
Kubernetes クラスター内のサービスに到達できません。確認したところ、サービスでエンドポイントを利用できません。さらに確認すると、エンドポイントが値と null の間で変化し続けることがわかりました。他の投稿で提案されているように、ラベルセレクターをチェックしました。ポッドが立ち上がっています。コンテナーは、サービスのターゲット ポートでリッスンしています。ここで他に何が起こっているのですか。
さらに更新。kube-controller-manager ログに以下のエラーが表示されます。E0810 20:02:21.887677 10451 nodecontroller.go:771] ノードの更新中にエラーが発生しました: クライアント: 応答が無効な json です。エンドポイントは、有効な etcd クラスター エンドポイントではない可能性があります。
docker - Kubernetes フランネル ネットワークが期待どおりに機能しない
flannel を使用して kubeadm をインストールすると、非常に奇妙な kubernetes ネットワークの問題が発生します。助けていただけますか?
マスター用に 1 つ、ミニオン ノード用に 2 つの 3 つのノードがあり、4 つのポッドが実行されています。
すべてのノードを一覧表示します (説明を簡略化するために列 # を追加)
すべての POD を一覧表示します (説明を簡略化するために列 # を追加しました)
2 つのテストを行いました。1 つはノード -> ポッド用、もう 1 つはポッド -> ポッド用です。
nodes->pods テストの結果は次のとおりです。
テスト 1: ノード => POD テスト
ノード #1 (c03) から => ローカル ノード ポッドのみに ping を実行できるのはなぜですか?
ノード #2 (c04) から => すべてのポッドはリモートです。ノード #3 のポッドに ping を実行できないのはなぜですか?
ノード #3 (c06) から => 期待どおりの結果です
テスト 2: POD=>POD => Pod がローカル ノード Pod のみに ping を実行できるのはなぜですか?
POD #1 @ ノード #1 から
POD #2 @ ノード #3 から
POD #3 @ ノード #3 から
POD #4 @ ノード #1 から
環境情報
K8s バージョン
フランネルポッド
システムポッド
フランネルはガイド付きで取り付けられます:
ノード 1 のネットワーク情報 (c03)
kubernetes - centos 7 での Kubernetes 1.6.2 フランネル構成
kueadm コマンドを使用して、3 つのノードの Kubernetes クラスターを構成しました。以前のバージョン 1.6.2 とは異なり、kubeadm コマンドはすべての Kubernetes プロセスを自動的に構成します。フランネルには、この yml ファイル kube-flannel.yml を使用しました。Kubernetes についての私の理解では、コンテナーを作成し、コンテナー内でプロセスを実行しますが、ノード自体でフランネル プロセスが実行されていることがわかりますが、ノードには /opt/bin/flannel バイナリはありません。どのように Kubernetes がフランネルを実行していますか?
Kubernetes はこれをどのように処理しますか? この概念を説明する適切なドキュメントはありますか?
- マスターノード自体で実行されているフランネルポッド。
フランネルプロセスを見る
[root@master01 ~]# ps -fed |grep flan root 5447 5415 0 May10 ? 00:00:08 /opt/bin/flanneld --ip-masq --kube-subnet-mgr root 5604 5582 0 May10 ? 00:00:00 /bin/sh -c セット -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; 真の間; 3600 寝ます。終わり
flanneld はマスターノードにありません
ありがとうSR