kubernetes - 如何使用启用 `mtls` 的基于 Istio 的服务?

标签 kubernetes google-cloud-platform jwt istio

目前,我想引入 istio 作为我们微服务的服务网格框架。我曾经玩过它(< 1 周),我的理解是 Istio 确实提供了一种简单的方法来保护服务到服务的通信。许多(或全部?) Istio 文档/文章提供了一个示例,将 istio-proxy (envoy) 安装为 sidecar 容器的客户端和服务器如何使用 mtls 建立安全通信方法。

但是,由于我们现有的客户(我没有任何控制权)使用我们的服务(将被迁移到使用 istio)没有 istio,我仍然不太了解我们应该如何做得更好。

  • 是否有任何教程或示例可以更好地提供我的用例?
  • 不基于 istio 的客户端如何使用 mtls使用我们基于 istio 的服务?考虑使用基本的curl命令来模拟这样的事情。
  • 另外,我正在考虑将特定的服务帐户(kubernetes、gcp iam 服务帐户等)分发给客户端,以限制客户端在调用我们的服务时的权限。我对这些事情有很多疑问:gcp iam 服务帐户、istio、rbac、mtls、jwt token 等有助于保护我们的服务 API?

  • 有什么建议吗?

    最佳答案

    您想通过公共(public)互联网上的 SSL 将第三方添加到您的网络之外的 Istio 网格吗?

    我不认为 Istio 真的是为了联合外部服务,但你可以在网络边缘放置一个 istio 入口网关代理,用于路由进出应用程序。

    https://istio.io/docs/tasks/traffic-management/ingress/

    如果您正在构建微服务,那么您肯定有一个端点或网关,这对我来说似乎更明智,试试 Apigee 或其他东西。

    关于kubernetes - 如何使用启用 `mtls` 的基于 Istio 的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841240/

    相关文章:

    linux - linux如何将数据包转发给k8s服务

    firebase - 如何将 Cloud Firestore 数据库集合下载到 JSON 或 CSV 文件中?

    amazon-web-services - Kubernetes 与 AWS 弹性 block 存储

    firebase - 用于管理客户端 API key 的正确 Firestore 架构是什么?

    php - 通过托管在 Compute Engine 上的 PHP 连接到 Cloud SQL

    Angular 8 在身份验证完成之前抑制 HTTP 调用

    asp.net-mvc - 应该存储哪些 JWT token 以备后用?

    javascript - Query.formatError 中 'users.email' 中的未知列 'where clause'

    kubernetes - 为什么 kubectl cp 命令以退出代码 126 终止?

    docker - 如何使 kubernetes docker secret 工作?