k8s 手动更新 seldon core ca证书

前言

seldon core 报错:x509: certificate has expired or is not yet valid: current time

这是因为 seldon core 默认的证书有效期为一年,需要 helm 重新安装才行,或者在安装seldon core时启用了certManager自动更新证书

复制代码
helm install seldon-core seldon-core-operator --namespace seldon-system --set certManager.enabled=true

相关 issues,解决方法为重新 helm 安装 seldon-core
https://github.com/SeldonIO/seldon-core/issues/3366
https://github.com/SeldonIO/seldon-core/blob/master/helm-charts/seldon-core-operator/templates/webhook.yaml

当前helm并没有直接安装seldon core,所以采取替换证书方案解决

一、生成新的ca证书

确保在生成自签名证书时,需要包含正确的主机名,否则会报错:

复制代码
x509: certificate is not valid for any names, but wanted to match seldon-webhook-service.seldon-system.svc

指定证书一年有效时间

复制代码
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout new-cert.key -out new-cert.crt \
  -subj "/CN=seldon-webhook-service.seldon-system.svc" \
  -extensions v3_ext -config <(cat /etc/ssl/openssl.cnf <(printf "[v3_ext]\nsubjectAltName=DNS:seldon-webhook-service,DNS:seldon-webhook-service.seldon-system.svc"))

二、使用新的证书和密钥更新 Kubernetes Secret

这里需要kubectl get secret -A,查看确认一下seldon coresecret 名称是否是: seldon-webhook-server-cert

-o yaml > seldon-webhook-server-cert.yaml 保存当前 secret 配置,防止修改失败:

复制代码
kubectl get secret -n seldon-system                      seldon-webhook-server-cert -o yaml > seldon-webhook-server-cert.yaml

直接覆盖 secret

复制代码
kubectl create secret tls seldon-webhook-server-cert --cert=new-cert.crt --key=new-cert.key -n seldon-system --dry-run=client -o yaml | kubectl apply -f -

三、更新 ValidatingWebhookConfiguration

-o yaml > webhook-config.yaml 保存当前 validatingwebhookconfiguration 配置,防止修改失败

复制代码
kubectl get validatingwebhookconfiguration seldon-validating-webhook-configuration -o yaml > webhook-config.yaml

然后,更新 webhook-config.yaml 中的 caBundle 字段:

获取刚才生成证书的 Base64 编码:

复制代码
base64 -w 0 new-cert.crt

手动更新 webhook-config.yaml 后,应用更改:

复制代码
kubectl apply -f webhook-config.yaml

四、重启 Seldon Core Pods 服务

复制代码
 kubectl rollout restart deployment seldon-controller-manager -n seldon-system

替换证书完成

posted @   牛奔  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2020-08-20 Thinkphp3.2 PHPMailer 发送邮件
2019-08-20 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.6】
点击右上角即可分享
微信分享提示