【问题标题】:openshift 3.11 oc command : error: Error loading config file ".kube/config": yaml: line 11: could not find expected ':'openshift 3.11 oc 命令:错误:加载配置文件“.kube/config”时出错:yaml:第 11 行:找不到预期的“:”
【发布时间】:2021-03-22 16:06:48
【问题描述】:

在使用 https://github.com/openshift/origin/tree/release-3.11 安装的 okd 集群中

在 okd 安装后,oc 命令运行良好,但过了几天,我遇到了 oc 命令的一个奇怪问题,即在集群中运行任何 oc 命令都会给出

[kubenode@master ~]$ oc status
error: Error loading config file "/home/kubenode/.kube/config": yaml: line 11: could not find expected ':'

/home/kubenode/.kube/config的权限是:

[kubenode@master ~]$ ls -al /home/kubenode/.kube/config
-rwx------. 1 kubenode kubenode 6102 Dec 11 00:30 /home/kubenode/.kube/config

在尝试解决这个问题时,我所做的是, 清空文件/home/kubenode/.kube/config,将/etc/origin/master/admin.kubeconfig的内容复制到/home/kubenode/.kube/config

这已经解决了问题,但它是临时解决方案,因为一段时间(几个小时)后我又遇到了问题。 造成这种情况的根本原因是什么?什么是永久修复?

【问题讨论】:

  • 尝试运行 oc login 而不是复制 kube.config
  • 我也试过这个,但过了一段时间我又遇到了同样的问题
  • 你也可以分享一下 kube.config 吗?

标签: openshift openshift-origin openshift-client-tools openshift-3 okd


【解决方案1】:

这是预期的行为,因为访问令牌和授权码应该只有有限的生命周期。

您应该查看Configuring authentication and user agent 文档,以便在您的主节点上的/etc/origin/master/master-config.yaml 中根据自己的喜好设置以下选项(例如更长的超时时间):

oauthConfig:
  ...
  tokenConfig:
    accessTokenMaxAgeSeconds: 86400 
    authorizeTokenMaxAgeSeconds: 300 
  ...
  sessionConfig:
    sessionMaxAgeSeconds: 300 

请注意,您需要将这些设置应用于集群中的所有主节点。更改设置后,请记住使用以下命令重新启动 API 和控制器:

# master-restart api
# master-restart controllers

【讨论】:

  • 是 oc 登录会话在一定时间后过期。这里的问题不是那个。如果您检查问题中的错误,它会显示 Error loading config file....,它表示 kube/config 文件的格式不正确,因为我根本无法 oc login。更新oauthConfig 不会解决我的问题
  • 谢谢,我认为这也应该在您的原始帖子中加以澄清。此外,正如其他人所指出的,请发布无效的 .kube/config 文件以便对其进行审查。
  • 尝试执行“oc logs master-api- -n kube-system”。您可能会得到一些有用的信息。
猜你喜欢
  • 2020-11-06
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多