我试图在AWS上设置Flannel 0.5,以便让pod相互通信。 我按照https://coreos.com/blog/introducing-flannel-0.5.0-with-aws-and-gce/
的指南进行了操作创建了三个" Amazon EC2" AIM的实例,其角色策略 AmazonVPCFullAccess 。 AmazonVPCFullAccess包括所有私有权。我的VPC是" 172.31.0.0/16"
Diable" Source / Destination检查实例"为了 三个实例
etcdctl设置 /atomic.io/network/config' {" Network":" 172.31.0.0/20"," Backend": {"输入":" 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.1.0/24)(172.31.0.242) ),重用
Sep 27 15:18:54 ip-172-31-0-242 flanneld:I0927 15:18:54.024120 02400 etcd.go:84]获得的子网租约: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]警告 - 禁用源目的地检查失败:您无权获得执行此操作。 (UnauthorizedOperation)
Sep 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之后,路由表包含了法兰绒界面:
[root @ ip-172-31-14-47~] #route -n 内核IP路由表
目标网关Genmask标志指标参考使用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
虽然路线有法兰绒接口,但法兰绒不起作用。原因很清楚:AWS不遵循一个实例的内部路由表。
但设置AIM角色和类型之后,法兰绒不能再添加界面,除了 UnauthorizedOperation和InvalidParameterValue 之外,虽然我保证了AIM角色 AmazonVPCFullAccess
答案 0 :(得分:1)
问题已解决。
第一期
以下警告可以忽略。当法兰绒awsvpc.go调用“m.disableSrcDestCheck(instanceID,ec2c)”时,会发生这种情况,并且它只是信息级日志。
log.Infof(“警告 - 禁用源目标检查失败:%v”,错误)
背景是法兰检查是否已禁用“实例的源/目标检查”。我们不得不说如果日志可以提到“请访问aws控制台以禁用源代码检查”应该会好得多。
警告 - 禁用源目标检查失败:您无权执行此操作。 (UnauthorizedOperation)
虽然上面的日志实际上并不严重,但这误导了我,我认为配置策略时犯了一个错误,并花了太多时间在私有网上。
第二期
“超出请求限制”的错误是因为aws API重试次数太多。 “超出限制”有许多可能的条件,超过每个路径表的50个条目。 在停止法兰绒一段时间后,aws api再次提供服务。或者aws api总是拒绝请求。
第三期
最后,破坏法兰绒的根本原因是路线表冲突。分配另一个子网后,问题得以解决。法兰绒日志是正确的,它说“InvalidParameter”。起初,我被第一个“UnauthorizedOperation”误导,并试图改变特权政策......
network.go:71]无法初始化网络(类型为aws-vpc):无法添加路由172.31.1.0/24:无法为本地路由172.31.0.0/16创建172.31.1.0/24的更具体路由在路由表rtb-9893a9f1(InvalidParameterValue)
中