首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用 Let's Encrypt 为 Istio(Envoy)添加 TLS 支持

利用 Let's Encrypt 为 Istio(Envoy)添加 TLS 支持

Istio 是一个开源的服务网格平台,它提供了代理、管理和安全等功能,以实现负载均衡、熔断、可观察性等。Envoy 是 Istio 中的代理组件,负责处理所有进出服务的流量。

为 Istio(Envoy)添加 TLS 支持,可以使用 Let's Encrypt 证书。Let's Encrypt 是一个免费的、自动化的证书颁发机构,可以帮助用户快速地为他们的网站或应用程序添加 TLS 支持。

以下是使用 Let's Encrypt 为 Istio(Envoy)添加 TLS 支持的步骤:

  1. 安装 certbot 工具

certbot 是 Let's Encrypt 提供的一个自动化证书管理工具,可以帮助用户快速地获取和管理证书。

代码语言:txt
复制
$ sudo apt-get install certbot
  1. 生成证书

使用 certbot 工具生成证书,并将证书保存到指定的目录中。

代码语言:txt
复制
$ sudo certbot certonly --standalone --preferred-challenges http --http-01-port 8080 -d example.com
  1. 配置 Istio

在 Istio 中配置 Envoy 代理,以使用生成的证书进行 TLS 加密。

代码语言:txt
复制
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    tls:
      mode: SIMPLE
      serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
      privateKey: /etc/istio/ingressgateway-certs/tls.key
    hosts:
    - "example.com"
  1. 部署应用程序

将应用程序部署到 Kubernetes 集群中,并配置 Istio 网关。

代码语言:txt
复制
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: my-virtual-service
spec:
  hosts:
  - "example.com"
  gateways:
  - my-gateway
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: my-service
        port:
          number: 80

以上就是使用 Let's Encrypt 为 Istio(Envoy)添加 TLS 支持的方法。需要注意的是,证书的有效期为 90 天,需要定期更新。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用let's encrypt为网站免费启用https

概览 Let’s Encrypt旨在为每个站点提供免费的基于SSL证书,以加速HTTP向HTTPS的过渡,恰逢上周HTTP2的发布,对于HTTPS的优化,其速度显著优于HTTP1.x(某些应用场景) 特点...var/lib/letsencrypt:/var/lib/letsencrypt" \ quay.io/letsencrypt/letsencrypt:latest auth 我们利用官方已经制作好的...letencrypt镜像 快速上手 为域名coocla.org生成一个证书 letsencrypt -d coocla.org certonly 如果一切顺利, 查看/etc/letsencrypt将会看到如下结构...官方支持的插件 插件 支持验证 默认安装 standalone Y N apache Y Y webroot Y N manual Y N nginx Y Y 证书的位置 所有生成的秘钥和证书均可在/...’s Encrypt的证书的有效期限是90天,因此使用者必须至少每三个月更新一次你的证书 2、因为letsencrypt的工作原理,代理在向CA发起证书的发行或吊销时,需要能够证明自己可以控制该域名,

