Kri*_*isT 3 x509 docker docker-swarm docker-engine
操作系统:CentOS 7 VM
Docker最新版本
执行的命令:
1) docker swarm init
2) docker swarm join --token SWMTKN-1-3iqtmbz55yvhxkahe2ncs7d9ebxzlzmw1pwhqzvmcemiolef63-3muc4qjs3mbvh53t8ktzzmb22 192.168.10.108:2377
Error: Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid
Run Code Online (Sandbox Code Playgroud)
如您所见,群连接给了我这个错误。此错误的原因是什么,它是从哪里来的?
关于Aditya
小智 6
发生了类似的问题,因为swarm init生成了带有开始日期的ca证书。可能是由于ntp滞后。
可以使用以下命令获取CA证书信息:
docker swarm ca | openssl x509 -noout -text
Run Code Online (Sandbox Code Playgroud)
输出将如下所示:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
...
Signature Algorithm: ecdsa-with-SHA256
Issuer: CN=swarm-ca
Validity
Not Before: Oct 24 20:25:00 2018 GMT
Not After : Oct 19 20:25:00 2038 GMT
Subject: CN=swarm-ca
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
...
...
...
...
ASN1 OID: prime256v1
NIST CURVE: P-256
X509v3 extensions:
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
...
Signature Algorithm: ecdsa-with-SHA256
...
...
...
...
Run Code Online (Sandbox Code Playgroud)
您可以看到有效期介于2018年10月24日20:25:00 GMT和10月19日20:25:00 2038 GMT之间。如果尝试加入群集的计算机在该间隔内没有时钟,它将失败并显示该错误。
小智 5
当节点中的时间不同步时会生成此错误。在最初的蜂群之后
docker swarm init
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令查看集群证书的限制时间
docker swarm ca | openssl x509 -noout -text
Run Code Online (Sandbox Code Playgroud)
您的节点时间必须介于
有效期
不早于:2019 年 2 月 20 日 10:21:00 GMT
不晚于:2039 年 2 月 15 日 10:21:00 GMT
要在 Linux 中设置节点时间,可以使用“timedatectl”命令
对于自动同步时间,可以在每个节点使用follow命令
timedatectl set-timezone asia/Tehran
timedatectl set-ntp on
Run Code Online (Sandbox Code Playgroud)
你可以显示所有时区
timedatectl list-timezones
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4113 次 |
| 最近记录: |