续订证书后 Kubernetes TLS 握手错误

问题描述 投票:0回答:1

自从我续订 Kubernetes 上过期的证书以来,我在获取日志时遇到了问题。我续订的步骤是:

  1. 删除 /var/lib/kubelet/pki/kubelet-client-current.conf 的符号链接。
  2. 删除 /etc/kubernetes/kubelet.conf。
  3. 运行“kubeadm init 阶段 kubeconfig kubelet”。
  4. 重新启动 Kubelet。
  5. 运行“kubeadm init 阶段 kubelet-finalize all”。
  6. 重启 kubelet。
  7. 运行 kubeadm 证书更新全部。
  8. 重新启动。
  9. 将 /etc/kubernetes/admin.conf 复制到 .kube/config。

我在所有三个节点上执行了此操作。

kubectl 命令工作正常,kubernetes 仪表板运行良好,但日志显示:

Get "https://192.168.200.3:10250/containerLogs/ninegold-platform-build/jenkins-0/jenkins?tailLines=5000&timestamps=true": remote error: tls: internal error 

所有部署的所有日志都失败,而不仅仅是 Jenkins 有状态集。

当我使用“journalctl -u kubelet -n 100 --no-pager”查看日志时,我可以一致地看到以下错误。

TLS handshake error from 127.0.0.1:56232: no serving certificate available for the kubelet

此外,Jenkins 无法运行并出现错误:

io.fabric8.kubernetes.client.http.WebSocketHandshakeException

对于我在更新证书时错过的任何步骤的任何建议,以解决握手问题,我们将不胜感激。

kubernetes ssl jenkins kubectl kubelet
1个回答
0
投票

发现问题这里

我采取的修复步骤。

  1. 运行“kubectl get csr --sort-by=.metadata.creationTimestamp”。
  2. 在每个节点的最新证书上运行“kubectl 证书批准 csr-xyz”。

然后在 Jenkins 中,我更新了 Jenkins 文件的部署步骤引用的 Jenkins Secrets 中的 .kube/config 文件。

© www.soinside.com 2019 - 2024. All rights reserved.