使用 Azure Policy 检查合规性状态

已完成

上一部分中,你已了解如何使用 Azure Policy 通过内置策略和计划轻松治理群集。 我们还注意到,策略不会终止已有的 Pod。 我们想要发现不合规的 Pod,以便采取相应措施。 在此练习中,我们就是这样做的。

注意

本练习为选做练习。 若要完成本练习,需要在开始之前创建 Azure 订阅。 如果没有 Azure 帐户,或者现在不想创建帐户,则可以通读说明,以便了解所提供的信息。

使用 Azure 门户查看不合规的 Pod

  1. 转到 Azure 门户中的策略页面。

  2. 在顶部,可单击“...”来将范围设置为群集资源组。选择 Azure Kubernetes 服务 (AKS) 群集所在的订阅和资源组,然后选中页面底部的“选择”。

    显示如何设置你有兴趣查看的策略范围的屏幕截图。

    注意

    可能需要几分钟,之后门户中会显示不合规的 Pod。

    在这里,我们可以看到部署的策略和计划都存在不合规的资源。 这些资源不符合“针对 videogamerg 的基于 Linux 的工作负载的 Kubernetes 群集 Pod 安全限制标准”计划中的 3 个策略。 选择该计划将显示 8 个策略中不符合的 3 个策略。

    显示资源不合规的策略的屏幕截图。

  3. 选择“Kubernetes 群集容器应只使用允许的映像”策略。 你会看到包含不合规 Pod 的群集

  4. 选择群集,更详细地了解哪些 Pod 不合规。 此处会显示不合规的特定 Pod 的名称。 你会看到,只有部署的第一个 Pod 不合规。 可以看到,查看这些策略页是审核群集合规性状态的有效方法。

    显示只有部署的第一个 Pod 不合规的屏幕截图。

删除不合规的 Pod,并重新检查合规性

找到不合规的 Pod 后,我们可继续下一步骤,并删除该 Pod。 删除 Pod 后,策略会阻止部署之后不符合该策略的 Pod。 将“针对 videogamerg 的基于 Linux 的工作负载的 Kubernetes 群集 Pod 安全限制标准”计划设置为审核,意味着可以标识不合规的 Pod,但不会阻止部署这些 Pod。 本课程不介绍如何使 Pod 符合计划,所以我们在这里将重点介绍如何修复设置为具有“拒绝”效果的策略。

再次打开 Cloud Shell,删除不合规的部署。

kubectl delete deployment simple-nginx

可能需要 45 分钟,门户内才会反映出更改。 完成等待后,返回策略,查看其中是否仍有不合规 Pod。 你发现你的群集现在符合策略。

显示资源现已合规的屏幕截图。

总结

在本单元中,你学习了如何使用 Azure 门户标识不符合策略的 Pod。 然后,你继续操作,删除了不符合其中一个策略的 Pod。 你还学习了如何对部署进行故障排除,以及如何标识由于拒绝策略而未部署的 Pod。 你学习了如何使用 Azure 门户来查看不合规的资源,及其不符合的策略。 此外,还通过删除首次创建的不合规 Pod,解决了其中一个问题。 现在你已知道如何添加和测试策略和计划,接下来可浏览 Kubernetes 的其他内置策略,查找适合业务需求的策略。