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
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“
Diable die „Quelle/Ziel prüfen für die Instanz“ für die drei Instanzen
- installieren K8S, Flanell und konfigurieren Sie sie.
- 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"}}‘
Dienste starten und eine
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