首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能从库贝-代理舱询问库贝-阿普瑟弗吗?

我能从库贝-代理舱询问库贝-阿普瑟弗吗?
EN

Stack Overflow用户
提问于 2021-03-14 23:45:00
回答 1查看 193关注 0票数 0

我不能直接进入库伯-阿普塞维尔吊舱,但我有机会进入库贝代理吊舱。我可以运行curl https://localhost:6443/healthz作为对kube-apiserver或其他方面的健康探测吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-15 09:22:22

所有Pods都可以访问API :这是由安装在/var/run/secrets/kubernetes.io/serviceaccount/token中的服务帐户秘密授予的。

在进行

之前,您必须确保允许Pod访问API,因此不会被NetworkPolicy阻止:这个要求还没有对您的问题进行声明,因此给出的情况并非如此。

所述令牌用于对API执行操作,例如RBAC保护的资源的CRUD操作。

如果您只需要检查API的健康性,就可以使用/var/run/secrets/kubernetes.io/serviceaccount/ca.pem中已挂载的CA公共证书以及已经在Pod中注入指向API的环境变量KUBERNETES_SERVICE_HOST以及指向KUBERNETES_SERVICE_PORTKUBERNETES_SERVICE_PORT来检查API,尽管443应该是默认值。

示例

代码语言:javascript
复制
# kubectl run -it --image curlimages/curl curl --command -- sh
If you don't see a command prompt, try pressing enter.
/ $ env | grep -i kubernetes
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_SERVICE_HOST=10.96.0.1
/ $ curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT/api 
-H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
{
  "kind": "APIVersions",
  "versions": [
    "v1"
  ],
  "serverAddressByClientCIDRs": [
    {
      "clientCIDR": "0.0.0.0/0",
      "serverAddress": "172.20.0.2:6443"
    }
  ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66630708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档