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

从openshift pod定位apiserver的推荐方法是什么?

韦繁
2023-03-14

来自库伯内特斯文档(从Pod访问API):

在pod中定位apiserver的推荐方法是使用kubernetes DNS名称,该名称解析为一个服务IP,该IP将被路由到一个apiserver。

但是,当我在OpenShift pod的shell中时,这个“kubernetes”dns名称似乎并不存在。由于 Kubernetes 在下面运行,我希望它默认存在,但我错了吗?这是使用OpenShift Container Platform 3.7版本。

有没有一种标准方法来访问 apiserver,而不是将其作为环境变量或其他东西传入?

共有1个答案

蒋浩
2023-03-14

在OpenShift中,您可以使用:

https://openshift.default.svc.cluster.local

您还可以使用环境变量中的值:

KUBERNETES_SERVICE_PORT
KUBERNETES_SERVICE_HOST

如:

#!/bin/sh

SERVER=`https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT`
TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token`

URL="$SERVER/oapi/v1/users/~"

curl -k -H "Authorization: Bearer $TOKEN" $URL

请注意,运行容器的< code>default服务帐户没有REST API访问权限。最好的办法是在项目中创建一个新的服务帐户,并授予它使用REST APIendpoint来执行所需操作的权限。

 类似资料:
  • 问题内容: 我在中有一个列表对象。长按一个项目时,我要显示一个对话框,其中包含单击的项目中的数据。 所述使用数据的每个项目的结合和我能够显示用Log长按当从所选择的项目数据。 但是,当尝试显示对话框时,您需要转到,建议不要在对象中使用。 那么如何显示对话框? 谢谢,Ove 问题答案: 从概念上讲,ViewModel使我误认为是启动Dialog的错误位置。为了更简洁地执行此操作,我将把Recycle

  • 问题内容: 我正在寻找一种可靠的解决方案,以从Go连接到MySQL数据库。我已经看到了一些库,但是很难确定完整性和当前维护的不同状态。我没有复杂的需求,但是我想知道人们所依赖的是什么,或者连接到MySQL的最标准的解决方案是什么。 问题答案: 有一些驱动程序可用,但您应仅考虑将实现数据库/ sql API的驱动程序视为 它提供了一种干净高效的语法, 它确保您以后可以更改驱动程序而无需更改代码(导入

  • 问题内容: 我有三个非常相似的控制器。我想要一个控制器,这三个控制器可以扩展并共享其功能。 问题答案: 也许 您 不扩展控制器,但是可以扩展控制器或将单个控制器混合为多个控制器。 创建父控制器后,其中的逻辑也将执行。有关更多信息,请参见$ controller(),但仅需要传递值。所有其他值将正常注入。 @mwarren ,Angular依赖注入自动解决了您的顾虑。您所需要做的就是注入$ scop

  • 问题内容: 由于标题已经声明不赞成使用JNLP连接,Jenkins还提供了一条消息和一个超链接 https://zh.wikipedia.org/wiki/Java_Web_Start#已弃用 因此,现在将WindowsSlave附加到Jenkins的推荐方法是什么,在https://jenkins.io上似乎没有关于该主题的真正好的指南。 问题答案: 有一个开源替代OpenWebStart这是基

  • 问题内容: 现在我正在使用类似 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码一。 问题答案: 最佳做法是对密码进行哈希处理,以使密码不可解密。这使可能已获得对数据库或文件的访问权限的攻击者的处境变得更加困难。 如果必须加密数据并使其可解密,请访问https://paragonie.co

  • 我最近发现是不推荐的。我们该怎么处理? 有什么替代方案吗?