zoukankan      html  css  js  c++  java
  • Flannel

    原文地址

    flannel 从 ETCD 中读取配置。

    默认情况下,flannel 从 /coreos.com/network/config 中读取配置,可以使用 --etcd-prefix 覆盖。

    通过 etcdctl 工具设置 ETCD 中的值。

    配置值是一个带有以下键的 JSON 字典:

    • Network (字符串):CIDR 格式的 IPv4 网络,用于整个 flannel 网络,这是唯一的必填字段。
    • SubnetLen(整数):分配给每个主机的子网的大小。默认为 24(即 /24),除非 Network 被配置为比 /24 小,在这种情况下,它比 Network 小 1。
    • SubnetMin(字符串):分配的子网对应的 IP 地址段的起始值。默认为 Network 的第一个子网。
    • SubnetMax(字符串):分配的子网对应的 IP 地址段的结束值。默认为 Network 的最后一个子网。
    • Backend (字典 dictionary):要使用的后端类型以及该后端的特定配置。默认为 udp 后端。

    子网租赁的有效时间为 24 小时。除非使用 --subnet-lease-renew-margin-margin 选项设置了不同的更新值,租约将在其到期 1 小时内续订。

    JSON 配置示例

    以下配置说明了使用 udp 后端的大多数选项:

    {
        "Network": "10.0.0.0/8",
        "SubnetLen": 20,
        "SubnetMin": "10.10.0.0",
        "SubnetMax": "10.99.0.0",
        "Backend": {
            "Type": "udp",
            "Port": 7890
        }
    }

    重要的命令行选项

    --public-ip="" # 可被其他节点访问以进行主机间通信的 IP。默认为用于通信的接口的IP
    --etcd-endpoints=http://127.0.0.1:4001 # 以逗号分隔的 etcd 端点列表
    --etcd-prefix=/coreos.com/network # etcd 前缀
    --etcd-keyfile="" # 用于 etcd 通信的 SSL 密钥文件
    --etcd-certfile="" # 用于 etcd 通信的 SSL 证书文件
    --etcd-cafile="" # 用于 etcd 通信的 SSL Certificate Authority 文件
    --kube-subnet-mgr # 联系 Kubernetes API 进行子网分配而不是 etcd
    --iface="" # 用于主机间通信的接口(IP 或域名)。默认为机器上默认路由的接口。这可以指定多次,以便按顺序检查每个选项。返回找到的第一个匹配项。=
    --iface-regex="" # 正则表达式,匹配第一个要使用的主机间通信的接口(IP 或域名)。如果未指定,则默认为机器上默认路由的接口。这可以指定多次来按顺序检查每个正则表达式。返回找到的第一个匹配项。该选项被 iface 选项取代,只有在 iface 选项中没有指定任何选项时才会使用该选项
    --iptables-resync=5 # 以秒为单位重新同步 iptables 规则。默认为 5 秒,如果发生大量的 iptables 锁争用,可以尝试增大这个值
    --subnet-file=/run/flannel/subnet.env # 用于写入 env 变量(子网和 MTU 值)的文件名
    --subnet-lease-renew-margin=60 # 子网租约续约提前量,单位分支
    --ip-masq=false # 为发往 flannel 网络外部的流量设置 IP 伪装。Flannel 假定 NAT POSTROUTING 链中的默认策略是 ACCEPT
    -v=0 # V 日志的日志级别。设置为 1 以查看与数据路径相关的消息
    --healthz-ip="0.0.0.0" # healthz 服务器要侦听的 IP 地址(默认为“0.0.0.0”)
    --healthz-port=0 # healthz 服务器侦听的端口(0 表示禁用)
    --version # 打印版本并退出

    MTU 由 flannel 自动计算和设置。然后它会在 subnet.env 中报告该值。这个值不能改变。

    环境变量

    上面列出的命令行选项也可以通过环境变量指定。例如 --etcd-endpoints=http://10.0.0.2:2379 等同于 FLANNELD_ETCD_ENDPOINTS=http://10.0.0.2:2379 环境变量。任何命令行选项都可以变成一个环境变量,方法是用 FLANNELD_ 作为前缀,并去掉前导破折号,转换为大写字母并将所有其他破折号替换为下划线。

    健康检查

    Flannel 提供了一个负责健康检查的 http 端点 healthz。目前,当 flannel 运行时,这个端点将一直返回 http 状态 ok(即 200)。该功能默认是禁用的。将 healthz-port 设置为非零值将启用 flannel 的 healthz 服务器。

  • 相关阅读:
    javasscript学习笔记 之 数组学习二 数组的所有方法
    JavaScript学习笔记之 数组方法一 堆栈 和队列
    JavaScript学习笔记:检测数组方法
    _bzoj1500 [NOI2005]维修数列【真·Splay】
    _bzoj1012 [JSOI2008]最大数maxnumber【Fenwick Tree】
    _bzoj1010 [HNOI2008]玩具装箱toy【斜率优化dp】
    _bzoj3224 Tyvj 1728 普通平衡树【Splay】
    _bzoj2002 [Hnoi2010]Bounce 弹飞绵羊【分块】
    _bzoj1001 [BeiJing2006]狼抓兔子【平面图】
    _bzoj1036 [ZJOI2008]树的统计Count【树链剖分】
  • 原文地址:https://www.cnblogs.com/kika/p/10851603.html
Copyright © 2011-2022 走看看