问题标签 [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.
docker - Kubernetes flannel pod 获取错误的网络
在 pod 中运行的 Flannel 获得了错误的子网并且网络不满意,症状是 flannel 从 10.105.0.0/16 分配了 /24。它应该从 10.105.5.128/21 分配 /26。谢谢你的帮助。
以下是详细信息:
kube-flannel-rbac.yml 在 kube-flannel.yml 之后加载,仅修改了 kube-flannel.yml 中的位(SubenetLen 和 Network):
DNS 在 systemd 文件中设置为:
使用 Ubuntu 16.04 LTS 和股票内核
这是 docker daemon.json 文件:
所有 kuberentes 组件都是从 ubuntu k8s repos 安装的 1.7.5
这是 kube-flannel 容器的日志:
docker - Flannel 覆盖网络作为 docker 容器
无论 docker 是否需要知道 flannel 子网,如何将 flannel 作为 docker 容器运行?在 etcd 中,我只能为 flannel 配置网络和子网,但我不能将它们分配给特定的节点,所以在 flannel 启动后似乎需要重新启动 docker 引擎,但 flannel 位于正在运行的容器中。
dns - 同一节点 pod 查找失败
我已经开始注意到在我的 5 节点 1.7.10 k8s 集群中,安排在同一节点上的 pod 无法相互通信。nslookup 无法从该节点上的任何 pod 提供任何服务,但从不同节点运行时工作正常。不是确定这是否是 kube dns/flannel 问题,有关如何调试的任何指示?
为了解决这个问题,我必须在一个全新的节点上重新安排这些 pod。我试过重新启动法兰绒,它没有帮助。下次发生这种情况时,将重新启动 kube-dns pod。
- 例子
举个例子,我们在同一个节点上安排了 kafka 和 zk(运行良好,由另一个节点上的另一个 kafka pod 使用)。而且kafka找不到zk。nslookup 在该 kafka pod 中失败,但在任何其他 pod 中都可以正常工作。这不是 kafka 问题,因为我们在不同 pod 之间的其他节点上也有这个问题。我如何检查 kube-dns 条目 - kube-dns 日志似乎显示所有设置都很好,没有错误
```
```
networking - 节点如何在 Kubernetes 中获取子网?
我正在运行使用 kubeadm 安装的 kubernetes(v1.7) 和 flannel(v0.9.0)。
我想知道——
- 节点如何获得子网?
- 所有分配的子网都存储在哪里以及如何查看它们?
- flannel 如何与 kubernetes 交互?
谢谢,
kubernetes - 如何调试 kubectl 申请 kube-flannel.yml?
我正在尝试按照以下文档创建一个 kubernetes 集群:https ://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
首先,我在带有 Vagrant 的 VirtualBox 内的 Coreos (1520.9.0) 上安装了带有 docker 镜像的 kubeadm:
这是我的 kubeadm 初始化:
kubeadm init --pod-network-cidr=10.244.0.0/16
运行命令时:
它返回:
但是如果我检查“kubectl get pods --all-namespaces”
它返回:
我journalctl -f -u kubelet
可以看到这个错误:Unable to update cni config: No networks found in /etc/cni/net.d
我怀疑命令有问题kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
有没有办法知道为什么这个命令不起作用?我可以从任何地方获取一些日志吗?
kubernetes - Kubernetes pod 无法访问特定节点上的覆盖网络
我在 ubuntu 16.04.3 虚拟机上部署了一个 k8s 集群。集群由 1 个主节点和 3 个节点组成。覆盖网络是法兰绒。
尽管配置方式完全相同,但我的两个节点(buru 和 tasmania)工作正常,而第三个节点(fraser)根本不想协作。
如果我在 fraser 服务器中 ssh,我可以正确访问覆盖网络:
但是 pod 显然无法到达覆盖网络:
该test-fraser
吊舱只是我用于故障排除的高山静态吊舱。
相同的 pod,以相同的方式部署在另一个节点 (buru) 上工作得很好。
由于覆盖网络在主机本身上工作,我会说法兰绒在这里工作得很好。但是,出于某种原因,pod 内的网络无法正常工作。
其他注意事项
- 所有服务器均未启用防火墙
- Docker版本相同(1.13.1)
- 就 ubuntu 更新而言,所有节点都是最新的
有人可以帮我解决这个问题吗?
编辑
kubernetes - Kubernetes(由 Kubeadm 安装)使用的 Flanneld 配置在哪里?
问题
Kubernetes worker 节点上的 Flanneld 有配置文件 /etc/sysconfig/flanneld,它指向 worker 节点 localhost 上的 ETCD,它应该指向主节点 etcd URL。
这是否意味着 Pod 网络没有正确配置或 Flannel 与 Kubernetes 用户不同的配置文件?如果是这样,flanneld 使用哪种配置?
此外,如果有关于 Kubernetes 如何与 CNI 交互的良好参考/资源,请提出建议。
在工作节点上,配置指向它自己,而不是主 IP。
工作节点成功加入。
worker节点上的flannel.1 IF配置了save CIDR with master,虽然配置没有指向配置Flannel的master。
在 worker 上执行的步骤(除了 sudo yum install kubelet kubeadm flanneld)是 kubeadm join,看起来成功(尽管有一些错误消息)。
背景
按照Using kubeadm to Create a Cluster in CentOS 7 on VirtualBox安装了 Kubernetes 1.8.5 。
有关的
kubernetes - 如何在 kubernetes 上使用现有的无 cni 法兰绒安装仅策略印花布?
我有一个 Kubernetes 集群。它使用 flannel 来提供网络功能。它关闭了 cni 网络插件。
但是,flannel 不支持 kubernetes 网络策略,我将对其进行测试。我想要的是保留现有的网络配置,并以仅策略模式安装 calico。
Canal是一个结合了法兰绒和印花布的项目。但是它将 flannel 和 calico 都视为 cni 插件。
我将canal_etcd_tls.yaml更改为仅安装策略印花布。不幸的是,它效果不佳。这是我更改的 cni 网络配置:
那么,有没有一种方法可以将仅策略的 calico 安装为 cni 插件,并保持现有的无 cni 法兰绒工作?
ubuntu - 将 flannel 配置为在 kubernetes 中使用非默认接口
有没有办法定义 Flannel 应该在哪个接口中监听?根据他的文档,在 /etc/sysconfig/flanneld 中添加 FLANNEL_OPTIONS="--iface=enp0s8" 应该可以工作,但事实并非如此。
我的主节点配置在 xenial(ubuntu 16.04) vagrant 中运行:
主机 IP 地址:
豆荚名称:
法兰绒日志:
如何在 kubernetes 中配置 flannel以在 enp0s8 而不是 enp0s3 中收听?
docker - Kubernetes 和 Vlans 覆盖网络 (L2)
我有一个 kubernetes 集群(VMware 服务器中的 3 个虚拟机)使用 Flannel 未路由网络(10.0.0.1/24)和一个带有 Nginx 反向代理的“公共”私有 IP ... 10.10.0.1/24。因此,所有域都指向 10.10.0.10,我将内部重定向到 10.0.0.1/24 中的公开服务。
问题是我有 2 个 DMZ……出于安全原因,我不想有 2 个接口(eth0,ehh1),每个接口都有一个 DMZ……如果某个攻击者入侵了我的 kubemaster,可以从一个 DMZ 跳转到另一个。
我想像VMware服务器一样管理它...将带有本机vlan的Trunk传递到单个端口。有一些方法可以使用中继和本机 vlan 配置单个接口(eth0),并使用 Contiv 直接在不同的 vlan 中公开 kubernetes 服务?
老实说,我不想为每个服务 vlan 设置一个集群......
提前致谢!