Istio Vault CA 集成

    • 创建一个新的 Kubernetes 集群以运行本教程中的示例。
    • 使用 Helm 安装 Istio 启用 SDS 和向节点代理发送证书签名请求来测试 Vault CA :

    本教程中使用的测试 Vault 服务器的 IP 地址为 。配置 global.proxy.excludeIPRanges ="35.233.249.249/32" 将测试 Vault 服务器的 IP 地址列入白名单,以便 Envoy 不会拦截从 Node Agent 到 Vault 的流量。

    这个 yaml 文件 包含 Istio 中启用 SDS(密钥发现服务)的配置。Vault CA 相关配置设置为环境变量:

    1. env:
    2. value: "https://35.233.249.249:8200"
    3. - name: CA_PROVIDER
    4. - name: "VAULT_ADDR"
    5. value: "https://35.233.249.249:8200"
    6. - name: "VAULT_AUTH_PATH"
    7. value: "auth/kubernetes/login"
    8. - name: "VAULT_ROLE"
    9. value: "istio_ca/sign/istio-pki-role"

    本节部署测试工作负载 httpbin。当测试工作负载的 sidecar 通过 SDS 请求证书时,Node Agent 将向 Vault 发送证书签名请求。

    • 生成示例 httpbin 后端的部署:

    Zip

    • 部署示例后端:
    1. $ kubectl apply -f httpbin-injected.yaml
    • 列出节点代理的 pod:
    • 查看每个节点代理的日志。驻留在与测试工作负载相同的节点上的节点代理将包含与 Vault 相关的日志。
    1. $ kubectl logs -n istio-system THE-POD-NAME-FROM-PREVIOUS-COMMAND
    • 生成上述日志后,您已完成本文中的教程,该教程将整合外部 Vault CA 并将证书签名请求路由到 Vault。

    完成本教程后,您可以删除在本教程开头创建的测试集群。

    描述 Istio 的授权功能以及如何在各种用例中使用它。

    如何在 Kubernetes 中启用 Citadel 的健康检查。

    HTTP 服务的访问控制

    展示为 HTTP 服务设置基于角色的访问控制方法。

    展示如何对 Istio service 进行健康检查。

    展示如何为 TCP 服务设置基于角色的访问控制。

    修复 Citadel

    如果 Citadel 表现不正常该怎么办。