gpt4 book ai didi

kubernetes - 如何访问容器内的 kubeconfig 文件

转载 作者:行者123 更新时间:2023-12-03 08:04:25 26 4
gpt4 key购买 nike

我有一个容器,其中使用了 bitnami/kubectl 图像。
现在我想在该容器内运行一些 kubectl 命令。

kubectl 容器如何知道我的 kubeconfig 文件?
我知道我可以将本地 kubeconfig 文件挂载到容器中并使用它。

但是有没有其他方法可以访问 kubeconfig 而不将其用作卷安装?

我浏览了 Kubernetes 中 RBAC 的文档。
即使不挂载 kubeconfig 文件,仅配置角色和角色绑定(bind)是否足以成功运行 kubectl apply 和 kubectl delete 命令?

如果有人帮助我解决这个问题,那将会非常有帮助。
提前致谢!

最佳答案

Now I want to run a few kubectl commands inside that container.

  • 为什么需要将其放在容器内?

kubectl 是与集群“通信”的 CLI,命令通常被传递到 kube-api、解析并由 Admission controller 执行。 .

不清楚为什么需要在容器内运行 kubectl 命令,因为 kubectl 使用您的 kubeconfig 文件进行通信(它将读取证书数据的证书路径) )并将能够连接到您的集群。


如何在容器中运行 K8S API?

  #!/bin/sh

#################################
## Access the internal K8S API ##
#################################
# Point to the internal API server hostname
API_SERVER_URL=https://kubernetes.default.svc

# Path to ServiceAccount token
# The service account is mapped by the K8S API server in the pods
SERVICE_ACCOUNT_FOLDER=/var/run/secrets/kubernetes.io/serviceaccount

# Read this Pod's namespace if required
# NAMESPACE=$(cat ${SERVICE_ACCOUNT_FOLDER}/namespace)

# Read the ServiceAccount bearer token
TOKEN=$(cat ${SERVICE_ACCOUNT_FOLDER}/token)

# Reference the internal certificate authority (CA)
CACERT=${SERVICE_ACCOUNT_FOLDER}/ca.crt

# Explore the API with TOKEN and the Certificate
curl -X GET \
--cacert ${CACERT} \
--header "Authorization: Bearer ${TOKEN}" \
${API_SERVER_URL}/api

关于kubernetes - 如何访问容器内的 kubeconfig 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72874454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com