89360
  • eBay基于Istio的应用网关的探索和实践

    集成cert agent SDS通过cert agent GRPC获取证书和key推送到IngressGateway 集群证书 利用自签根证书为每个Istio集群签发中间证书 因安全方面的需求,需保证中间证书更新期间新旧证书同时可用...和Mesh 应用配置独立Gateway VIP External访问API Gateway为Simple TLS Mesh内部访问为mTLS 不同环境配置专有L4/L7集群 3)软件防火墙集成(Sentinel...EDS 结论: 1)单个Istiod 32 CPU/10G内存可以支持: 32个Ingress Pods 2000个sidecar 2)收敛时间小于5秒能够支持的规模: 2000 k8s service...没有跨数据中心流量 应用数据面为网关Envoy到Sidecar Envoy 故障容灾 GTM监控VIP状态,自动mark down故障VIP Istio 网关宕机会影响客户端DNS缓存 单集群应用后端...port 2)单点从外部访问mTLS Mesh机器 解决方案:利用Subset Load Balancing,EnvoyFilter从URL解析Pod IP并转发 3)Envoy readiness

    1.4K32

    Istio实战——流量管理

    VS支持http,tls,tcp的流量控制。同时通过exportto配置支持跨命名空间边界的虚拟服务的可见性。如果没有指定名称空间,则默认情况下将虚拟服务导出到所有名称空间。目前只支持当前和所有。...# Envoy等待服务的答复的时间,默认15s - name: reviews-v2-routes match: - sourceLabels: env: prod...支持配置负载均衡,基于哈希的一致性负载平衡,连接池,断路器,连接设置,tls证书设置 负载均衡策略包括:随机,加权,最少请求。...hosts: - "*" 更多网格细节参考文档 1.4 Service entries 使用一个服务条目向 Istio 内部维护的服务注册中心添加一个条目。...添加服务条目后,Envoy代理可以向服务发送流量,就好像它是您网格中的服务一样。通过配置服务条目,您可以管理运行在网格之外的服务的流量.一般不需要为 mesh 服务使用的每个外部服务添加服务条目。

    1.7K20

    Istio的流量管理(概念)(istio 系列二)

    为外部目的地定义重试,超时和故障注入策略 提供将vm添加到网格中,在VM中运行网格服务 在逻辑上将一个不同的集群添加到网格中,来在kubernetes上配置多集群istio网格。...无需为每个网格服务使用的外部服务添加service entry。默认下,istio仅会配置Envoy代理来转发请求到无法识别的服务。...如果一个目的地没有注册到网格中,则不能利用istio的特性来控制到该目的地的流量。...下面例子中配置的最大重试次数为3,每次超时时间为2s。...应用为调用某个服务的API设置的超时为2s;而virtual service中设置的超时为3s,重试次数为1。这种情况下,应用首先会发送超时,Envoy的超时和重试将失效。

    1.8K40

    一文带你彻底厘清 Isito 中的证书工作机制

    应用不需要修改代码,就可以利用 Istio 提供的双向 TLS 认证实现服务身份认证,并基于服务身份信息提供细粒度的访问控制。Istio 安全的高层架构如下图所示: ? 图1....SDS 工作原理 和其他 xDS 接口一样,SDS 也是 Envoy 支持的一种动态配置服务接口。...在没有使用 SDS 前,Istio 中的服务证书被创建为 Kubernetes secret,并挂载到代理容器中。如果证书过期了,则需要更新 secret 并重启 Envoy 容器,以启用新的证书。...SDS 服务向 Envoy 下发的数据结构为extensions.transport_sockets.tls.v3.Secret,其结构如下: { "name": "......{ "name": "sds-grpc", "type": "STATIC", "connect_timeout": "10s", "hidden_envoy_deprecated_hosts

    2.2K63

    云原生二十篇|浅析ServiceMesh和Istio

    地址为: https://github.com/istio/istio 2.1、Istio架构图 Istio架构图如下: Istio架构图 提供的功能: 针对HTTP,gRPC,WebSocket和TCP.../envoy.git cd envoy bazel build //source/exe:envoy-static (2)配置 Envoy的配置文件为 yaml 格式,其配置文件分为两部分: 静态配置:...Envoy Envoy支持L3/L4 filter架构,提供了对L3/L4网络代理功能,这是Envoy的核心功能,还支持TCP、UDP、HTTP、TLS证书认证、Redis、Postgres、MongoDb...等诸多协议的filter; Envoy支持HTTP L7架构,提供了对HTTP协议的filter,支持HTTP1.1、HTTP2、HTTP3,gRPC等协议; Envoy还提供了健康检查,负载均衡,熔断...实践 Istio 是基于K8S编排服务,而K8S网络相关的知识点,在《Kubernetes核心原理》做过一些介绍,这里再回顾一下: K8S的物理资源是Node,每个Node上运行一个Kubelet进程,

    4610

    Istio 运维实战系列(2):让人头大的『无头服务』-上

    ", "common_tls_context": { "alpn_protocols": [ "istio-peer-exchange",..."istio" ], # 访问 Redis 使用的客户端证书 "tls_certificate_sds_secret_configs": [...Redis 客户端以为是这样的: 但实际上是这样的: 在服务器端没有安装 Envoy Sidecar,不支持 mTLS 的情况下,按理客户端的 Envoy 不应该采用 mTLS 向服务器端发起连接。...查看 Istio 的相关源代码,可以得知,当 Istio webhook 向 Pod 中注入 Envoy Sidecar 时,会同时为 Pod 添加一系列 label,其中就包括 “tlsMode” :...这样同时兼容了服务器端支持和不支持 mTLS 两种情况。 下图展示了 Istio 中是如何通过 endpoint 的标签来兼容 mTLS 和 plain TCP 两种情况的。

    79520

    istio的安全(概念)

    Istio提供了mutual TLS作为传输身份验证的全栈解决方案,这种方式无需修改服务代码,该方案: 为每个服务提供了强标识作为角色(role),支持跨集群和云的互操作性。...客户端侧的Envoy和服务端侧的Envoy建立双向TLS连接,istio会将流量从客户端的Envoy转发到服务端侧的Envoy 在授权后,服务端测的Envoy会通过本地TCP连接将流量转发到服务端的服务中...这样,就可以通过逐步安装并配置客户端的istio sidecar来发送mutual TLS流量。一旦完成客户端的配置,操作人员就可以将服务端配置为仅mutual TLS模式。...控制平面可能会拉取公钥,并将其添加到配置中,用于JWT校验。或者,isito会提供istio系统管理的密钥和证书的路径,并将它们安装到应用pod中,用于mutual TLS。更多参见身份和证书管理。...高性能:istio的授权运行在本地的Envoy上。 高兼容性:支持给RPC,HTTP,HTTPS和HTTP2,以及普通TCP协议。 授权架构 每个Envoy代理都运行了一个在运行时授权请求的授权引擎。

    1.4K30

    Istio 运维实战系列(2):让人头大的『无头服务』-上

    中配置了访问 Redis Cluster 的 tls 证书信息,包括 Envoy Sidecar 用于访问 Redis 使用的客户端证书,用于验证 Redis 服务器证书的根证书,以及采用 spiffe...在服务器端没有安装 Envoy Sidecar,不支持 mTLS 的情况下,按理客户端的 Envoy 不应该采用 mTLS 向服务器端发起连接。这是怎么回事呢?..."@type": "type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext",           "common_tls_context": .../inject/webhook.go#L570),可以得知,当 Istio webhook 向 Pod 中注入 Envoy Sidecar 时,会同时为 Pod 添加一系列 label,其中就包括 "tlsMode...这样同时兼容了服务器端支持和不支持 mTLS 两种情况。 下图展示了 Istio 中是如何通过 endpoint 的标签来兼容 mTLS 和 plain TCP 两种情况的。 ?

    3.6K2710

    Service Mesh安全:当入侵者突破边界,如何抵御攻击?| CNBPS 2020演讲实录

    支持多种公有云平台,在没有服务身份的平台上,Istio可以使用服务名称作为Workload实例的身份。 Istio使用X.509证书为每个Workload设置强身份。...Istio将来自客户端的出站流量重新路由到客户端的本地Sidecar Envoy。客户端Envoy与服务器端Envoy开始相互TLS握手。...这也说明Istio还要依赖于底层基础设施的安全保障。客户端Envoy和服务器端Envoy建立了相互TLS连接,Istio将流量从客户端Envoy转发到服务器端Envoy。...验证策略可以包含用于验证JWT的公钥,以便传递给envoy sidecar。 Istio授权支持service to service的授权,以及针对最终用户和人的授权访问。...Alauda service mesh目前支持针对工作负载workload级别的手动配置双向TLS,设置双向TLS的严格模式和兼容模式。 END

    69510

    Istio入门,原理,实战

    Envoy的核心是在OSI模型的L3和L4层运行的网络代理。它通过使用可插入网络过滤器链来执行连接处理。此外,Envoy支持用于基于HTTP的流量的附加L7层过滤器。...而且,Envoy对HTTP/2和gRPC传输具有一流的支持。...:Envoy包括对自动重试,断路和故障注入的开箱即用支持; 安全性:Envoy还可以实施安全策略,并对基础服务之间的通信应用访问控制和速率限制; Envoy在Istio上表现出色的另一个原因之一是它的可扩展性...但是,我们仍然没有利用Istio为我们启用的任何有趣功能。在本节中,我们将介绍服务网格的一些常见用例,并了解如何使用Istio为我们的简单应用程序实现它们。...虽然Istio将具有代理的服务之间的所有流量自动升级为双向TLS,但这些服务仍可以接收纯文本流量。

    5K41

    istio 数据面调试指南

    另一方面,用户自行维护一套全链路跟踪系统成本也很高,受限于遥测采样率和有限的协议支持,我们通常无法采集所有链路数据。...幸运的是,envoy 本身可以记录流量的信息,本文主要介绍如何利用 envoy 日志,对类似问题进行定位。...Istio 中默认不开启 envoy 中的访问日志,需要手动打开,将 istio 配置中 accessLogFile 设置为 /dev/stdout: % kubectl -n istio-system...X-REQUEST-ID 一次 C 到 S 的 http 请求,envoy 会在 C 端生产 request id,并附加到 header 中,传递到 S 端,在 2 端的日志中都会记录该值, 因此可以通过这个...这种情况,我们可以考虑开启更高级别的日志记录,envoy 默认的日志级别是 warning,我们可以调整为 debug 或者trace。

    2.7K30

    万字长文带你入门 Istio

    而且,Envoy对HTTP/2和gRPC传输具有一流的支持。...:Envoy包括对自动重试,断路和故障注入的开箱即用支持 安全性:Envoy还可以实施安全策略,并对基础服务之间的通信应用访问控制和速率限制 Envoy在Istio上表现出色的另一个原因之一是它的可扩展性...流量管理 我们可以使用Istio流量管理API对服务网格中的流量进行精细控制。我们可以使用这些API将自己的流量配置添加到Istio。...Istio的常见用例 现在,我们已经看到了如何使用Istio在Kubernetes上部署一个简单的应用程序。但是,我们仍然没有利用Istio为我们启用的任何有趣功能。...虽然Istio将具有代理的服务之间的所有流量自动升级为双向TLS,但这些服务仍可以接收纯文本流量。

    83840

    Istio入门(dignity)

    而且,Envoy对HTTP/2和gRPC传输具有一流的支持。...:Envoy包括对自动重试,断路和故障注入的开箱即用支持 安全性:Envoy还可以实施安全策略,并对基础服务之间的通信应用访问控制和速率限制 Envoy在Istio上表现出色的另一个原因之一是它的可扩展性...流量管理 我们可以使用Istio流量管理API对服务网格中的流量进行精细控制。我们可以使用这些API将自己的流量配置添加到Istio。...Istio的常见用例 现在,我们已经看到了如何使用Istio在Kubernetes上部署一个简单的应用程序。但是,我们仍然没有利用Istio为我们启用的任何有趣功能。...虽然Istio将具有代理的服务之间的所有流量自动升级为双向TLS,但这些服务仍可以接收纯文本流量。

    56110

    万字长文从 0 详解 Istio

    而且,Envoy对HTTP/2和gRPC传输具有一流的支持。...:Envoy包括对自动重试,断路和故障注入的开箱即用支持 安全性:Envoy还可以实施安全策略,并对基础服务之间的通信应用访问控制和速率限制 Envoy在Istio上表现出色的另一个原因之一是它的可扩展性...流量管理 我们可以使用Istio流量管理API对服务网格中的流量进行精细控制。我们可以使用这些API将自己的流量配置添加到Istio。...-     Istio 的常见用例    - 现在,我们已经看到了如何使用Istio在Kubernetes上部署一个简单的应用程序。但是,我们仍然没有利用Istio为我们启用的任何有趣功能。...虽然Istio将具有代理的服务之间的所有流量自动升级为双向TLS,但这些服务仍可以接收纯文本流量。

    1.2K00
    领券