Amazon web services 得到https://api.[mycluster]/api?timeout=32s:x509:由未知授权机构签署的证书,使用kops和Travis CI在AWS上创建的Kubernetes群集

Amazon web services 得到https://api.[mycluster]/api?timeout=32s:x509:由未知授权机构签署的证书,使用kops和Travis CI在AWS上创建的Kubernetes群集,amazon-web-services,kubernetes,travis-ci,x509certificate,kops,Amazon Web Services,Kubernetes,Travis Ci,X509certificate,Kops,我主要遵循以下内容,最后在尝试将新对象部署到集群时遇到了以下问题 错误:无法识别“/[不同的文件].yaml”:获取 :x509:证书 署名不明的当局 我认为我必须有效地通过kube certtravis配置文件中的某些地方,请提供任何建议,有效地,问题与群集证书有关,在前面引用的文章中,存在base64编码问题,这将使机密注入失败。因此,我们必须将信息添加到kubernetes配置文件中,我们在inject\u secret.sh ./kubectl config set clusters.u

我主要遵循以下内容,最后在尝试将新对象部署到集群时遇到了以下问题

错误:无法识别“/[不同的文件].yaml”:获取 :x509:证书 署名不明的当局


我认为我必须有效地通过kube certtravis配置文件中的某些地方,请提供任何建议,有效地,问题与群集证书有关,在前面引用的文章中,存在base64编码问题,这将使机密注入失败。因此,我们必须将信息添加到kubernetes配置文件中,我们在inject\u secret.sh

./kubectl config set clusters.udagramk8s.kops.ucci.uk.certificate-authority-data $CERTIFICATE_AUTHORITY_DATA
./kubectl config set users.udagramk8s.kops.ucci.uk.client-certificate-data "$CLIENT_CERTIFICATE_DATA"
./kubectl config set users.udagramk8s.kops.ucci.uk.client-key-data "$CLIENT_KEY_DATA"
./kubectl config set users.udagramk8s.kops.ucci.uk.password "$KUBE_PASSWORD"
./kubectl config set users.udagramk8s.kops.ucci.uk.net-basic-auth.password "$KUBE_PASSWORD"
为了确保这些环境变量的存在,我们需要做的是通过Travis CI控制台在“项目设置”部分添加它们


注意:我们可以使用下面的命令
cat~/.kube/config

来获取变量值,恐怕缺少太多信息了。谁在提供HTTP/S服务以及在哪里。谁创建了HTTP/S服务的服务器证书?它在AWS上吗?使用特定的专有网络和子网?是否有来自子网的Internet连接?最好显示网络图以及HTTP/S服务器端和HTTP/S客户端会话的创建位置。“x509:未知授权机构签署的证书”基本上是告诉它是证书问题,客户端无法验证是谁签署的。所以首先需要的线索是谁在服务器端提供了证书。K8S可以在内部自动生成CA。然后可能需要将CA证书复制到客户端信任存储。请在问题中添加更多详细信息?你分享的文章内容非常广泛,猜测你在哪一步面临这个问题非常困难/耗时。请看一下这篇文章,并特别注意“帮助他人重现问题”。我认为问题是由于未向kubeconfigI注入机密造成的。我刚刚通过直接在travis ci ui中添加我的环境变量(证书颁发机构数据、客户端证书数据等)解决了这个问题,非常感谢