问题标签 [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.

0 投票
1 回答
3045 浏览

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 步:Git 克隆 flannel 仓库:git clone https://github.com/coreos/flannel.git 第 3 步:运行构建脚本:cd flannel;./build

build.sh但是在我克隆磁盘中的源代码后,我在 flannel 文件夹中找不到。我怎样才能运行./build?

0 投票
1 回答
1098 浏览

amazon-web-services - 在 AWS 中为 kubernetes 设置 Flannel

我正在尝试在 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、flannel 并配置它们。
  4. 通过命令将类型设置为“aws-vpc”:

    etcdctl set /atomic.io/network/config '{"Network":"172.31.0.0/20","Backend": {"Type": "aws-vpc"}}'

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

  6. 然后我在 /var/log/messages 中得到错误:

9 月 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

Sep 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

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 (InvalidParameterValue) 中为 172.31.1.0/24 创建比本地路由 172.31.0.0/16 更具体的路由

日志显示类型配置“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 标志 Metric 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 码头0

虽然路由有接口法兰绒,但法兰绒无法工作。原因很清楚:AWS 不遵循一个实例的内部路由表。

但是设置了AIM角色和类型后,flannel不能再添加接口了,遇到UnauthorizedOperation和InvalidParameterValue的异常,虽然我已经保证了角色为AmazonVPCFullAccess的AIM

0 投票
1 回答
497 浏览

kubernetes - Flannel 与 etcd v3.0 的兼容性

我计划将我们的 Kubernetes 实例迁移到 etcd v3。你知道 Flannel 是否可以与 etcd v3 一起使用吗?

0 投票
1 回答
4533 浏览

kubernetes - Kubernetes覆盖网络对比

我想知道是否有人可以简要概述所有不同 Kubernetes 网络覆盖之间的差异/优势。入门指南(http://kubernetes.io/docs/getting-started-guides/scratch/#network)提到以下内容:

  • 绒布
  • 印花布
  • 编织
  • 罗马纳
  • 开放式 vSwitch (OVS)

但并没有真正解释它们之间的区别是什么,或者每个人的优缺点是什么。我想知道是否有人可以让我知道我应该将这些解决方案中的哪一个用于裸机 CentOS 7 集群。

谢谢!

0 投票
1 回答
12704 浏览

docker - kubernetes安装和kube-dns:打开/run/flannel/subnet.env:没有那个文件或目录

概述

kubeadm init和网络设置后kube-dns无法启动 (SetupNetworkError) :

Kubernetes 版本

环境

适用于 Mac 的 VMWare Fusion

操作系统

内核(例如 uname -a)

问题是什么

我期望发生的事情

kube-dns 运行

如何重现它

0 投票
1 回答
992 浏览

kubernetes - Kubernetes - pod 没有从 Flannel CIDR 获取 IP

我已经在工作节点上成功配置了 Flannel。当我这样做ifconfig时,在工作人员上,我看到了一个flannel.1界面(我正在使用 vxlan)。还有docker0cbr0接口。

但是,当 pod 启动时,该节点上的 docker 容器从cbr0接口获取 IP 地址,而不是从 flannel 接口获取。我确实尝试过手动删除 cbr0 接口,但是当 docker 容器被安排在 pod 出现的节点上时,它会恢复。

Docker 是这样启动的:

dockerd --bip=10.200.50.1/24 --mtu=8951 --iptables=false --ip-masq=false --host=unix:///var/run/docker.sock --log-level=error --storage-driver=overlay

法兰绒环境:

ifconfig说:

如何确保 pod 的 IP 地址来自 flannel 接口?

0 投票
1 回答
204 浏览

centos - Kube-api 服务器没有出现在 Baremetal 上

我正在尝试按照http://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/上的说明在我的笔记本电脑上安装 Kubernetes

我在 /etc/hosts 中添加了以下 IP, 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

尝试将 192.168.121.9 IP 添加到 BareMetal 中的同一接口,但仍然失败。

不知道这里有什么问题..

0 投票
1 回答
332 浏览

kubernetes - Kubernetes 服务 ip 在集群中并不总是可以访问(使用 flannel)

我构建了一个 kubernetes 集群,使用 flannel 覆盖网络。问题是服务 ip 之一并不总是可访问的。

我在集群中测试,通过远程登录服务 ip和端口,以连接超时结束。用 netstat 检查,连接始终处于“SYN_SENT”状态,似乎对等方不接受连接。但是,如果我直接 telnet 到支持该服务的pod ip和端口,则可以成功建立连接。它只发生在其中一项服务上,其他服务还可以。

如果我将后端 pod 缩放到更大的值,比如 2。那么对服务 ip的一些请求可以成功。该服务似乎无法连接到支持的 pod 之一。

哪个组件可能是导致此类问题的原因?我的服务配置,kube-proxy 还是 flannel?

0 投票
1 回答
682 浏览

kubernetes - 使用 Kubernetes 和 Flannel 进行 Pod 到服务的通信

我最近建立了一个带有 Docker 和 Flannel 的多机 Kubernetes 集群。我已经在子网上设置了 Flannel,172.16.0.0/24这样主机 A 上分配 IP 的172.16.78.2容器可以 ping 主机 B 上分配 IP 的容器172.16.74.2

我已经设置了 Kubernetes 及其所有各种组件(kubeletkube-proxy kube-apiserverkube-schedulerkube-controller-manager),并且我可以成功地在集群周围启动部署和 Pod。

问题

我在集群上部署了一个 Redis 服务和我的 webapp pod。在我的 webapp pod 上,环境变量REDIS_SERVICE_HOSTREDIS_SERVICE_PORT已设置,但REDIS_SERVICE_HOST它是子网上的随机 IP 172.16.0.0/16。需要明确的是,如果我运行ifconfig并获取eth0Redis 容器中的 IP 地址,我可以从我的 webapp pod ping 通它。但不是分配给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 结合使用,但我尝试了很多东西,但我无法得到任何工作。关于这些事情如何工作的一些解释将是一个很大的帮助。谢谢。

0 投票
6 回答
12518 浏览

docker - 执行 kubeadm 重置后,Kubernetes 无法为 pod 设置网络

我用 初始化了 Kubernetes kubeadm init,然后我用kubeadm reset它来重置它,我发现它--pod-network-cidr是错误的。更正后,我尝试kubeadm像这样再次使用来初始化 Kubernetes:

然后我在节点上遇到了一些错误

或者

为什么我不能为新的 Pod 创建网络?

顺便说一句,我使用法兰绒作为网络提供商,它工作正常。