内省 Docker/Kubernetes 运行时以检查它是 Docker 容器还是 Kubernetes 集群中 POD 中的容器

Introspecting Docker/Kubernetes Runtime to check whether it is a Docker Container or a Container within a POD in Kubernetes Cluster

我如何检查它是普通香草 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/