当前位置: 首页 > 知识库问答 >
问题:

如何将证书添加到Kube配置文件

成和悌
2023-03-14

我有一个当地的库伯内特斯环境,我基本上是复制的。将kube/config文件添加到我的本地文件中,并将“上下文”、“用户”和“集群”信息添加到我当前的“.kube/config”文件中。没关系,我可以连接到本地文件。

但是我想用命令将这些信息添加到我的本地配置文件中。

因此,关于这个页面,我可以使用“证书颁发机构数据”作为参数,如下所示:---

PS C:\Users\user\.kube> kubectl config --kubeconfig=config set-cluster local-kubernetes --server=https://10.10.10.10:6443 --certificate-authority-data=LS0tLSAASDASDADAXXXSDETRDFDJHFJWEtGCmx0YVR2SE45Rm9IVjAvQkdwRUM2bnFNTjg0akd2a3R4VUpabQotLS0tLUVORCBDADADADDAADS0tXXXCg==
Error: unknown flag: --certificate-authority-data
See 'kubectl config set-cluster --help' for usage.
PS C:\Users\user\.kube>

但它会抛出如上所述的错误。我用的是kubernetes的最新版本。

如何使用kubectl config命令将这些信息添加到本地文件中?

谢谢

共有1个答案

聂宜
2023-03-14

可能的解决方案是在config命令中使用--flant标志:

➜  ~ kubectl config view --flatten=true  

将生成的kubeconfig文件展平为自包含输出(用于创建可移植的kubeconfig文件)

也可以导出到文件(可移植配置):

kubectl config view --flatten > out.txt

在掌握KUBECONFIG文件文档中,您可以阅读更多关于kube配置的信息。

在存在相应证书的服务器上运行此命令后,您将收到base64编码密钥:证书颁发机构数据客户端证书数据客户端密钥数据

然后可以使用官方配置文档中提供的命令:

➜  ~ kubectl config set clusters.my-cluster.certificate-authority-data $(echo "cert_data_here" | base64 -i -)

然后,您必须用flant config文件中的数据替换(echo“cert_data_here”| base64-i-)。

值得一提的是,kubectl配置的-help flag也提供了此信息:

kubectl config set --help   
Sets an individual value in a kubeconfig file

 PROPERTY_VALUE is the new value you wish to set. Binary fields such as 'certificate-authority-data'
expect a base64 encoded string unless the --set-raw-bytes flag is used.

 Specifying a attribute name that already exists will merge new fields on top of existing values.

Examples:
  # Set certificate-authority-data field on the my-cluster cluster.
  kubectl config set clusters.my-cluster.certificate-authority-data $(echo "cert_data_here" | base64
-i -)
 类似资料:
  • 文档未指定如何添加中间SSL证书:https://kubernetes.io/docs/concepts/services-networking/ingress/#tls 我想下一步是阅读库伯内特斯的源代码。

  • 问题内容: 我在java和cxf中有一个用客户端证书连接到WebServices的应用程序。 我从WebService所有者那里获得了证书 证书 证书 certificate.crt Trusted_ca.cer root_ca.cer 我直接将这个p12证书转换为java要求的有效jks密钥库时遇到问题。 我这样做: 但是此jks不起作用,使用此证书时我收到HTTP响应‘403:Forbidde

  • 问题内容: 我的文件带有证书链-certificate.cer: 我需要将此证书链添加到密钥库。 我做的事: 结果,我在密钥库中只有1个证书。 但是应该有3. 什么地方可能出问题? 解决方案: CA向我发送了PKCS#7格式的证书。 我将它们存储在certificate.p7b文件中,然后通过以下命令将它们成功添加到密钥库中: 问题答案: 从keytool管理员中-如果以PKCS#7格式输入,它将

  • 新的 Azure 函数 3.0 SDK 提供了一种实现启动类的方法。它允许访问通过依赖关系注入可用的服务集合,我可以在其中添加自己的组件和第三方服务。 但是我不知道如何使用配置文件。 我的第三方服务将大型结构作为参数,这些配置文件使用二进制文件进行复制。我可以将它们复制到appsettings.json文件的子部分中: 配置值根据部署环境进行更新。我使用 Azure DevOps 的文件转换任务:

  • 问题内容: 在我们的iOS项目中,我们将用于生成AdHoc和AppStore构建的签名证书和供应配置文件都提交给版本控制存储库。这样,每当新开发人员下载该应用程序的新副本时,他就拥有了为测试人员创建AdHoc构建所需的一切。 我们正在使用Jenkins进行持续集成,我希望有一个脚本可以对提交的文件进行完整性检查。特别是,我想检查提交的配置文件是否确实是使用在存储库中提交的签名证书生成的。 有谁知道

  • 我使用FOP-2.1从xml和xsl-fo生成PDF文件,并花了很多时间来配置fop配置文件(我使用西里尔字体),根据https://xmlgraphics.apache.org/fop/2.1/configuration.html 在命令行中测试了它,它工作正常: fop-c conf.xml-xml xml.xsl xsl-pdfpdf 接下来,我需要在javaweb应用程序中执行同样的操作。