• idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输


    众所周知,HTTPS是用来解决 HTTP 明文协议的缺陷,在 HTTP 的基础上加入 SSL/TLS 协议,依靠 SSL 证书来验证服务器的身份,为客户端和服务器端之间建立“SSL”通道,确保数据运输安全。而Istio的双向TLS也用来保证数据传输安全。那么,Istio的双向TLS是如何与HTTPS服务一起工作的呢?

    下面通过实例演示Istio的双向TLS是如何与HTTPS服务一起工作的,包括三个部分:

    • 在没有 Istio sidecar 的情况下部署 HTTPS 服务

    • 关闭 Istio 双向 TLS 认证情况下部署 HTTPS 服务

    • 部署一个启动双向 TLS 的 HTTPS 服务。对于每个部署,请求连接到此服务并验证其是否有效。

    环境准备

    • 未启用双向TLS的安装了Istio的k8s集群

    • 安装openssl,生成证书和configmap

    通过openssl生成key和证书:

    0214_1.jpg

    从给定的公私钥对创建TLS secret:

    0214_2.jpg

    使用kubectl创建Configmap:

    0214_3.jpg

    1.没有部署sidecar

    创建一个不部署sidecar的基于nginx的HTTPS服务,并创建一个部署sidecar的sleep应用来调度nginx

    0214_4.jpg

    0214_5.jpg

    检查上述pod是否正常运行

    0214_6.jpg

    在pod正常运行时,从sleep应用的istio-proxy容器内访问HTTPS服务:

    0214_7.jpg

    可以看到,nginx能正常访问。

    2. 部署sidecar并禁用双向TLS

    删除上一步创建的未部署sidecar的HTTPS服务,并用sidecar部署它

    相关服务请访问https://support.huaweicloud.com/cce/index.html?cce_helpcenter_2019

    查看pod是否正常启动: 

    0214_9.jpg

    在pod正常运行时,从istio-proxy容器运行,可以看到,nginx能正常访问:

    0214_10.jpg

    3. 部署sidecar,并启用双向TLS

    通过配置网格级别的认证策略启用全局双向TLS,首先配置网格认证策略:

    0214_11.jpg

    配置目的地规则:

    0214_12.jpg

    此时,网格中的所有服务已经开启了双向TLS功能,从sleep容器中访问nginx是正常的:

    0214_13.jpg

    从sleep容器中访问时,工作流为“sleep→sleep-proxy→nginx-proxy→nginx” ,此时,整个过程是7层流量,在sleep-proxy到nginx-proxy之间有一个L4双向TLS加密。

    而在istio-proxy中运行时,它无法工作:

    0214_14.jpg

    此时,工作流为“sleep-proxy→nginx-proxy→nginx”,nginx-proxy会从sleep-proxy中获得双向TLS流量,但是sleep-proxy无法提供客户端证书,因此,它不起作用。

    总结:通过上述演示,可以了解到,当istio sidecar使用HTTPS服务部署时,无论是否启用双向TLS功能,代理自动从L7降到L4,所以,它不会终止原来的HTTPS通信。

    相关服务请访问https://support.huaweicloud.com/cce/index.html?cce_helpcenter_2019

  • 相关阅读:
    Sqlite中文排序
    关于java中实现在oracle数据库中实现对中文首字母进行排序的解决方案
    Java面试题全集(下)
    Java面试题全集(上)
    更新Svn客户端后,右键菜单中没有TortoiseSVN
    Maven项目报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clea
    华为机试题---1、字符串最后一个单词的长度
    ES6 类 继承
    JS 创建对象的几种方法(总结)
    80端口和8080端口的区别是什么
  • 原文地址:https://www.cnblogs.com/CCE-SWR/p/10374723.html
Copyright © 2020-2023  润新知