从 Anthos Service Mesh 1.4.5 版开始,Anthos Service Mesh 证书授权机构 (Mesh CA) 负责管理 GKE Pod 的 mTLS 证书和密钥的颁发及轮替。开源 Istio 和早期版本的 Anthos Service Mesh 使用 Istio CA(以前称为 Citadel)作为证书授权机构。
如果要从 Istio 或早期版本的 Anthos Service Mesh 升级,并且您已有使用自定义信任网域的授权政策,则您必须更新您的授权政策以使用 cluster.local
来引用本地信任网域。如果您的现有授权政策已使用 cluster.local
,则无需执行任何操作。
如需更新您的授权政策,请执行以下操作:
通过 grep 查找您的授权政策以找到自定义信任网域的所有发生实例。在以下示例中,
old-td
是自定义信任网域的名称。apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: service-httpbin.default.svc.cluster.local namespace: default spec: rules: - from: - source: principals: - old-td/ns/sleep-allow/sa/sleep to: - operation: methods: - GET selector: matchLabels: app: httpbin
将该自定义信任网域更改为
cluster.local
,然后应用更新后的政策。kubectl apply -f - <<EOF apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: service-httpbin.default.svc.cluster.local namespace: default spec: rules: - from: - source: principals: - cluster.local/ns/sleep-allow/sa/sleep to: - operation: methods: - GET selector: matchLabels: app: httpbin --- EOF