问题标签 [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 投票
2 回答
315 浏览

kubernetes - kube-apiserver 是否期望 kube-proxy 的存在?

我一直在运行我的 kubernetes master 与我的 kubernetes 节点分开。所以我有kube-apiserver,kube-scheduler并且kube-controllermanager运行在没有kubelet,kube-proxyflannel.

到目前为止,这已经很完美了。但是,今天我尝试设置Web UI并通过 API 服务器访问它。访问时出现以下错误http://kube-master-0:8080/ui

Error: 'dial tcp 172.16.72.12:9090: getsockopt: connection timed out' Trying to reach: 'http://172.16.72.12:9090/'

这向我表明 API 服务器正在尝试连接到 pod IP,因为我们没有在此主机上运行 flannel 或 kube-proxy,因此172.16.72.12不会路由 IP。

我是否应该在我的 API 服务器上运行 kube-proxy 和 flannel?是否有另一种方法可以让 API 服务器代理 UI?

0 投票
1 回答
3612 浏览

redis - Kubernetes Redis 集群问题

我正在尝试在 centos 上使用 kubernetes 创建 redis 集群。我的 kubernetes 主机在一台主机上运行,​​kubernetes 从机在 2 台不同的主机上运行。

etcdctl 获取 /kube-centos/network/config

这是我的复制控制器

kubectl 创建 -f rc.yaml

使用的 Redis-config 文件

我使用以下命令创建了 kubernetes 服务。

kubectl expose rc redis-master --name=redis-service --port=6379 --target-port=6379 --type=NodePort

现在我已经启动并运行了所有的 pod 和服务。我正在使用 redis-trib pod 创建 redis 集群。

kubectl exec -it redis-trib bash

./redis-trib.rb 创建 --replicas 1 172.30.79.2:6379 172.30.79.3:6379 172.30.79.4:6379 172.30.96.2:6379 172.30.96.3:6379 172.30.96.4:6379

使用以下消息按预期创建 Redis 集群。

现在我应该能够从我网络中的任何主机访问我在 kubernetes 节点 IP(192.168.240.116) 和 nodePort(30894) 上的 redis 集群。当我从一个 kubernetes 节点执行以下命令时,一切都按预期工作。

redis-cli -p 30894 -h 192.168.240.116 -c

当我从同一网络中的不同(非 kubernetes)节点运行相同的命令时,我看到连接超时错误。

redis-cli -c -p 30894 -h 192.168.240.116

使用NodePort服务类型暴露时是不是不能访问kubernetes集群网络外的redis-cluster ?

我也不能使用LoadBalancer服务类型,因为我没有将它托管在云上。

我已经被这个问题困扰了很长一段时间。有人可以建议我应该使用什么方法来访问我的网络之外的 redis-cluster 吗?

谢谢

0 投票
1 回答
1370 浏览

docker - Kubernetes 和 flannel 网络设置

我希望有人能在 Kubernetes 网络设置上给我启发。我想使用 flannel 作为 Kubernetes 网络层。

我在 Kubernetes 上:1.5.5 顺便说一句。

问题是,你可以(应该?)定义一个 cidr 的地方太多了,我不再只见树木不见森林。

给你一些关于我的设置的信息:

  • 我的主机部署在 10.9.0.0/24 范围内。
  • 我想使用 10.254.0.0/16 作为法兰绒范围
  • 目前,工作节点上的 docker 使用 172.17.0.0/16 范围

kube-apiserver 有以下 cidr 选项:

kube-controller-manager 具有以下 cidr 选项:

这两者有什么区别?

kube-proxy 有这个:

什么 ip 范围到底在哪里?

0 投票
1 回答
115 浏览

networking - Kubernetes Networking 连接本地/容器

我是一名开发人员,正在学习曲线以成为更多的 DevOps。

我正在构建一个 Kubernetes 集群。我希望能够“直接”连接到 pod。我不想通过服务进行负载平衡,我希望能够连接到单个 pod。

我正在阅读有关网络的信息,但感到不知所措。详细了解后我会自己得到答案,但在那之前有没有专家可以回答:

是否有任何 kubernetes 网络选项可以让我将 TCP/IP 从本地直接连接到单个 pod?

我绝对愿意在本地运行一些东西来实现这一点。我真的不在乎它是否覆盖(没有延迟要求)。我想我可以在集群上运行 Calico,在我的机器上运行 Bird。这是真的?有没有人做过类似的事情?

0 投票
1 回答
259 浏览

networking - 如何使主机接口,包括 cni* 在 kubernetes 特权 pod 中可访问?

我们希望看到来自主机上其他接口的流量,但注意到它们在 kubernetes pod 中不可见。是否可以在 yaml 文件中配置一个选项,以使接口在以特权模式运行的 pod 中可见。

0 投票
1 回答
125 浏览

flannel - 为什么 CNI conf 文件名以数字为前缀

我正在尝试创建一个 CNI conf 文件。为什么 CNI conf 文件名以数字为前缀?例如“10-calico.conf”“10-weave.conf”“10-Flannel.conf”。有遵循的惯例吗?

0 投票
2 回答
909 浏览

docker - 使用 mesos、marathon 和 zookeeper 时,当我使用“docker,mesos”指定“containerizers”文件时,我的 mesos-slave 没有启动?

我有 3 个 CentOS 虚拟机,我在主节点上安装了 Zookeeper、Marathon 和 Mesos,而只在其他 2 个虚拟机上安装了 Mesos。主节点上没有运行 mesos-slave。我正在尝试运行 Docker 容器,所以我"docker,mesos"在容器化文件中指定。其中一个 mesos-agents 使用此配置启动良好,我已经能够将容器部署到该从站。但是,当我有这个配置时,第二个 mesos-agent 就会失败(如果我取出那个容器化文件但它不运行容器,它就可以工作)。以下是出现的一些日志和信息:

以下是日志目录中的一些“消息”:

来自码头工人的日志:

法兰绒的日志:

0 投票
4 回答
13778 浏览

kubernetes - 在 Kubernetes 上安装 Flannel

我在单个主机上安装了新的 Kubernetes 1.6.2 master,现在尝试使用https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml启动 Flannel

吊舱没有出现:

我也尝试过使用默认服务帐户,但它不会出现。

0 投票
1 回答
381 浏览

kubernetes - 带有 flannel 的 Kubernetes 无法在不同节点上的 2 个 pod 之间建立连接

我们已经使用 /16 子网启动了一个集群,并将 flannel 作为我们的网络覆盖。pod 正在运行 sock-shop 演示应用程序的 2 个节点上创建。但我们注意到的是,不同节点中的 pod 无法在它们之间建立连接。我们确实看到了使用 flannel.1 接口的 pod 的路由条目。甚至 ping 失败。任何指向调试信息的指针都将不胜感激。

0 投票
1 回答
523 浏览

kubernetes - 在为 Kubernetes 设置 Flannel 和服务 IP 时,选择网络 /16 和 /12 有何影响?

我正在从头开始设置 Kubernetes 集群。我希望在安装过程中安装 Flannel。当我查看在线指南/示例时,我可以看到有必要配置 Flannel 子网。

我可以看到一些指南(deploying-kubernetes-using-ansible.html)像这样设置法兰绒网络:

而这里的另一个指南(Kubernetes – 在 CentOS 7 上简单安装)像这样设置网络:

我仍在学习 CIDR 表示法,因此我可以看到第一种方法可用的 IP 地址比第二种方法多。第二个 URL 指出:

您的所有 kubernetes 节点将同时位于 3 个不同的子网中:

外部接口子网:
10.0.1.0/24 Flannel 子网:172.17.0.0/16 #不使用现有子网
服务集群子网:10.10.10.0/24 #不使用现有子网

我可以从维基百科(私有 IPv4 地址空间)中看到,172 范围是高达 /12 的私有地址空间。

在我看来,这句话的含义是:

  • 外部接口:/24(由网络管理员设置)== 外部网络上最多 255 个主机。这是集群中的最大节点数。
  • Flannel 子网:172.17.0.0/16(由 Flannel 配置设置)== Flannel 网络中最多 65535 个 IP。这是什么意思?
  • 服务集群:10.10.10.0/24(由 KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.10.10.0/24" 设置)== 集群中最多 255 个服务?(这里的文档)

将 Flannel 配置更改为 /12(或 12..31 中的任何其他数字)的实际含义是什么?

同样的问题,service-cluster-ip-range您如何消除服务 IP 与 pod 的 IP 的冲突?