2016-09-27 5 views
1

Ich versuche, Flannel 0.5 bei AWS einzurichten, damit Pods miteinander kommunizieren können. folgte ich dem Führer bei https://coreos.com/blog/introducing-flannel-0.5.0-with-aws-and-gce/Einrichten von Flannel für Kubernetes in AWS

  1. erstellt drei "Amazon EC2" Instanzen mit AIM, deren Rolle Politik ist AmazonVPCFullAccess. AmazonVPCFullAccess enthält alle Rechte. Meine VPC ist „172.31.0.0/16“

  2. Diable die „Quelle/Ziel prüfen für die Instanz“ für die drei Instanzen

  3. installieren K8S, Flanell und konfigurieren Sie sie.
  4. den Typ als "aws-VPC" durch den Befehl Set:

    etcdctl /atomic.io/network/config ‚gesetzt { "Netzwerk": "172.31.0.0/20","Backend": { "Typ": "aws-VPC"}}‘

  5. Dienste starten und eine

  6. dann rc K8S erstellen ich Fehler in/var/log/messages:

Sep 27 15:18:54 ip-172-31-0-242 flanneld: I0927 15: 18: 54,023391 02400 usw.dd.go: 129] Gefunden lease (172.31.1.0/24) für die aktuelle IP (172.31. 0,242),

Sep 27 15.18.54 IP-172-31-0-242 flanneld Wiederverwendung: I0927 15: 18: 54,024120 02400 etcd.go: 84] Subnet lease erworben: 172.31.1.0/24

Sep 27 15:18:54 ip-172-31-0-242 flanneld: I0927 15: 18: 54.389834 02400 awsvpc.go: 106] Warnung - Deaktivieren der Quellzielüberprüfung fehlgeschlagen: Sie sind nicht berechtigt, diese Operation durchzuführen . (UnauthorizedOperation)

Sep 27 15.18.54 IP-172-31-0-242 flanneld: I0927 15: 18: 54,389882 02400 awsvpc.go: 116] RouteRouteTableID: RTB-9893a9f1

27 Sep 15:18:54 ip-172-31-0-242 flanneld: E0927 15: 18: 54.511297 02400 network.go: 71] Fehler beim Initialisieren des Netzwerks (Typ aws-vpc): Die Route 172.31.1.0/24 konnte nicht hinzugefügt werden : kann eine spezifischere Route für 172.31.1.0/24 als lokale Route 172.31.0.0/16 in Routentabelle RTB-9893a9f1 (InvalidParameterValue)

Das Protokoll zeigt nicht erstellen, dass die Konfiguration vom Typ „ ws-vpc "funktioniert. Und Flanell erhält die richtige AWS-Routentabelle "rtb-9893a9f1", was bedeutet, dass die AIM-Rollenkonfiguration ebenfalls funktioniert.

Aber das Protokoll sagt "UnauthorizedOperation" und "InvalidParameterValue" ... Ich habe keine Ahnung davon jetzt!

BTW, ohne die IAM Rolle Einstellung und gibt eine AWS-VPC nach K8S, ETCD und Flanell, die Routing-Tabelle enthält die Schnittstelle Flanell Ausgang:

[root @ IP-172- 31-14-47 ~] # route -n Kernel IP-Routing-Tabelle

Ziel-Gateway Genmask Flags Metric Ref Verwenden 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 flannel0

172.31.14.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

Obwohl die Route die Schnittstelle Flanell hatte, konnte der Flanell nicht funktionieren. Der Grund ist klar: AWS folgt nicht der internen Routentabelle einer Instanz.

Aber nach der AIM Rolle Einstellung und die Art, Flanell können die Schnittstelle nicht hinzufügen mehr, von der Ausnahme von UnauthorizedOperation und InvalidParameterValue litt, obwohl ich gurantee haben die AIM mit Rolle AmazonVPCFullAccess

Antwort

1

Problem gelöst.

Erste Ausgabe

Die Warnung von unten ignoriert werden kann. Dies geschieht, während Flanell awsvpc.go Aufruf "m.disableSrcDestCheck (instanceID, ec2c)", und es ist nur Info-Level-Protokoll.

log.Infof („Warnen deaktivieren Quelle Ziel Prüfung fehlgeschlagen:% v“, err)

der Hintergrund, dass Flanell, ob die „Quelle/Ziel prüft für die Instanz“ überprüft, ist gewesen deaktiviert oder nicht. Wir müssen sagen, dass es viel besser sein sollte, wenn das Protokoll erwähnen könnte: "Bitte gehen Sie zur aws-Konsole, um die Quell-Ziel-Kontrolle zu deaktivieren".

Warnung - Deaktivierung der Quellzielüberprüfung fehlgeschlagen: Sie sind nicht berechtigt, diese Operation durchzuführen. (UnauthorizedOperation)

Obwohl oben log eigentlich nicht ernst ist, verleitet dies mir und ich dachte, dass ich einen Fehler gemacht, die Politik zu konfigurieren und verbrachte zu viel Zeit auf privielges.

Zweite Ausgabe

Der Fehler der "Request Grenze überschritten" ist wegen zu vieler aws API Wiederholungen. Es gibt viele mögliche Bedingungen, um mehr als die 50 Einträge pro Routentabelle "zu überschreiten". Nach dem Stopp den Flanell für eine Weile, die AWS Api bietet wieder Dienstleistungen. Oder aws api lehnt Anfragen immer ab.

dritte Ausgabe

schließlich die Ursache für Flanell zu brechen ist die Route-Tabelle Konflikt. Nachdem Sie ein anderes Subnetz zugewiesen haben, ist das Problem behoben. Das Flanellprotokoll ist rechts und sagt "InvalidParameter". Zunächst war ich von der ersten „UnauthorizedOperation“ verleiten und versuchte das Privileg, Politik zu ändern ...

network.go: 71] Fehler Netzwerke (Typ aws-VPC) initialisieren: nicht hinzufügen Route 172.31 .1.0/24: kann keine spezifischere Route für 172.31.1.0/24 als die lokale Route 172.31.0.0/16 in der Routentabelle rtb-9893a9f1 (InvalidParameterValue)

erstellen
Verwandte Themen