自省 Docker/Kubernetes 运行时,以检查它是 Docker 容器还是 Kubernetes 集群中 PO



如何检查它是普通的 docker 容器还是普通的 docker 容器或 一个包裹在 Pod 中的容器,通过非常简单的内省 在运行时?

默认情况下,Kubernetes 在容器内设置了许多环境变量。您可以检查是否设置了其中任何一个。 例如:KUBERNETES_SERVICE_HOST

# kubectl exec -it api-server-594f9684b-jg2d4 env | grep KUBERNETES
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_HOST=10.96.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_PORT=tcp://10.96.0.1:443

https://kubernetes.io/docs/concepts/containers/container-environment-variables/

最新更新