Istio 常見(jiàn)問(wèn)題 - Istio 支持 HTTP/1.0

原文:https://makeoptim.com/istio-faq/istio-support-http10

現(xiàn)象

Istio 默認(rèn)只支持 HTTP/1.1 以上協(xié)議版本,并不支持 HTTP/1.0。

原因

Istio 中負(fù)責(zé)流量轉(zhuǎn)發(fā)的是 Envoy。

Envoy 中可以設(shè)置支持 HTTP/1.0。

Istio 負(fù)責(zé)分配“規(guī)則”的是 Pilot

Pilot 的環(huán)境變量 PILOT_HTTP10 默認(rèn)為 0,即不支持 HTTP/1.0

解決方法

修改 Pilot 的環(huán)境變量 PILOT_HTTP101。

阿里云

阿里云安裝 Istio 的方式與其他平臺(tái)不同,因此配置方法需要使用阿里云控制臺(tái)。

  1. 進(jìn)入 Istio 管理,點(diǎn)擊右上角更新按鈕。

    faq
  2. 找到 Pilot 配置項(xiàng),增加如下配置,并更新。

     enableHttp10: true
    

    注:此配置項(xiàng)為詢(xún)問(wèn)阿里云工程師獲得,阿里云文檔中未找到。

    faq
  3. 檢查 Pilot 環(huán)境變量是否生效。

    faq

其他平臺(tái)

其他平臺(tái)一般使用 Istioctl 或者 Helm 安裝,只要在 Pilot 配置項(xiàng)中加入 PILOT_HTTP10 為 1 即可,下面以 Istioctl 安裝為例。

  1. 編輯 Istioctl 安裝配置項(xiàng)文件。

    # Istio.yaml
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      # Use the default profile as the base
      # More details at: https://istio.io/docs/setup/additional-setup/config-profiles/
      profile: default
      values:
        pilot:
          # https://github.com/istio/istio/issues/11235
          env:
            PILOT_HTTP10: 1  
        gateways:
    ......    
    
    
  2. istioctl apply 該配置文件即可。

    istioctl manifest apply -f Istio.yaml
    
  3. 檢查 Pilot 環(huán)境變量是否生效。

    Istio 1.5.0 及以上版本

    $ kubectl describe deployment istiod -n istio-system | grep PILOT_HTTP10
       PILOT_HTTP10:                                 1
    

    Istio 1.4.x 及以下版本

    $ kubectl describe deployment istio-pilot -n istio-system | grep PILOT_HTTP10
       PILOT_HTTP10:                                 1
    

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容