检查 GKE 集群中的 PoDSecurityPolicy 状态

Checking PoDSecurityPolicy status in a GKE Cluster

如何检查 PoDSecurityPolicy 是否在 GKE 集群上启用?使用 gcloud container clusters describe <clustername>,我找不到任何东西。

如果我在已启用此 plugin 的集群上启用它,它会显示该插件已启用,因此实际上无法知道 plugin 是否已启用一个集群

 $ gcloud beta container clusters update mycluster --enable-pod-security-policy --zone us-east1-c
 Updating podsecpolicy-poc...done.
 Updated [https://container.googleapis.com/v1beta1/projects/<project>/zones/us-east1-c/clusters/mycluster].

由于 PodSecurityPolicy 仍然是 GKE 中的 beta 功能,它只能由 GKE beta API[=40 访问=].检查 PodSecurityPolicy 控制器是否在您的 GKE 集群 上启用,运行:

$ gcloud beta container clusters describe <cluster-name> --zone=<zone> --format json | jq '.podSecurityPolicyConfig'

示例命令及其结果:

$ gcloud beta container clusters describe my-gke-cluster --zone=europe-west4-c --format json | jq '.podSecurityPolicyConfig'
{
  "enabled": true
}

更新:

PodSecurityPolicyGKE集群上未启用时,上述查询returns:

null

因为没有 podSecurityPolicyConfig 部分可用。您也可以使用 grep 搜索它。如果启用 PodSecurityPolicy ,结果将如下所示:

$ gcloud beta container clusters describe my-gke-cluster --zone=europe-west4-c | grep -iA 1 podsecuritypolicy
podSecurityPolicyConfig:
  enabled: true

如果不是,你根本找不到这个部分。