AWS 上的 kubernetes:由未知机构签署的证书

kubernetes on AWS: certificate signed by unknown authority

我遵循了这个指南 https://coreos.com/kubernetes/docs/latest/kubernetes-on-aws-launch.html to create a kubernetes cluster on AWS with kube-aws

我正在使用 kube-awsv0.9.4-rc2

成功执行 kube-aws up --s3-uri s3://.. 后,我尝试使用 kubectl get nodes 获取节点,然后出现此错误:

:; kubectl get nodes
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kube-ca")

kubeconfig 文件中,有一行描述证书颁发机构:

apiVersion: v1
kind: Config
clusters:
- cluster:
    certificate-authority: credentials/ca.pem

有谁知道我可能出了什么问题?我怎样才能进一步调试它?

问题似乎是因为我的凭证生成不正确。所以也许 apiserver 证书是用错误的 ca 证书签名的?不确定那是怎么发生的。

无论如何,删除 credentials 目录,然后销毁集群并再次启动它解决了我的问题。幸运的是它仍然是一个实验集群,所以我可以做到这一点。不确定我是否可以在不破坏集群的情况下修复它。

1.mkdir -p $HOME/.kube

2.sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

3.sudo chown $(id -u):$(id -g) $HOME/.kube/config

4.kubectl get nodes