由于时间不匹配,地形应用失败

时间:2018-12-12 10:00:00

标签: docker terraform

我正在尝试使用gitlab-ci从我的CI管道中将我的基础架构更改与terraform的docker映像一起应用。但是,我收到一些与计时有关的错误。我有点怀疑某个地方的时间漂移​​吗?

我尝试设置时区并安装NTP并同步时区。我确认时间和TZ已从默认的UTC更改为本地时区GMT + 8。但是,该错误仍然会发生。

是否注意到时间从20秒缩短到8小时,所以内部时钟似乎有问题?

如果这是terraform问题或docker问题,或两者兼而有之,我会感到困惑吗?任何帮助将不胜感激。谢谢。

  

module.ecs_singapore.network.aws_nat_gateway.main:仍在创建... (已过去20秒)   module.ecs_singapore.aws_alb.main:仍在创建... (经过20秒)

     

module.ecs_singapore.network.aws_nat_gateway.main:仍在创建... (已过去8h0m7s)   module.ecs_singapore.aws_alb.main:仍在创建... (已过去8h0m8s)

     

无法保存状态:无法上传状态:RequestTimeTooSkewed:请求时间与当前时间之间的差太大。       状态代码:403,请求ID:0B0026E03C66248C,主机ID:n4DuSL4lWCUY0uXCLecwNtOyszV / Pr6ucFMZYxr4TjMuPWNHz2UYtuziy5dysFpJncWdwss1XTo =

     

释放状态锁时出错!

     

错误消息:无法检索锁定信息:InvalidSignatureException:签名尚未更新:20181206T223022Z仍晚于20181206T144544Z(20181206T143044Z + 15分钟)。       状态码:400,请求ID:G5CBO6G31177HOF9IB22HKEQDBVV4KQNSO5AEMVJF66Q9ASUAAJG

     

Terraform在访问您的状态时获得了锁定,以防止他人   运行Terraform可能同时修改状态。一个   释放此锁定时发生错误。这可能意味着锁   是否正确释放。如果锁不能正确释放,   Terraform可能无法运行将来的命令,因为它看起来像   锁被锁住了。

2 个答案:

答案 0 :(得分:0)

我曾经遇到过这个问题,需要注意的几件事-

  1. 最重要的是,您需要在主机和容器内都保持相同的时区。如果无法更改时区,请将主机和容器时区更改为UTC本身。

  2. 您正在使用STS吗?如果是,则您将需要在时区同步/更改后再次获取/刷新令牌。

我非常确定这是一个时区问题,当主机和Docker容器上的时区发生冲突时,当我们尝试在docker容器中运行terraform二进制文件时,通常会发生此问题。

答案 1 :(得分:0)

对我来说,根本原因是ESXi主机中的时间设置不正确。错误的时间被同步到其中运行的所有VM,这导致了此问题。一旦我将其设置为正确的UTC时间,一切都会正常工作。