openshift 3.11 oc命令:错误:加载配置文件时出错;。kube/config";:yaml:第11行:找不到预期的';:';

openshift 3.11 oc命令:错误:加载配置文件时出错;。kube/config";:yaml:第11行:找不到预期的';:';,openshift,openshift-origin,openshift-client-tools,openshift-3,okd,Openshift,Openshift Origin,Openshift Client Tools,Openshift 3,Okd,在使用安装的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

在使用安装的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

这已经解决了问题,但它是暂时的解决方案,因为经过一段时间(几个小时)后,我又遇到了问题。
这可能是什么根本原因?什么是永久性修复?

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

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

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

# master-restart api
# master-restart controllers

尝试运行oc登录,而不是复制kube.config我也尝试过,但过了一段时间我又遇到了同样的问题。你也共享kube.config吗?是的,oc登录会话在一定时间后过期。这里的问题并非如此。如果您检查问题中的错误,它会显示
加载配置文件时出错…
,这表示kube/config文件的格式不正确,因此我根本无法
登录oc
。更新
oauthConfig
并不能解决我的问题,我想这也应该在你原来的帖子中澄清。另外,正如其他人所指出的,请发布无效的
.kube/config
文件,以便对其进行检查。尝试执行“oc日志主api--n kube系统”。你可能会得到一些有用的信息。