问题现象:

Pod启动后网络需要延迟一会才能通信。

问题原因:

ACK集群的Terway网络组件,默认开启了Network Policy。Pod启动后,配置Network Policy会有一定的时延(测试发现大概1~10秒),导致这个短暂的时间Pod无法访问外部网络,比如无法nacos配置中心。

解决方法:

1、临时解决办法,两种实现二选一:

1)开发修改服务启动脚本,sleep 10秒后再启动需要访问网络的进程。

2)运维修改服务的Yaml文件,添加一个sleep 10秒的init容器:

initContainers:
- name: busybox             
  image: docker.v2.aispeech.com/aispeech/busybox:1.35
  command:
  - sleep
  - "10"

2、永久解决办法:关闭Terway的Network Policy:

1)修改Terway的ConfigMap/eni-config,增加禁用NetworkPolicy的配置:在返回结果中增加以下字段:disable_network_policy: "true"

2)重启Terway的Pod。

问题现状:

DUI的两个ACK集群(d1-beta、d1-prod)都已经采用永久解决办法,关闭了Terway的Network Policy,不会再现该问题。

  • No labels