kubectl logs查看容器日志报错“ x509: certificate signed by unknown authority”

如下图所示,通过二进制部署K8S后,发现查看容器日志报错,详细如下图所示:
在这里插入图片描述
这个是由于kubelet的启动参数中没有添加相关参数导致的,包含如下两个参数:
rotateCertificates: true
serverTLSBootstrap: true

serverTLSBootstrap用来启用服务器证书引导。系统不再使用自签名的服务证书, kubelet 会调用certificates.k8s.io API 来请求证书。 需要有一个批复人来批准证书签名请求(CSR)。 设置此字段时,RotateKubeletServerCertificate特性必须被启用。
默认值:false
rotateCertificates用来启用客户端证书轮换。kubelet 会调用 certificates.k8s.io API 来请求新的证书。需要有一个批复人批准证书签名请求。
默认值:false

把以上两个参数添加至kubelet-config.yml中,如下图所示:
在这里插入图片描述
在所有的包含kuelet的节点上,都添加以上两个参数
然后重载以及重启kubelet
systemctl daemon-reload
systemctl restart kubelet
但是,重启后依然报错,如下图所示:
在这里插入图片描述
通过查看csr
kubectl get csr,发现有pending的,允许其通过即可:
kubectl certificate approve csr-sxv92
在这里插入图片描述

然后就可以正常查看pods的日志了

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: kubectl logs命令可以用来查看Kubernetes集群中容器的实时日志。可以使用以下命令来查看实时日志: ``` kubectl logs -f <pod-name> <container-name> ``` 其中,`<pod-name>`是要查看日志的Pod的名称,`<container-name>`是要查看日志容器的名称。使用`-f`选项可以实时跟踪日志输出。 ### 回答2: Kubectl logs是Kubernetes命令行工具中一个非常有用的命令,它可以帮助开发者查看正在运行的Pod的实时日志。当Pod在运行时,经常需要查看日志来监测应用程序的运行状态,跟踪错误和排除故障。 使用kubectl logs查看实时日志非常简单,只需要在命令行中输入kubectl logs pod-name命令即可。该命令将返回指定Pod的所有容器日志输出。如果Pod中有多个容器,则需要在命令中指定容器的名称。例如,kubectl logs pod-name container-name。 Kubectl logs命令还有其他一些常用的选项: –follow或-f:该选项将会跟随日志输出并不断地更新控制台,直到通过CTRL+C停止命令。 –timestamps或-t:该选项将显示每条日志记录的时间戳。 –tail:该选项将返回日志记录的最后几行(默认值为10)。 以上是kubectl logs查看实时日志的一些常用选项。此外,还可以使用输出到文件和搜索日志等高级选项。 总之,kubectl logs命令是一个强大的工具,可帮助开发者查看正在运行的Pod的实时日志,便于快速查看程序运行状态和解决问题。当出现问题时,使用kubectl logs命令是一种快速和有效的调试方法。 ### 回答3: Kubectl logs是Kubernetes命令行工具(kubectl)提供的一个用于查看运行中容器实时日志的命令。该命令能够帮助开发者和运维人员快速定位和解决出现在应用程序中的问题。 Kubectl logs命令可以帮助用户查看单个容器的实时日志,并且可以按照时间戳显示和筛选输出的日志内容。此外,用户还可以选择要查看日志的不同级别,例如:错误、警告和调试信息。命令的具体用法可查阅官方文档。 在使用Kubectl logs命令时,需要知道想要查看日志容器名称和所在的命名空间。在命令行中输入kubectl logs <pod-name> [<container-name>] -n <namespace> ,<pod-name>是pod的名称,<container-name>是容器的名称(如果只有一个容器,则可以省略该选项),<namespace>是所在的命名空间。 需要注意的是,Kubectl logs命令只能查看正在运行的容器的实时日志,如果容器已停止或不可访问,则无法查看日志。此外,在生产环境中,要谨慎使用Kubectl logs命令,因为它可能会暴露敏感信息,例如应用程序的内部状态、数据库凭据等。为了确保安全,可以使用Kubernetes的内置日志记录系统或第三方日志记录工具来收集和分析容器日志。 总之,Kubectl logs命令是Kubernetes命令行工具中非常有用和重要的一个命令,开发者和运维人员可以借助该命令快速定位和解决应用程序的问题,在保证安全性的前提下,为应用程序的维护和优化提供重要的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值