Kubernetes和法兰绒网络设置

时间:2017-03-29 13:40:09

标签: docker kubernetes flannel

我希望有人可以在Kubernetes网络设置上启发我。我想用法兰绒作为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提供了以下选项:

--service-cluster-ip-range

kube-controller-manager为cidr提供了以下选项:

--cluster-cidr
--service-cluster-ip-range

这两者有什么区别?

kube-proxy有这个:

--cluster-cidr={{ kubernetes_cluster_cidr }}

什么是ip范围到底在哪里?

1 个答案:

答案 0 :(得分:1)

实际上,您有2个不同的网络层:

  • Cluster-cidr:pods图层(您要使用10.254.0.0/16的位置): 一旦你的法兰绒网络启动并运行,你就必须配置Docker来使用它(通过systemd drop-in或类似的东西: echo "DOCKER_OPTS="--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}"" >> /etc/default/docker)。这样所有" docker0"群集中的接口将在法兰绒网络中连接。
  • Service-cluster-ip-range:service图层。服务用于抽象一组逻辑pod。只要你不知道pod的位置,或者要分配给它的IP ......你需要某种抽象来到一个pod / pod的集合,无论他们在哪里是
  

Kubernetes服务是一种抽象,它定义了一组逻辑Pod和一个访问它们的策略 - 有时称为微服务。服务所针对的Pod集合(通常)由标签选择器确定(请参阅下文,了解您可能需要不带选择器的服务的原因)。   例如,考虑一个运行3个副本的图像处理后端。那些复制品是可替代的 - 前端并不关心它们使用哪个后端。虽然组成后端集的实际Pod可能会发生变化,但前端客户端不应该知道这一点或跟踪后端列表本身。服务抽象实现了这种解耦。

注意:服务层不得与您的群集pods网络(法兰绒)或任何其他现有网络基础架构重叠。