問題タブ [flannel]
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.
ubuntu - フランネルをUbuntuにインストールする方法
私は git で flannel からインストゥルメントに従います。 ステップ 1: 必要な依存関係がマシンにインストールされていることを確認します。Ubuntu では、 を実行しsudo apt-get install linux-libc-dev golang gcc
ます。Fedora/Redhat では、run sudo yum install kernel-headers golang gcc
. ステップ 2: flannel リポジトリの Git クローンを作成します: git clone https://github.com/coreos/flannel.git
ステップ 3: ビルド スクリプトを実行します: cd flannel;./build
build.sh
しかし、ディスクにソース コードを複製した後、flannel フォルダーに見つかりません。./build を実行するにはどうすればよいですか?
amazon-web-services - AWS で kubernetes 用の Flannel をセットアップする
ポッドが相互に通信できるようにするために、AWS で Flannel 0.5 をセットアップしようとしています。https://coreos.com/blog/introducing-flannel-0.5.0-with-aws-and-gce/のガイドに従いました
ロールポリシーがAmazonVPCFullAccessである AIM を使用して 3 つの「Amazon EC2」インスタンスを作成しました。AmazonVPCFullAccess にはすべての権限が含まれます。私の VPC は「172.31.0.0/16」です
3 つのインスタンスの「インスタンスのソース/宛先チェック」を無効にします。
- k8s、フランネルをインストールして構成します。
- コマンドでタイプを「aws-vpc」に設定します。
etcdctl set /atomic.io/network/config '{"ネットワーク":"172.31.0.0/20","バックエンド": {"タイプ": "aws-vpc"}}'
サービスを開始し、k8s rc を作成します
次に、/var/log/messages に次のエラーが表示されます。
Sep 27 15:18:54 ip-172-31-0-242 flanneld: I0927 15:18:54.023391 02400 etcd.go:129] 現在の IP (172.31.0.242) のリース (172.31.1.0/24) が見つかり、再利用
9 月 27 日 15:18:54 ip-172-31-0-242 flanneld: I0927 15:18:54.024120 02400 etcd.go:84] 取得したサブネット リース: 172.31.1.0/24
9 月 27 日 15:18:54 ip-172-31-0-242 flanneld: I0927 15:18:54.389834 02400 awsvpc.go:106] 警告 - ソース宛先チェックの無効化に失敗しました: この操作を実行する権限がありません。(不正操作)
9 月 27 日 15:18:54 ip-172-31-0-242 flanneld: I0927 15:18:54.389882 02400 awsvpc.go:116] RouteRouteTableID: rtb-9893a9f1
Sep 27 15:18:54 ip-172-31-0-242 flanneld: E0927 15:18:54.511297 02400 network.go:71] ネットワークの初期化に失敗しました (タイプ aws-vpc): ルート 172.31.1.0/ を追加できません24: ルート テーブル rtb-9893a9f1 (InvalidParameterValue) でローカル ルート 172.31.0.0/16 よりも 172.31.1.0/24 のより具体的なルートを作成できません
ログは、タイプ構成「aws-vpc」が機能することを示しています。そして、Flannel は適切な AWS ルート テーブル「rtb-9893a9f1」を取得します。これは、AIM ロール構成も機能することを意味します。
しかし、ログには「UnauthorizedOperation」と「InvalidParameterValue」と表示されています...これについては今のところわかりません!
ところで、 IAM ロールを設定せずに aws-vpc を入力すると、k8s、etcd、および flannel を開始した後、ルーティング テーブルにはインターフェイス flannel が含まれます。
[root@ip-172-31-14-47 ~]# route -n カーネル IP ルーティング テーブル
宛先ゲートウェイ Genmask フラグ メトリック Ref Use Iface
0.0.0.0 172.31.0.1 0.0.0.0 UG 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 フランネル0
172.31.14.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0
ルートにはインターフェースフランネルがありましたが、フランネルは機能しませんでした。理由は明らかです。AWS は 1 つのインスタンスの内部ルート テーブルに従いません。
しかし、AIM ロールとタイプを設定した後、Flannel はインターフェイスを追加できなくなり、 UnauthorizedOperation と InvalidParameterValueの例外に悩まされましたが、ロールAmazonVPCFullAccessを持つ AIM を保証しました。
kubernetes - Kubernetes オーバーレイ ネットワークの比較
さまざまな Kubernetes ネットワーク オーバーレイすべての違いと利点の概要を誰かが簡単に教えてくれないかと思っていました。入門ガイド ( http://kubernetes.io/docs/getting-started-guides/scratch/#network ) では、次のことが言及されています。
- フランネル
- キャリコ
- 織る
- ロマーナ
- オープン vSwitch (OVS)
しかし、それらの違いや、それぞれの長所と短所については実際には説明していません。ベアメタルの CentOS 7 クラスターにこれらのソリューションのどれを使用する必要があるかを誰かが教えてくれるかどうか疑問に思っていました。
ありがとう!
docker - kubernetes のインストールと kube-dns: open /run/flannel/subnet.env: no such file or directory
概要
kubeadm initとネットワーク設定の後、kube -dnsを開始できません (SetupNetworkError) :
Kubernetes のバージョン
環境
Mac 用 VMWare フュージョン
OS
カーネル (例: uname -a)
何が問題ですか
私が期待したこと
kube-dns 実行中
再現方法
centos - ベアメタルで Kube-api サーバーが起動しない
http://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/の指示に従って、ラップトップに Kubernetes をインストールしようとしています。
次の IP を /etc/hosts に追加し、
192.168.121.9 centos-master
192.168.121.65 centos-minion-1
192.168.121.66 centos-minion-2
192.168.121.67 centos-minion-3
flannel インストール以外の手順に従いました。
次のようにインスタンスを段階的に実行していました
for SERVICES in etcd kube-apiserver; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
etcd は正常に起動しましたが、kube-apiserver は次のエラーで失敗します:
Nov 17 14:40:11 localhost kube-apiserver: F1117 14:40:11.842367 6176 controller.go:84] Unable to perform initial IP allocation check: unable to refresh the service IP block: error #0: dial tcp 192.168.121.9:2379: i/o timeout
BareMetal の同じインターフェイスに 192.168.121.9 IP を追加しようとしましたが、それでも失敗しました。
ここで何が問題なのかわからない..
kubernetes - クラスター内で Kubernetes サービス IP に常にアクセスできるとは限らない (flannel を使用)
フランネル オーバーレイ ネットワークを使用して、kubernetes クラスターを構築しました。問題は、サービス IP に常にアクセスできるとは限らないことです。
サービスの IPとポートを telnet で接続してクラスター内でテストしたところ、接続タイムアウトになりました。netstat で確認すると、接続は常に「SYN_SENT」状態であり、ピアが接続を受け入れていないようでした。しかし、サービスを直接サポートするポッドの IPとポートに telnet で接続すると、接続は正常に確立されます。サービスの 1 つだけに発生しただけで、他のサービスは問題ありません。
バックエンド ポッドを 2 などの大きな値にスケーリングすると、サービス IPへのリクエストの一部が成功する可能性があります。サービスは、サポートされているポッドの 1 つに接続できなかったようです。
このような問題の原因と考えられるコンポーネントはどれですか? 私のサービス構成、kube-proxy または flannel?
kubernetes - Kubernetes および Flannel を使用したポッドからサービスへの通信
最近、Docker と Flannel を使用してマルチマシン Kubernetes クラスターをセットアップしました。172.16.0.0/24
の IP が割り当てられたホスト A のコンテナが、IP が割り当て172.16.78.2
られたホスト B のコンテナに ping できるように、サブネットに Flannel をセットアップしました172.16.74.2
。
kubelet
さまざまなコンポーネント ( 、kube-proxy
kube-apiserver
、kube-scheduler
、 )をすべて使用して Kubernetes をセットアップしましkube-controller-manager
た。クラスター全体でデプロイとポッドを正常に起動できます。
問題
Redis サービスと webapp ポッドをクラスターにデプロイしました。私の webapp ポッドでは、環境変数REDIS_SERVICE_HOST
とREDIS_SERVICE_PORT
が設定されていますが、サブネットREDIS_SERVICE_HOST
上のランダムな IPです。172.16.0.0/16
明確にするために、実行して Redis コンテナーifconfig
の IP アドレスを取得するとeth0
、webapp ポッドからそれを ping できます。しかし、に割り当てられた IP アドレスではありませんREDIS_SERVICE_HOST
。
これは構成上の問題であると確信していますが、各サービスに設定しているいくつかのフラグを次に示します。
kube-proxy 引数
--cluster-cidr 172.16.0.0/16
kube-apiserver 引数
--service-cluster-ip-range=172.16.0.0/16
kube-controller-manager の引数
--cluster-cidr=172.16.0.0/16
--service-cluster-ip-range=172.16.0.0/16
上記のフラグが Flannel と連携してどのように機能するかはよくわかりませんが、多くのことを試しましたが、何も機能しませんでした。これらがどのように機能するかについての説明は、大きな助けになります。ありがとう。
docker - kubeadm reset の実行後に Kubernetes がポッドのネットワークをセットアップできませんでした
で Kubernetes を初期化しkubeadm init
、以前にリセットした後、間違っているkubeadm reset
ことがわかりました。--pod-network-cidr
それを修正した後、kubeadm
次のように Kubernetes を再度初期化するために使用しようとしました。
その後、ノードでいくつかのエラーが発生しました
また
新しいポッド用のネットワークを作成できないのはなぜですか?
ところで、私は flannel をネットワーク プロバイダーとして使用していますが、問題なく動作しています。