首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从:[/var/run/secrets/kubernetes.io/serviceaccount/token].读取服务帐户令牌时出错视而不见

从:[/var/run/secrets/kubernetes.io/serviceaccount/token].读取服务帐户令牌时出错视而不见
EN

Stack Overflow用户
提问于 2017-04-12 04:51:32
回答 1查看 8.2K关注 0票数 7

当我运行此代码时,公共类test2 {

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void main(String[] args) {
    // TODO Auto-generated method stub


      String podName = "xrdpprocan";
      String namespace = "default";
      String master = "https://my_ip_adress"; 

      Config config = new ConfigBuilder().withMasterUrl(master).withTrustCerts(true).build();
      try (final KubernetesClient client = new DefaultKubernetesClient(config)) {

        String log = client.pods().inNamespace(namespace).withName(podName).getLog(true);
        System.out.println("Log of pod " + podName + " in " + namespace + " is:");
        System.out.println("------------------");
        System.out.println(log);

      } catch (KubernetesClientException e) {
       System.out.println(e.getMessage());
      }
}

我从: /var/run/secrets/kubernetes.io/serviceaccount/token.获得了读取服务帐户令牌的错误无视。

EN

回答 1

Stack Overflow用户

发布于 2021-03-12 06:13:52

的问题是:当前类型的客户端配置是不完整的,您缺少客户端身份验证设置/数据部分。

请注意,当您在集群外部运行代码时(这种类型的客户端配置称为-out-群集客户端配置),您需要显式地指定从外部成功连接到Kubernetes控件平面的最小值。

  1. Kubernetes主URL
  2. 至少有一种用于用户身份验证的方法可以是以下任一方法:
  • 客户证书
  • 无记名代币
  • HTTP basic auth

您看到问题了吗? -您没有从>> user <<身份验证的第二个条件中指定这些条件(这里的关键字是:user)

现在 Java客户端回到了基于服务帐户的身份验证策略,认为您不是人而是机器人(Pod运行在服务帐户的上下文中)。

从技术上讲,客户现在正在解决最后的选择:

三叠纪

(8 on /kubernetes列表中的第4-客户端支持的配置选项,请参阅下面的代码)

这包括读取放置在Pod容器中的文件系统中的服务帐户令牌,路径如下:

/var/run/secrets/kubernetes.io/serviceaccount/token

8/kubernetes-客户 java客户端支持以下配置客户端的方式:

这将按以下优先顺序使用来自不同来源的设置:

  • 系统性质
  • 环境变量
  • Kube配置文件
  • 服务帐户令牌&挂载的CA证书<==您的客户端代码尝试如下

系统属性优于环境变量。可以使用下列系统属性和环境变量进行配置

最简单的解决方案是依靠Kube config file选项从外部访问集群,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class KubeConfigFileClientExample {
  public static void main(String[] args) throws IOException, ApiException {

    // file path to your KubeConfig

    String kubeConfigPath = System.getenv("HOME") + "/.kube/config";

    // loading the out-of-cluster config, a kubeconfig from file-system
    ApiClient client =
        ClientBuilder.kubeconfig(KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath))).build();

    // set the global default api-client to the in-cluster one from above
    Configuration.setDefaultApiClient(client);

    // the CoreV1Api loads default api-client from global configuration.
    CoreV1Api api = new CoreV1Api();

    // invokes the CoreV1Api client
    V1PodList list =
        api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null, null);
    for (V1Pod item : list.getItems()) {
      System.out.println(item.getMetadata().getName());
    }
  }
}

完整的代码示例可以找到这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43370090

复制
相关文章
mysql: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for opera
昨天把mysql里所有table的varchar字段的字符集,批量换成了utf8mb4/utf8mb4_unicode_ci ,以便能保存一些emoji火星文 , 结果有一个sql语句执行时,报错如下: Illegalmixofcollations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)foroperation '= 观察了一下,这个sql使用了一个自定义的function,这个函数的入口参数为varchar,类似如下: CREAT
菩提树下的杨过
2018/01/18
1.2K0
Mysql Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operat
resolve:将比较等式的一边进行字符串转换,如:“CONVERT(a.field_a USING utf8) COLLATE utf8_unicode_ci”
WindWant
2020/09/11
1.2K0
scala implicit class
scala 是一门 scalable 的语言,扩展性很强。 implicit 是 scala 的一个关键词,当它被用于 class 时,该类将被认为是implicit class,它可以用来扩展现有类的行为和方法
全栈程序员站长
2022/11/17
2610
修改MySQL varchar类型字段的排序规则
记录一个在工作中遇到的问题,也不算是问题,为的是找一种简便的方法批量修改数据表字段的排序规则,在MySQL中叫collation,常常和编码CHARACTER一起出现的。collation有三种级别,分辨是数据库级别,数据表级别和字段级别。
用户3579639
2018/10/22
4.7K0
TIMESTAMP with implicit DEFAULT value is deprecated
 这个是在windows server2008下安装时遇到的错误,是在运行mysqld –initialize 这一语句时发生的warnning,这是一个配置错误。  解决办法  在mysql/my.ini 文件中的[mysqld]下添加一行explicit_defaults_for_timestamp=true。就可以了   这个语句的含义是 #开启查询缓存,这也是web缓存之一,对重复查询只需要在缓存中读取就可以,减少对数据库的访问。 
