IPMasqueradeAgent用户指南
此页面展示如何配置和启用
ip-masq-agent
。
在开始之前
你必须拥有一个Kubernetes的集群,同时你的Kubernetes集群必须带有kubectl命令行工具。建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。如果你还没有集群,你可以通过Minikube构建一个你自己的集群,或者你可以使用下面任意一个Kubernetes工具构建:

要检查版本,请输入
kubectlversion
。
IPMasqueradeAgent用户指南
ip-masq-agent
配置iptables规则以隐藏位于集群节点IP地址后面的Pod的IP地址。这通常在将流量发送到集群的PodCIDR范围之外的目的地时使用。
关键术语
ip-masq-agent 配置 iptables 规则,以便在将流量发送到集群节点的 IP 和集群 IP 范围之外的目标时 处理伪装节点或 Pod 的 IP 地址。这本质上隐藏了集群节点 IP 地址后面的 Pod IP 地址。 在某些环境中,去往“外部”地址的流量必须从已知的机器地址发出。 例如,在 Google Cloud 中,任何到互联网的流量都必须来自 VM 的 IP。 使用容器时,如 Google Kubernetes Engine,从 Pod IP 发出的流量将被拒绝出站。 为了避免这种情况,我们必须将 Pod IP 隐藏在 VM 自己的 IP 地址后面 – 通常称为“伪装”。 默认情况下,代理配置为将RFC 1918指定的三个私有 IP 范围视为非伪装CIDR。 这些范围是 10.0.0.0/8,172.16.0.0/12 和 192.168.0.0/16。 默认情况下,代理还将链路本地地址(169.254.0.0/16)视为非伪装 CIDR。 代理程序配置为每隔 60 秒从 /etc/config/ip-masq-agent 重新加载其配置, 这也是可修改的。
代理配置文件必须使用YAML或JSON语法编写,并且可能包含三个可选值:
10.0.0.0/8、172.16.0.0/12和192.168.0.0/16范围内的流量不会被伪装。任何其他流量(假设是互联网)将被伪装。Pod访问本地目的地的例子,可以是其节点的IP地址、另一节点的地址或集群的IP地址范围内的一个IP地址。默认情况下,任何其他流量都将伪装。以下条目展示了ip-masq-agent的默认使用的规则:
iptables -t NAT -L IP-MASQ-AGENT
RETURNall--anywhere169.254.0.0/16/* ip-masq-agent: cluster-local traffic should not be subject to MASQUERADE */ ADDRTYPE match dst-type !LOCALRETURNall--anywhere10.0.0.0/8/* ip-masq-agent: cluster-local traffic should not be subject to MASQUERADE */ ADDRTYPE match dst-type !LOCALRETURNall--anywhere172.16.0.0/12/* ip-masq-agent: cluster-local traffic should not be subject to MASQUERADE */ ADDRTYPE match dst-type !LOCALRETURNall--anywhere192.168.0.0/16/* ip-masq-agent: cluster-local traffic should not be subject to MASQUERADE */ ADDRTYPE match dst-type !LOCALMASQUERADEall--anywhereanywhere/* ip-masq-agent: outbound traffic should be subject to MASQUERADE (this match must come after cluster-local CIDR matches) */ ADDRTYPE match dst-type !LOCAL
默认情况下,在GCE/GoogleKubernetesEngine中,如果启用了网络策略,或者你使用的集群CIDR不在10.0.0.0/8范围内,则
ip-masq-agent
将在你的集群中运行。如果你在其他环境中运行,可以将
ip-masq-agent
daemonSet添加到你的集群中。
创建ip-masq-agent
通过运行以下kubectl指令创建ip-masq-agent:
kubectl Apply -f你必须同时将适当的节点标签应用于集群中希望代理运行的任何节点。
kubectl label nodes my-node beta.kubernetes.io/masq-agent-ds-ready=true
更多信息可以通过ip-masq-agent文档这里找到。
在大多数情况下,默认的规则集应该足够;但是,如果你的集群不是这种情况,则可以创建并应用ConfigMap来自定义受影响的IP范围。例如,要允许ip-masq-agent仅作用于10.0.0.0/8,你可以在一个名为“config”的文件中创建以下ConfigMap。
运行以下命令将ConfigMap添加到你的集群:
kubectl create configmap ip-masq-agent --from-file=config --namespace=kube-system
这将更新位于/etc/config/ip-masq-agent
的一个文件,该文件以resyncInterval
为周期定期检查并应用于集群节点。重新同步间隔到期后,你应该看到你的更改在iptables规则中体现:
iptables -t nat -L IP-MASQ-AGENT
Chain IP-MASQ-AGENT (1 references)targetprot opt sourcedestinationRETURNall--anywhere169.254.0.0/16/* ip-masq-agent: cluster-local traffic should not be subject to MASQUERADE */ ADDRTYPE match dst-type !LOCALRETURNall--anywhere10.0.0.0/8/* ip-masq-agent: cluster-localMASQUERADEall--anywhereanywhere/* ip-masq-agent: outbound traffic should be subject to MASQUERADE (this match must come after cluster-local CIDR matches) */ ADDRTYPE match dst-type !LOCAL
默认情况下,本地链路范围(169.254.0.0/16)也由ip-masqagent处理,该代理设置适当的iptables规则。要使ip-masq-agent忽略本地链路,可以在ConfigMap中将masqLinkLocal
设置为true。
nonMasqueradeCIDRs:- 10.0.0.0/8resyncInterval: 60smasqLinkLocal: true
木本植物,叶子像辣椒的叶子,花白色像栀子花,是什么花
狗牙花。 别名白狗花、狮子花、豆腐花夹竹桃科 狗牙花属
树叶对树有什么作用???
树叶其实就是树的营养器官,其原因有二:1、进行光合作用,为树木提供有机物2、进行蒸腾作用,使得水能不断的往上运输,为树木提供养料,因为矿物质是溶在水里运输的
叶子是怎样繁殖的
许多厚实的叶子都可以繁殖的。
一般挑选生命力较旺盛的叶片,不要太幼嫩的。
将叶片摘取下来,放在花盆里,然后用半湿润的土把叶柄掩上,就行了。
发表评论