惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
V
Visual Studio Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
I
InfoQ
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
P
Proofpoint News Feed
WordPress大学
WordPress大学
小众软件
小众软件
B
Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
量子位
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客

博客园 - cn2025

K8s -sentinel-dashboard【nacos版本】集 20260815 K8s -nacos集 20260813 K8s - 安装部署redis集群-哨兵sentinels集(支持从K8s外部访问)20260812 k8s-deployment发布测试(pv-pvc-deployment-service) 20260810 K8s - 安装部署Kafka、Zookeeper集群教程(支持从K8s外部访问)20260808 k8s-关机及启动脚本工具 【kubeSphere发布ruoyi-pro前端】工具脚本20260731 【k8s】 etcd服务端及客户端版本及快照【定时】备份 20260730 harbor【https启用】及k8节点部证书20260728 kube-flannel.yml k8s集群-安装helm 【kubeShpere】 官网 20260710 kubesphere-KDP 工具脚本【kubeSphere发布ruoyi-pro前端】20260720 HbuilderX 内置终端转为 gitBash 20260720 kubeSphere发布ruoyi-pro后端-用到脚本 kubeSphere发布ruoyi-web前端 20260711 kubeSphere发布ruoyi-pro后端 k8s集群-kubeShpere 20260710 安装Helm 20260710 k8s-portainer docker 镜像查询 k8集群一键重置 docker run OceanBase spring ai alibaba doc AI2.0 【多模态】 20260615 世界只有一个墨脱 AI2.0 【Mcp-client】 20260611 AI2.0 【Mcp-server】 20260611 GoLand 配Go SDK AI2.0 【redis向量-Rag】 问答顾问器QuestionAnswerAdvisor 20260608
kubeSphere【ks-controller-manager-webhook-cert】证书 2026...
2026cn · 2026-08-14 · via 博客园 - cn2025

2026-08-14T12:46:01.494280123+08:00 helm.go:92: 2026-08-14 04:46:01.480163584 +0000 UTC m=+13.508250699 [debug] 2 errors occurred:
2026-08-14T12:46:01.494388232+08:00 * Internal error occurred: failed calling webhook "jsbundles.extensions.kubesphere.io": failed to call webhook: Post "https://ks-controller-manager.kubesphere-system.svc:443/validate-extensions-kubesphere-io-v1alpha1-jsbundle?timeout=30s": tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "self-signed-ca")
2026-08-14T12:46:01.494398464+08:00 * Internal error occurred: failed calling webhook "reverseproxies.extensions.kubesphere.io": failed to call webhook: Post "https://ks-controller-manager.kubesphere-system.svc:443/validate-extensions-kubesphere-io-v1alpha1-reverseproxy?timeout=30s": tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "self-signed-ca")
2026-08-14T12:46:01.494638504+08:00

kubesphere安装组件老是这个错误

#####

一键修复方案(直接复制整条执行)
bash
# 1. 删除旧webhook配置
kubectl delete validatingwebhookconfigurations extensions.kubesphere.io
# 2. 删除旧证书密钥
kubectl -n kubesphere-system delete secret ks-controller-manager-webhook-cert
# 3. 重启控制器,自动生成全新证书+重建webhook并注入正确CA
kubectl -n kubesphere-system rollout restart deployment ks-controller-manager
# 等待pod就绪
kubectl -n kubesphere-system get pods -w | grep ks-controller-manager

image

校验 webhook 是否自动重建
kubectl get validatingwebhookconfigurations extensions.kubesphere.io

日志持续报错:Secret "ks-controller-manager-webhook-cert" not found

 手动删除了 webhook 证书密钥,ks-controller-manager 启动后无法自动重建证书 secret,控制器陷入死循环报错。

1. 创建临时目录存放证书
mkdir -p ~/ks-webhook-certs && cd ~/ks-webhook-certs
2. 使用 openssl 生成自签 CA、服务证书(适配 KubeSphere webhook 域名)
# 1. 生成CA私钥与根证书
openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -out ca.crt -days 3650 -subj "/CN=ks-webhook-ca"

# 2. 生成服务私钥+证书请求
openssl req -newkey rsa:2048 -nodes -keyout tls.key -out tls.csr -subj "/CN=ks-controller-manager.kubesphere-system.svc"

# 3. 用CA签发服务证书
openssl x509 -req -in tls.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out tls.crt -days 3650
3. 把证书打包创建 Secret(KubeSphere 固定名称)
kubectl create secret generic ks-controller-manager-webhook-cert \
-n kubesphere-system \
--from-file=ca.crt \
--from-file=tls.crt \
--from-file=tls.key
4. 验证 secret 创建成功
kubectl get secret ks-controller-manager-webhook-cert -n kubesphere-system
5. 重启控制器加载证书

image

kubectl rollout restart deployment ks-controller-manager -n kubesphere-system
6. 等待 Pod 就绪,查看日志不再报 NotFound
kubectl logs -f deployment/ks-controller-manager -n kubesphere-system

证书建好之后,恢复 extensions.kubesphere.io webhook
提取 caBundle
kubectl get secret ks-controller-manager-webhook-cert -n kubesphere-system -o jsonpath='{.data.ca\.crt}'

image


复制输出字符串,填入下方 yaml:
yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: extensions.kubesphere.io
labels:
app: ks-controller-manager
tier: control-plane
webhooks:
- name: extensions.kubesphere.io
clientConfig:
service:
namespace: kubesphere-system
name: ks-controller-manager
path: /validate-extensions
port: 443
caBundle: "此处粘贴上面获取的base64字符串"
rules:
- apiGroups:
- extensions.kubesphere.io
apiVersions: ["*"]
operations: [CREATE, UPDATE, DELETE]
resources: ["*"]
scope: Namespaced
admissionReviewVersions: [v1, v1beta1]
sideEffects: None
timeoutSeconds: 30
failurePolicy: Ignore
执行部署:
kubectl apply -f ext-webhook.yaml
最终校验
kubectl get validatingwebhookconfigurations extensions.kubesphere.io

image