func newProxyServer(name, host, scheme string, port uint16, useBearerToken bool, transport *http.Transport, servertlsConfig *tls.Config, bearerToken []byte) (*Server, error) {
server := &http.Server{
Addr: fmt.Sprintf(":%d", port),
TLSConfig: servertlsConfig,
}
return &Server{
name: name,
host: host,
scheme: scheme,
port: port,
server: server,
httpClient: []*http.Client{
{Transport: transport},
},
// 这里如果后续agent副本永远维持在1以上,会导致该token永远不更新
useBearerToken: useBearerToken,
bearerToken: bearerToken,
}, nil
}
混沌测试中,不断的扩容和缩容agent副本数量为1-5。会发生token过期。
主要原因是,在1.24版本的中的kubernetes有token过期机制。agent第一个副本连接后,proxy获取token,但是后续的agent副本连接,新agent的token不会被使用。在agent不断的扩容和缩容1-5的过程。会导致第一个token永远使用,不会更新。