头盔:x509:证书由未知授权机构签署

Hel*_*röm 5 ssl kubernetes kubernetes-helm

我使用的是Kubernetes,最近更新了中使用的管理证书kubeconfig。但是,这样做之后,所有helm命令都会失败:

Error: Get https://cluster.mysite.com/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: x509: certificate signed by unknown authority
Run Code Online (Sandbox Code Playgroud)

kubectl 可以正常工作:

$ kubectl get nodes
NAME                                           STATUS    ROLES     AGE       VERSION
ip-10-1-0-34.eu-central-1.compute.internal     Ready     master    42d       v1.7.10+coreos.0
ip-10-1-1-51.eu-central-1.compute.internal     Ready     master    42d       v1.7.10+coreos.0
ip-10-1-10-120.eu-central-1.compute.internal   Ready     <none>    42d       v1.7.10+coreos.0
ip-10-1-10-135.eu-central-1.compute.internal   Ready     <none>    27d       v1.7.10+coreos.0
ip-10-1-11-71.eu-central-1.compute.internal    Ready     <none>    42d       v1.7.10+coreos.0
ip-10-1-12-199.eu-central-1.compute.internal   Ready     <none>    8d        v1.7.10+coreos.0
ip-10-1-2-110.eu-central-1.compute.internal    Ready     master    42d       v1.7.10+coreos.0
Run Code Online (Sandbox Code Playgroud)

就我所能阅读的而言,helm应该使用与相同的证书kubectl,这使我对如何kubectl工作感到好奇,但helm对吗?

这是一个具有通过头盔图表处理内部发布的生产集群,因此必须解决它。

任何提示将不胜感激。

Seb*_*ian 11

作为解决方法,您可以尝试禁用证书验证。Helm使用kube配置文件(默认为~/.kube/config)。您可以insecure-skip-tls-verify: true为该cluster部分添加:

clusters:
- cluster:
    server: https://cluster.mysite.com
    insecure-skip-tls-verify: true
  name: default
Run Code Online (Sandbox Code Playgroud)

您是否已经尝试重新安装头盔/耕种机?

kubectl delete deployment tiller-deploy --namespace kube-system
helm init
Run Code Online (Sandbox Code Playgroud)

还要检查是否在集群配置中配置了无效的证书。


Adi*_*iii 7

就我而言,我正在运行单个自我管理,并且配置文件也是容器 ca 文件,因此上述答案抛出以下错误

Error: Kubernetes cluster unreachable: Get "https://XX.XX.85.154:6443/version?timeout=32s": x509: certificate is valid for 10.96.0.1, 172.31.25.161, not XX.XX.85.154

Run Code Online (Sandbox Code Playgroud)

我的配置是

- cluster:
    certificate-authority-data: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    server: https://54.176.85.154:6443
    insecure-skip-tls-verify: true
Run Code Online (Sandbox Code Playgroud)

所以我不得不删除certificate-authority-data.

- cluster:
    server: https://54.176.85.154:6443
    insecure-skip-tls-verify: true
Run Code Online (Sandbox Code Playgroud)


小智 7

用于--insecure-skip-tls-verify通过命令行跳过 tls 验证

helm repo add stable --insecure-skip-tls-verify https://charts.helm.sh/stable
Run Code Online (Sandbox Code Playgroud)