Kubernetes 支持容器网络接口。 这个网络插件架构允许你使用任何你喜欢的、对 Kubernetes 友好的 SDN。 目前支持的插件是 Flannel 和 Canal。
本页将展示集群中各个网络部分是如何工作,并且对它们进行相应的配置。
本页假设你有一个已经通过 Juju 部署、正在运行的集群。
Note:注意,如果你是通过
conjure-up
或者 CDK 软件包部署的集群,将不需要再手动部署 CNI 插件。
CNI charms 在子路径下。
这些 charms 需要主 charm 实现 kubernetes-cni
接口,才能正常部署。
juju deploy flannel
juju add-relation flannel kubernetes-master
juju add-relation flannel kubernetes-worker
juju add-relation flannel etcd
juju deploy canal
juju add-relation canal kubernetes-master
juju add-relation canal kubernetes-worker
juju add-relation canal etcd
iface 接口是用来配置 flannel 或 canal 的 SDN 绑定。 如果属性为空字符串或未定义,程序将通过下面的命令行试图找出默认的网络适配器:
$ route | grep default | head -n 1 | awk {'print $8'}
cidr 在用 etcd 进行网络设置时,用于配置 flannel 或 canal SDN 所要使用的网络地址范围。
请确保这个网络地址范围在所要部署的 L2/L3 上不是在用状态,
因为如果没有选择一个好的 CIDR 范围来分配给 flannel,就会出现冲突或异常行为。
同时也要保证 IP 地址范围足够大以支持未来可能会发生的集群扩容。
A 类 IP 地址 /24
是一个不错的选择。
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.