拓荒者
2019/03/11
1.4K0
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
在免安装版mysql安装过程中出现:e:\java_software\mysql-5.6.21-winx64\mysql-5.6.21-winx64\bin>mysqld mysql  2017-04-01 10:44:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).  解决办法:需要在my.ini 下添加
拓荒者
2019/03/11
4.2K0
scala(4):implicit关键字
掌握implicit的用法是阅读spark源码的基础,也是学习scala其它的开源框架的关键,implicit 可分为:
yiduwangkai
2019/09/17
3920
OAuth 2.0 之 Authorization code 与 Implicit
OAuth 2.0 是用于授权的行业标准协议。我们常见的比如第三方登录、授权第三方应用获取保存在其它服务商的个人数据,这种都是 OAuth 2.0 的应用场景。
凌虚
2021/02/04
9170
spring security oauth2 implicit模式
前面三篇文章讲了client credentials、password以及authorization code授权模式,本文就来讲一下implicit模式。
code4it
2018/09/17
1.6K0
spring security oauth2 implicit模式
solidity智能合约implicit conversion异常
在使用^0.5.10版本的solidity时,如果使用this关键字会出现以下问题。
程序新视界
2019/08/01
6410
C#中的explicit和implicit了解一下吧
今天在研究公司项目框架的时候看到了下面的用法,public static implicit operator JsonData(int data);。貌似很久没用过这种隐式转换的写法了,因此重新温习一下C#中转换相关的知识。
依乐祝
2019/05/22
1.2K0
在onelogin中使用OpenId Connect Implicit Flow
onelogin支持多种OpenId Connect的连接模式,上一篇文章我们讲到了使用openId的Authentication Flow,今天我们将会讲解一下如何使用Implicit Flow。
程序那些事
2021/02/02
9480
linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 war
gets()函数的基本用法为: char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组。
黑泽君
2018/10/11
3.1K0
Implicit Language Model in LSTM for OCR 学习笔记
在本文中,我们试图改进对LSTMs的科学理解,特别是语言模型和LSTM中存在的字形模型之间的相互作用。 我们称这种内部语言模型为隐式语言模型(隐式LM)。 本文的贡献:1)在受控条件下建立隐式LM的存在; 2)通过找出它使用的上下文有多少个字符来描述隐式LM的本质。 我们所描述的隐式LM与上面讨论的文献19、20中的语言模型有所不同,因为学习语言模型的背景和要求不同:OCR明确要求学习字形模型而不是语言模型。最近的关于使用LSTM进行OCR的基准文件22并没有涉及这一点,而且据我们所知,文献中也没有涉及。
Natalia_ljq
2020/06/03
9370
Implicit Language Model in LSTM for OCR  学习笔记
scala 隐式详解(implicit关键字)
掌握implicit的用法是阅读Spark源码的基础,也是学习Scala其它的开源框架的关键,implicit 可分为: 隐式参数 隐式转换类型 隐式调用函数 1.隐式参数 当我们在定义方法时,可以把最后一个参数列表标记为implicit,表示该组参数是隐式参数。一个方法只会有一个隐式参数列表,置于方法的最后一个参数列表。如果方法有多个隐式参数,只需一个implicit修饰即可。 当调用包含隐式参数的方法是,如果当前上下文中有合适的隐式值,则编译器会自动为改组参数填充合适的值。如果没有编译器会抛出异
Albert陈凯
2018/04/04
1.4K0
warning: #1300-D: XXX inherits implicit virtual 报警
编译的时候出现了大量warning: #1300-D: XX_function inherits implicit virtual 的警告信息。
全栈程序员站长
2022/11/16
2760
(3.6)James Stewart Calculus 5th Edition:Implicit Differentiation
例如: x^2 + y^2 = 25 这个时候,我们知道 如果是函数, 用竖线检测, 需要把图像拆分
dodo_lihao
2018/09/12
6280
(3.6)James Stewart Calculus 5th Edition:Implicit Differentiation
Implicit super constructor BaseService() is undefined. Must explicitly invoke another constructor
今天遇到了这个问题,也在网上查了不少资料,为什么还要写这篇文章呢,看完之后您也许就了解我的意图了
johnhuster的分享
2022/03/28
3450
点击加载更多

相似问题

对于操作'=‘,MySQL排序规则(utf8_unicode_ci,IMPLICIT)和(utf8_general_ci,IMPLICIT)的非法混合

40

MySQL存储过程中操作'=‘的排序规则(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)的混合是非法的

265

mysql:错误代码[1267];操作'=‘的排序规则(latin1_general_cs,IMPLICIT)和(latin1_swedish_ci,IMPLICIT)的混合非法

30

非法混合排序规则(utf8_unicode_ci,矫顽力)和(utf8_general_ci,矫顽力)用于操作'=‘

30

MySQL错误代码: 1267。操作'locate‘的排序规则(utf8mb4_general_ci,IMPLICIT)和(utf8mb4_0900_ai_ci,IMPLICIT)的混合非法

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文