【问题标题】:Checking PoDSecurityPolicy status in a GKE Cluster检查 GKE 集群中的 PoDSecurityPolicy 状态
【发布时间】:2021-06-12 18:52:20
【问题描述】:

如何检查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].

【问题讨论】:

    标签: google-kubernetes-engine kubernetes-pod kubernetes-security


    【解决方案1】:

    由于PodSecurityPolicy 仍是GKE 中的测试版功能,它只能通过GKE beta API 访问。要检查您的 GKE 集群上是否启用了 PodSecurityPolicy 控制器,请运行:

    $ 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集群未启用时,上述查询返回:

    null
    

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

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

    如果不是,则根本找不到此部分。

    【讨论】:

    • 集群中未启用时显示为空。 $ gcloud beta container clusters describe podsecpolicy-poc --zone us-east1-c --format json | jq '.podSecurityPolicyConfig' null
    • 是的,如果不是enabled,则没有podSecurityPolicyConfig部分,所以查询返回null。我会更新我的答案。
    • 感谢马里奥的详细回复。它是否在新 GKE 集群上默认启用?
    • 不,默认情况下不启用,除非您在创建集群时明确启用它。请参阅 GCP 文档的this section
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2020-07-01
    相关资源
    最近更新 更多