在Terway网络模式下,节点上的弹性网卡(ENI)由Terway进行管理,您无需操作。但如果在某些特殊场景下,您需要自行管理部分弹性网卡,请为Terway上的弹性网卡配置白名单,以避免两者管理的弹性网卡之间产生冲突。配置白名单后,仅符合标签过滤条件的弹性网卡会被Terway管理。本文介绍如何为弹性网卡(ENI)配置白名单。
索引
前提条件
已创建Kubernetes托管版集群,且集群的网络插件为Terway。更多信息,请参见创建ACK托管集群。
请确保弹性网卡(ENI)上已经配置了预期的标签,否则此网卡将被排除。
此文档包含高危操作,请在充分理解、验证后使用。
使用限制
Terway需为v1.5.5版本。关于如何升级组件版本,请参见管理组件。
操作步骤
执行以下命令,修改Terway配置文件。
kubectl edit cm -n kube-system eni-config
在
eni_conf
配置中增加以下内容。"eni_tag_filter": { "creator": "terway" }
"eni_tag_filter"
表示网络接口的标签过滤器,{ "creator": "terway" }
则是具体的标签过滤条件,表示只有由Terway创建的网络接口才会被匹配。示例如下:
eni_conf: | { "eni_tag_filter": { "creator": "terway" }, "ip_stack": "ipv4", "vswitch_selection_policy": "ordered" }
重要请确保弹性网卡(ENI)上已经配置了预期的标签,否则此网卡将被排除。
关于如何修改弹性网卡标签,请参考修改弹性网卡标签。
关于如何在Terway创建网卡时,为网卡设置标签,请参考自定义Terway配置参数。
执行以下命令,重启Terway使配置生效。
kubectl delete pod -nkube-system -l app=terway-eniip
预期输出:
pod "terway-eniip-XXX" deleted
确认配置已生效。
执行以下命令,查看terway-eniip的状态。
kubectl get pods -n kube-system -l app=terway-eniip
预期输出:
NAME READY STATUS RESTARTS AGE terway-eniip-XXX 2/2 Running 0 19h
执行以下命令,查看Terway的配置信息。
kubectl logs -nkube-system terway-eniip-XXX 或者 kubectl logs -nkube-system terway-eniip-XXX -c terway-init
如果输出结果中包含以下类似内容,表示Terway的配置已生效。
# ENITagFilter表示网络接口标签过滤器,creator:terway表示只有由Terway创建的网络接口才会被匹配。 ENITagFilter:map[creator:terway]
添加新节点或重新加入已有节点生效。
在Terway 1.10版本开始,新建集群采用不同的资源管理方式
执行以下命令,查看Terway的配置信息。
kubectl get cm -nkube-system eni-config -oyaml| grep ipam_type "ipam_type": "crd",
如果结果包含
crd
,则需要重新添加节点。若无结果,则无需重新添加节点。关于如何操作节点请参考节点与节点池。