Gcloud kubernetes 证书生成过早

时间:2021-05-31 23:49:05

标签: kubernetes gcloud

我一直在关注 gcloud kubernetes 教程 here

我能够按照“创建 GKE 集群”的所有步骤进行操作。我将我的区域设置为 australia-southeast-1a。然后我创建了集群并收到以下成功消息:

enter image description here

但是,当我尝试使用 kubectl get nodes 检查集群或部署应用程序时,我收到以下错误消息:

<块引用>

错误:无法创建部署:发布 “https://35.189.27.151/apis/apps/v1/namespaces/default/deployments?fieldManager=kubectl-create”: x509:证书已过期或尚未有效:当前时间 2021-05-31T19:28:36+10:00 是在 2021-05-31T23:17:39Z 之前

这似乎表明服务器认为当前时间在 US-EAST,但证书是使用格林威治标准时间生成的。我不明白为什么会发生这种情况,所以把它扔给更有经验的 kubernetes/gcloud 开发者。

2 个答案:

答案 0 :(得分:0)

我认为错误是正确的,您的房东的时间不正确。

当前时间为:2021-06-01T02:25:25Z (GMT)

在悉尼:2021-06-01T12:25:25+10:00

注意悉尼是+10 GMT

您的服务器在格林威治标准时间之前;相同的日期和更早的时间

答案 1 :(得分:0)

时区不匹配是 due to the fact that

<块引用>

Container-Optimized OS 是 Kubernetes 中的默认节点 OS Image Google Cloud Platform 上的引擎和其他 Kubernetes 部署。

and because of that

<块引用>

Container-Optimized OS 的默认时区是 UTC0。

请注意,/etc 是无状态的,因此时区将重置为 每次重启时默认 (UTC0)。

为了解决这个问题,您可以创建一个指向所需时区的符号链接,如下例所示:

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/US/Pacific /etc/localtime

将您的 GKE 集群设置为正确的时间将解决您的问题。