Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Istio服务网格从http升级到http2?_Http_Kubernetes_Http2_Kubernetes Ingress_Istio - Fatal编程技术网

如何将Istio服务网格从http升级到http2?

如何将Istio服务网格从http升级到http2?,http,kubernetes,http2,kubernetes-ingress,istio,Http,Kubernetes,Http2,Kubernetes Ingress,Istio,我们在Kubernetes上,使用Istio服务网格。目前,网关中存在HTTPS的SSL终止。我在istio代理日志中看到HTTP协议是HTTP 1.1 我想将HTTP1.1升级到HTTP2,因为它有很多优点。客户应通过SSL/TLS调用我们的服务HTTP2 我用这个作为这个主题的内部演示 这些是瓶颈: 1) 我想提出一个改变最少的计划。我知道我需要从更新网关 apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: n

我们在Kubernetes上,使用Istio服务网格。目前,网关中存在HTTPS的SSL终止。我在istio代理日志中看到HTTP协议是HTTP 1.1

我想将HTTP1.1升级到HTTP2,因为它有很多优点。客户应通过SSL/TLS调用我们的服务HTTP2

我用这个作为这个主题的内部演示

这些是瓶颈:

1) 我想提出一个改变最少的计划。我知道我需要从更新网关

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - "*"
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/server.pem
      privateKey: /etc/certs/privatekey.pem

根据我在文章中看到的例子

我想知道:这会允许从浏览器(只支持这种模式)通过TLS连接HTTP2吗?我可以像使用HTTPS那样提供HTTP2的tls详细信息吗

2) 需要更新的其他Istio配置有哪些

3) 此更改是否会中断当前使用http协议的微服务?我如何减轻这种影响

4) 我读到了关于命运和规则的书。这合适吗

根据我的知识和istio(http2处于稳定阶段)

1) 这是否允许从浏览器(仅支持此模式)进行HTTP2 over TLS连接?我可以像使用HTTPS那样提供HTTP2的tls详细信息吗

是的,它应该允许http2


2) 需要更新的其他Istio配置有哪些

您可以选择应用http2的位置:





手动协议选择

可以通过命名服务端口名[-]手动指定协议。支持以下协议:

  • grpc
  • grpc
  • http
  • http2
  • https
  • 蒙戈
  • mysql*
  • redis*
  • tcp
  • tls
  • udp
*默认情况下禁用这些协议,以避免意外启用实验功能。要启用它们,请配置相应的先导环境变量



3) 此更改是否会中断当前使用http协议的微服务?我如何减轻这种影响

4) 我在读有关DestinationRule和升级策略的文章。这合适吗

我认为这应该是一个很好的适合,你将不得不升级和改变服务到http2



我希望它能帮助你。

你好。我按照建议更新了服务。我得到503个错误。有什么原因吗?Hello@Anophallimala,所以如果您更改网关和目标规则,服务中的http名称一切正常,但如果您将其更改为http2,它会失败吗?就我在你的另一个帖子上查到的,选项1一切正常吗?是的,@jt97。没错。服务中的http工作正常。但是,当我把它改成http2时,它开始给我503。两种情况下的目的地规则保持不变。
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http2
      protocol: HTTP2
    hosts:
    - "*"
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/server.pem
      privateKey: /etc/certs/privatekey.pem
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-ingress
spec:
  selector:
    app: my-ingress-gateway
  servers:
  - port:
      number: 80
      name: **http2**
      protocol: **HTTP2**
    hosts:
    - "*"
kind: Service
metadata:
  name: myservice
spec:
  ports:
  - number: 80
    name: http2