永久替换 API 服务器证书



我有microK8S集群,并在我的域中公开API服务器。/var/snap/microk8s/1079/certs中的server.crtserver.key需要替换为包含我的域的和。 否则,正如预期的那样,我收到错误:

Unable to connect to the server: x509: certificate is valid for kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster, kubernetes.default.svc.cluster.local, not mydonaim.com

在证书管理器的帮助下,我生成了证书并替换了它们,我的系统运行良好。

问题:每次重新启动服务器时,都会在 中再次生成server.crtserver.key/var/snap/microk8s/1079/certs.我的自定义证书被删除,使 API 服务器无法远程访问。 如何阻止系统一直这样做?

解决方法?我是否应该将我的证书放在其他地方,并使用这些证书的路径编辑配置文件(如/var/snap/microk8s/1079/args/kube-controller-manager(?这些配置文件是否也会自动替换?

集群信息:

  • Kubernetes 版本:1.16.3
  • 正在使用的云:裸机、单节点
  • 集群 安装方法:带快照的 Ubuntu 服务器
  • 主机操作系统: Ubuntu 18.04.3 LTS

似乎存在一个现有问题,即描述复制和修改/var/snap/microk8s/current/certs/csr.conf.template以包含生成的证书的任何额外 IP 或 DNS 条目

请注意https://discuss.kubernetes.io/t/services-and-ports/11263/6 中提议的更新。在我的环境中运行需要以下命令:

sudo microk8s refresh-certs

最新更新