Skip to main content

网络插件

RKE 提供了以下网络插件,作为附加组件部署:

  • Flannel
  • Calico
  • Canal
  • Weave

注意:启动集群后,不能更改网络提供商。因此,请仔细选择您要使用的网络提供商,因为 Kubernetes 不允许切换网络提供商之。一旦使用网络提供商创建集群,更换网络提供商就需要重建整个集群及其所有应用。

默认情况下,RKE 使用的网络插件是canal。如果你想使用另一个网络插件,你需要在cluster.yml中指定在集群级别启用哪个网络插件。

# 设置flannel网络插件
network:
plugin: flannel

网络插件使用的镜像在system_images中。每个 Kubernetes 版本,都有与每个网络插件相关联的默认镜像,但这些镜像可以通过更改system_images中的镜像标签来覆盖。

禁用网络插件 Deployment#

您可以将集群配置中的 plugin设置为none,禁用默认的 网络插件 Deployment。

network:
plugin: none

网络插件选项#

除了可以用来部署网络插件的不同镜像外,有些网络插件还支持配置其他选项。

Canal 插件选项#

network:
plugin: canal
options:
canal_iface: eth1
canal_flannel_backend_type: vxlan

Canal 接口#

通过设置canal_iface,可以配置主机间通信使用的接口。 canal_flannel_backend_type选项允许你指定要使用的flannel backend的类型。默认情况下使用vxlan后端。

Canal 网络插件容忍度#

从 v1.2.4 开始提供

配置的容忍度适用于calico-kube-controllers部署。

network:
plugin: canal
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationseconds: 300
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationseconds: 300

要检查 calico-kube-controllers部署上的应用容忍度,请使用以下命令。

kubectl -n kube-system get deploy calico-kube-controllers -o jsonpath='{.spec.template.spec.tolerations}'

Flannel 插件选项#

network:
plugin: flannel
options:
flannel_iface: eth1
flannel_backend_type: vxlan

Flannel 接口#

通过设置flannel_iface,可以配置主机间通信使用的接口。 flannel_backend_type选项允许你指定要使用的flannel backend的类型。默认情况下使用vxlan后端。

Calico 插件选项#

network:
plugin: calico
options:
calico_cloud_provider: aws

Calico 云服务提供商#

Calico 目前只支持 2 个云提供商,AWS 或 GCE,可以使用calico_cloud_provider进行设置。

可选值

  • aws
  • gce

Canal 网络插件容忍度#

从 v1.2.4 开始提供

配置的容忍度适用于calico-kube-controllers部署。

network:
plugin: canal
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationseconds: 300
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationseconds: 300

要检查 calico-kube-controllers部署上的应用容忍度,请使用以下命令。

kubectl -n kube-system get deploy calico-kube-controllers -o jsonpath='{.spec.template.spec.tolerations}'

Weave 插件选项#

network:
plugin: weave
weave_network_provider:
password: "Q]SZ******oijz"

Weave 加密#

Weave 加密可以通过向网络提供商配置传递一个字符串密码来启用。

自定义网络插件#

可以通过 RKE 的用户自定义插件功能来添加自定义网络插件。可以在 addons字段中添加网络插件的集群的加载清单,如自定义的网络插件示例所示。

Last updated on by yzeng25