OpenShift 4 - Pod是如何使用Serivce Account访问API的

4 篇文章 1 订阅
1 篇文章 0 订阅

OpenShift 4.x HOL教程汇总

  1. 进入OpenShift自带的terminal项目的pod。
$ oc rsh $(oc get pod -n terminal -l=app=terminal -o jsonpath="{ .items[0].metadata.name }")
  1. 查看pod里serviceaccount目录中的资源
sh-4.2$ ls -l /var/run/secrets/kubernetes.io/serviceaccount
total 0
lrwxrwxrwx. 1 root root 13 Aug  6 23:45 ca.crt -> ..data/ca.crt
lrwxrwxrwx. 1 root root 16 Aug  6 23:45 namespace -> ..data/namespace
lrwxrwxrwx. 1 root root 21 Aug  6 23:45 service-ca.crt -> ..data/service-ca.crt
lrwxrwxrwx. 1 root root 12 Aug  6 23:45 token -> ..data/token

其中:

  • ca.crt - OpenShift的CA证书
  • namespace - 当前命名空间
  • service-ca.crt - OpenShift服务的CA证书
  • token - 访问OAuth的Service Account的Token
  1. 使用ca.crt和token访问API Service
sh-4.2$ curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" https://kubernetes.default.svc
{
  "paths": [
    "/api",
    "/api/v1",
    "/apis",
    "/apis/",
    "/apis/admissionregistration.k8s.io",
    "/apis/admissionregistration.k8s.io/v1",
    "/apis/admissionregistration.k8s.io/v1beta1",
    "/apis/apiextensions.k8s.io",
    "/apis/apiextensions.k8s.io/v1",
    "/apis/apiextensions.k8s.io/v1beta1",
    "/apis/apiregistration.k8s.io",
    "/apis/apiregistration.k8s.io/v1",
    "/apis/apiregistration.k8s.io/v1beta1",
    "/apis/apps",
    ...
  ]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值