日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Istio 自动注入 sidecar 不成功及k8s安装istio后pod无法创建解决方案

發布時間:2025/1/21 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Istio 自动注入 sidecar 不成功及k8s安装istio后pod无法创建解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境

  • Kubernetes v1.15.6 源碼安裝
  • Istio v1.2.5 Helm 安裝

Istio v1.2.5 Helm 安裝

  • Istio Helm安裝

問題

安裝完后,做官方 bookinfo 實驗 kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml 出現 sidecar 自動注入不成功。

解決方法

  • 第一種可能:

安裝 Istio 時,配置了 enableNamespacesByDefault: false

sidecarInjectorWebhook:enabled: true# 變量為true,就會為所有命名空間開啟自動注入功能。如果賦值為false,則只有標簽為istio-injection的命名空間才會開啟自動注入功能enableNamespacesByDefault: falserewriteAppHTTPProbe: false 解決方法: # 設置標簽 $ kubectl label namespace default istio-injection=enabled# 查看 $ kubectl get namespace -L istio-injectionNAME STATUS AGE ISTIO-INJECTION default Active 374d enabled
  • 第二種可能:

安裝 Istio 時,設置 autoInject: disabled

proxy:includeIPRanges: 192.168.16.0/20,192.168.32.0/20# 是否開啟自動注入功能,取值enabled則該pods只要沒有被注解為sidecar.istio.io/inject: "false",就會自動注入。如果取值為disabled,則需要為pod設置注解sidecar.istio.io/inject: "true"才會進行注入autoInject: disabled
  • 解決方法:
    • 第一個方法:設置 autoInject: enabled
    • 第二個方法:在 Pod 或者 Deployment 聲明 sidecar.istio.io/inject: "true"
  • 第三種可能:

kube-apiserver --enable-admission-plugins` 沒有配置 `MutatingAdmissionWebhook,ValidatingAdmissionWebhook 解決方法: $ vim kube-apiserver--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorag
  • 第四種可能: 如果自動注入時,報如下錯誤信息: Error creating: Internal error occurred: failed calling webhook "sidecar-injector.istio.io": Post https://istio-sidecar-injector.istio-system.svc:443/inject?timeout=30s: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 原因: Master 節點沒安裝 flanneld、docker、kube-proxy,會導致 Master 節點訪問不了集群內部的 Service(istio-sidecar-injector),導致自動注入失敗。 解決方法: Master 安裝 flanneld、docker、kube-proxy,并且針對 Master 節點上的 node 設置 SchedulingDisabled

  • 第五種可能: 沒有配置

    Aggregation

    (一定要安裝

    metrics-server

    ,收集監控數據。提供

    HPA

    伸縮數據)

    解決方法:
    • 第一個方法:在 Master 節點安裝 kube-proxy 服務(推薦直接把 master 節點安裝一個 node,并設置成不可調度)
    • 第二個方法:kube-apiserver 配置中啟用 --enable-aggregator-routing=true (允許在不修改 Kubernetes 核心代碼的同時擴展 Kubernetes API)

k8s安裝istio后pod無法創建

報錯:istio-sidecar-injector.istio-system.svc:443 Client.Timeout

# 設置標簽 kubectl label namespace default istio-injection=disabled kubectl label namespace dmgeo istio-injection=disabled kubectl label namespace dmgeo-lib istio-injection=disabled kubectl label namespace dmgeo-ync-branch istio-injection=disabled kubectl label namespace dmgeo-ync-trunk istio-injection=disabled kubectl label namespace kuboard istio-injection=disabled kubectl label namespace kube-public istio-injection=disabled kubectl label namespace kube-public istio-injection=disabled# 查看標簽 kubectl get namespace -L istio-injection

參考鏈接

  • https://kubernetes.io/docs/tasks/access-kubernetes-api/configure-aggregation-layer/
  • https://www.okcode.net/article/62009
  • https://cloud.tencent.com/developer/article/1638611

總結

以上是生活随笔為你收集整理的Istio 自动注入 sidecar 不成功及k8s安装istio后pod无法创建解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。