networking - kubernetes中节点如何获取子网?

标签 networking kubernetes flannel

我正在运行使用 kubeadm 安装的 kubernetes(v1.7) 和 flannel(v0.9.0)。

我想知道-

  1. 节点如何获取子网?
  2. 所有分配的子网都存储在哪里以及如何查看它们?
  3. flannel 如何与 kubernetes 交互?

谢谢

最佳答案

  1. flannel 给出 POD IP 地址。网络范围在 subnet.env 文件中定义
# cat /var/run/flannel/subnet.env
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
  • 分配的 IP 存储在主节点的 etcd 数据库中。您可以查询API服务器来查看它们

  • Flannel 是一个为 POD 提供子网的虚拟网络。当 Kubernetes 启动 pod 时,它会从 flannel 获取 IP 地址并分配给 POD

  • 您可以从 etcd 数据库中查看这样的网络信息。

     export ETCDCTL_API=3;  etcdctl get "/registry/configmaps/kube-system/kubeadm-config" --prefix=true
    

    关于networking - kubernetes中节点如何获取子网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458508/

    相关文章:

    linux - 为什么 Kubernetes 返回 ioctl 的奇怪结果

    docker - Kubernetes 使用 flannel 创建容器时卡在 "ContainerCreating"-state

    c - shutdown(2) 系统调用对我不起作用;我不确定我做错了什么

    Kubernetes 状态集 : kill the pod if container dies

    Azure kubernetes - 如何安装 spinnaker?

    docker - kubernetes设置所有物理节点的列表

    ubuntu - Kubernetes:无法访问 flannel pod

    mysql - 将 mysql 数据库移动到另一个 Amazon EC2 实例的性能影响

    performance - 处理大量网络流量的应用程序服务器上的防病毒软件。是还是不是?

    android - 如何使用 fetch(GET Call) 设置超时 react-native api 调用?