首页 > 其他分享 >k8s 手动更新 seldon core ca证书

k8s 手动更新 seldon core ca证书

时间:2024-08-20 09:07:03浏览次数:13  
标签:core 证书 seldon ca webhook yaml cert

前言

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

替换证书完成

标签:core,证书,seldon,ca,webhook,yaml,cert
From: https://www.cnblogs.com/niuben/p/18368685

相关文章

  • 各行各业CAE/CFD/热/电磁仿真,一般用哪些软件?
    各行各业CAE/CFD/热/电磁仿真,一般用哪些软件?结构的仿真计算,用手算公式的时代早已经过去了,基本都基于CAE工业软件进行分析。我们说的是工业界的情况,不谈高校。学校里面只教原理,不告诉你这个原理有什么用,工业界只管你会用,不管原理是什么。学校和工业界都是瞎子,一个瞎的是左眼,一......
  • CANoe小白上手思路
    本文申明:2024.8.19无实操截图,皆在提供新建仿真工程思路,按个人需求根据CANoe明显的图标名称进行操作。操作环境:CANoe版本9.0.54,CANcase版本VN1610/30/40。新建工程和配置网络第一步:连上CANcase,打开CANoe,选择可用模板并创建配置新建工程,之后配置波特率。第二步:Mapping配......
  • 【Java 并发编程】(四) ThreadLocal 源码解读
     介绍每个Thread对象,内部有一个ThreadLocalMapthreadLocals,这是一个哈希表,底层是一个Node[]table;当在某个线程中调用ThreadLocal的set方法时,会使用Thread.currentThread获取当前先线程的thread对象,然后将ThreadLocal对象作为key,将set方法的参数作为value......
  • CADMATIC许可证配置文件
    在数字化时代,CADMATIC软件已成为工程设计和制造业领域的核心工具。为了充分发挥CADMATIC软件的性能并确保合规性,合理的许可证配置文件设置至关重要。本文将为您揭示CADMATIC许可证配置文件的奥秘,帮助您优化软件性能并确保合规性,提升企业的竞争力。一、CADMATIC许可证配置文件的重......
  • axios取消请求CancelToken的原理解析及用法示例
    文章目录一、axios的实例与请求流程二、CancelToken的作用三、CancelToken的实现原理四、取消请求的流程五、CancelToken用法六、利用拦截器取消请求1、axios请求拦截器2、axios响应拦截器3、利用路由导航守卫取消请求一、axios的实例与请求流程下图是axios实例......
  • Vue 项目报错Uncaught SyntaxError: Unexpected token < 刷新之后又可以继续访问问题解
    场景:页面打开不操作,前端项目代码更新重新部署后(比如Jenkins发布部署)页面不刷新,操作页面(点击打开弹窗、切换菜单等),页面没有反应,控制台报错 UncaughtSyntaxError:Unexpectedtoken<。这个问题偶现,只有在项目重新部署后会出现,页面刷新后就恢复正常 问题原因:在前端项目未更......
  • Camera MIPI 协议理解
    D-PHY1、传输模式1.LP(Low-Power)模式:用于传输控制信号,最高速率10MHzHS(High-Speed)模式:用于高速传输数据,速率范围[80Mbps,1Gbps]perLane传输的最小单元为1个字节,采用小端(低位字节放到内存的低地址端,高位字节放到内存的高地址端)的方式及LSBfirst,MSBlast(一个芯片的管脚......
  • springboot 缓存-cacheManager
    日常项目中如果对接口响应时间要求较高通常需要结合redis对接口进行缓存处理。1.pom文件中引入redisjar<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><......
  • 易优CMS内置 application/common.php 与 application/function.php 两文件的函数说明
    系统内置函数建议先熟悉系统内置application/common.php与application/function.php两文件的函数说明,如果有符合的函数,尽量在插件里调用;不符合的话就在插件的logic业务逻辑里实现。以当前开发的易优CMS版本为主,要查找函数是否存在,切记只可调用,不可更改全局函数,以免影响整个......
  • 问题:ETL中写入数据到Clickhouse抛出 Code: 27. DB::ParsingException: Cannot parse i
    问题描述问题:ETL中写入数据到Clickhouse抛出Code:27.DB::ParsingException:Cannotparseinput问题原因:目标字段的长度和精度不足以容纳源字段问题解决方法:案例1:源是timestamp,目标是datetime修改结果:创建目标表的时候选择高精度的字段类型案例2:源是带有小数的......