启用策略检查

本任务讲解如何启用 Istio 策略检查功能。

对于初始安装

在 Istio 默认的安装配置中,策略检查是被禁用的。要安装启用策略检查功能的 Istio,请使用 —set global.disablePolicyChecks=false Helm 安装选项。

或者,您也可以使用演示配置安装 Istio,这默认就启用了策略检查。

对于已经存在的 Istio 网格

  • 检查网格的策略检查状态。
  1. $ kubectl -n istio-system get cm istio -o jsonpath="{@.data.mesh}" | grep disablePolicyChecks
  2. disablePolicyChecks: true

如果启用了策略检查,则不需要进一步的操作。

  • 编辑 istio configmap 以启用策略检查。
  1. $ kubectl -n istio-system get cm istio -o jsonpath="{@.data.mesh}" | sed -e "s/disablePolicyChecks: true/disablePolicyChecks: false/" > /tmp/mesh.yaml
  2. $ kubectl -n istio-system create cm istio -o yaml --dry-run --from-file=mesh=/tmp/mesh.yaml | kubectl replace -f -
  3. configmap "istio" replaced
  • 删除为修补 istio configmap 而创建的临时文件。
  1. $ rm /tmp/mesh.yaml
  • 验证现在是否已经成功启用了策略检查。
  1. $ kubectl -n istio-system get cm istio -o jsonpath="{@.data.mesh}" | grep disablePolicyChecks
  2. disablePolicyChecks: false