kubectl minikube更新证书

3

我正在使用kubectl命令来访问我的Ubuntu上的Minikube集群的api服务器。但是,当我尝试使用kubectl命令时,出现了证书过期错误:

/home/ayoub# kubectl get pods
Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2021-08-30T14:39:50+01:00 is before 2021-08-30T14:20:10Z

这是我的kubectl配置文件:
/home/ayoub# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://127.0.0.1:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    token: REDACTED
root@ayoub-Lenovo-ideapad-720S-13IKB:/home/ayoub#    /home/ayoub# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://127.0.0.1:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    token: REDACTED
root@ayoub-Lenovo-ideapad-720S-13IKB:/home/ayoub#

我该如何更新这个证书?

有一个关于Minikube的未解决问题,链接在https://github.com/kubernetes/minikube/issues/10122。 - P....
3个回答

4

2

为了更好的可见性,将此贴发布到社区维基中。欢迎大家扩充内容。


minikube 的 GitHub 上也有类似问题被提出。

临时解决方法是删除 /var/lib/minikube/ 目录中的一些文件,然后重置 Kubernetes 集群并在主机上替换密钥。这些步骤在这个答案中有描述。


1

sudo microk8s.refresh-certs --cert ca.crt 对我来说解决了问题一天。但似乎每天早上都需要执行此操作。你知道根本原因吗?我查看了在microk8s中找到的/snap/microk8s/current/certs-beta/ca.crt文件,它的有效性是正常的。 - Juh_
我刚刚意识到refresh-certs命令没有更新我提到的ca.crt文件。那它更新了什么呢?我不明白... - Juh_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接