繁体   English   中英

在AWS中为Kubernetes设置绒布

[英]Setup Flannel for kubernetes in AWS

我正在尝试在AWS上设置Flannel 0.5,以使Pod彼此通信。 我遵循了https://coreos.com/blog/introducing-flannel-0.5.0-with-aws-and-gce/上的指南

  1. 使用AIM创建了三个“ Amazon EC2”实例,其角色策略为AmazonVPCFullAccess AmazonVPCFullAccess包含所有特权。 我的VPC是“ 172.31.0.0/16”

  2. 对三个实例禁用“实例的源/目标检查”

  3. 安装k8s,法兰绒并进行配置。
  4. 通过命令将类型设置为“ aws-vpc”:

    etcdctl set /atomic.io/network/config'{“网络”:“ 172.31.0.0/20”,“后端”:{“类型”:“ aws-vpc”}}'

  5. 启动服务并创建一个k8s rc

  6. 然后我在/ var / log / messages中出错:

9月27日15:18:54 ip-172-31-0-242绒布: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绒布: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绒布:I0927 15:18:54.389882 02400 awsvpc.go:116] RouteRouteTableID:rtb-9893a9f1

9月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中的本地路由172.31.0.0/16创建更特定的路由172.31.1.0/24(InvalidParameterValue)

日志显示类型配置“ aws-vpc”有效。 Flannel将获得正确的AWS路由表“ rtb-9893a9f1”,这意味着AIM角色配置也可以使用。

但是日志显示“ UnauthorizedOperation”和“ InvalidParameterValue” ...我现在对此一无所知!

顺便说一句,在未设置IAM角色并输入aws-vpc的情况下 ,启动k8s,etcd和法兰绒后,路由表包括法兰绒接口:

[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法兰绒0

172.31.14.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

尽管路由具有接口法兰绒,但法兰绒无法工作。 原因很明确:AWS不遵循一个实例的内部路由表。

但是在设置了AIM角色和类型后,法兰绒将无法再添加该接口 ,这是UnauthorizedOperation和InvalidParameterValue的例外,尽管我已经保证了AIM的角色为AmazonVPCFullAccess

问题解决了。

首要问题

以下警告可以忽略。 这是在法兰绒awsvpc.go调用“ m.disableSrcDestCheck(instanceID,ec2c)”时发生的,并且这只是信息级别的日志。

log.Infof(“警告-禁用源目标检查失败:%v”,错误)

背景是法兰绒检查“实例的源/目标检查”是否已禁用。 我们不得不说,如果日志中提到“请转到aws控制台以禁用源目标检查”,那就更好了。

警告-禁用源目标检查失败:您无权执行此操作。 (未经授权的操作)

尽管上面的日志实际上并不严重,但是这误导了我,我认为我在配置策略时犯了一个错误,并且在特权上花费了太多时间。

第二期

错误“超出请求限制”是由于aws API重试次数过多。 每个路由表有许多可能的条件“超过限制”,超过50个条目。 停止绒布一段时间后,aws api再次提供服务。 否则aws api总是拒绝请求。

第三期

最后,中断法兰绒的根本原因是路由表冲突。 分配另一个子网后,该问题得以解决。 法兰绒日志正确,显示“ InvalidParameter”。 最初,我被第一个“ UnauthorizedOperation”误导了,并试图更改特权策略...

network.go:71]无法初始化网络(类型aws-vpc):无法添加路由172.31.1.0/24:无法为172.31.1.0/24创建比本地路由172.31.0.0/16更特定的路由rtb-9893a9f1(InvalidParameterValue)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM