最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Istio 自動(dòng)注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的解決方法

 更新時(shí)間:2023年10月26日 10:37:21   作者:張志翔的博客  
最近工作中在部署Istio環(huán)境的過程中發(fā)現(xiàn)官方示例啟動(dòng)的pod不能訪問不到Istio的webhook,這個(gè)問題也是困擾了我一天,我把他歸類到sidecar注入失敗的情況下,本文給大家分享問題解決方法,感興趣的朋友跟隨小編一起看看吧

最近工作中在部署Istio環(huán)境的過程中發(fā)現(xiàn)官方示例啟動(dòng)的pod不能訪問不到Istio的webhook,這個(gè)問題也是困擾了我一天,我把他歸類到sidecar注入失敗的情況下,特此記錄,便于日后查閱。

1、第一種可能(我遇到的情況)

如果自動(dòng)注入時(shí),報(bào)如下錯(cuò)誤信息:

Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "rev.validation.istio.io": failed to call webhook: Post "https://istiod.istio-system.svc:443/validate?timeout=10s": dial tcp 10.101.106.199:443: i/o timeout

造成上述問題的原因是 kube-apiserver 的 --enable-admission-plugins 沒有配置 MutatingAdmissionWebhook,ValidatingAdmissionWebhook參數(shù),所以解決問題的方法就是找到 kube-apiserver.yaml 配置文件,我是通過kubeadm安裝的,所以路徑在 /etc/kubernetes/manifests 下,把 --enable-admission-plugins 修改為 NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook 后保存文件,刪掉 kube-apiserver 的pod,讓他自己根據(jù)新的配置文件重新啟動(dòng)(注意:如果是用kubeadm安裝的修改內(nèi)容如果錯(cuò)誤,可能會(huì)導(dǎo)致k8s集群中的kube-apiserver全部掛掉,導(dǎo)致無法訪問集群,這時(shí)就需要從官網(wǎng)下載kube-apiserver二進(jìn)制文件,重新拉起一個(gè)進(jìn)程,再執(zhí)行刪除pod的操作),修改后文件內(nèi)容如下:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 192.168.1.61:6443
  creationTimestamp: null
  labels:
    component: kube-apiserver
    tier: control-plane
  name: kube-apiserver
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-apiserver
    - --advertise-address=192.168.1.61
    - --allow-privileged=true
    - --authorization-mode=Node,RBAC
    - --client-ca-file=/etc/kubernetes/pki/ca.crt
    - --enable-admission-plugins=NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook
    - --enable-bootstrap-token-auth=true
    - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
    - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
    - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
    - --etcd-servers=https://127.0.0.1:2379
    - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
    - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
    - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
    - --requestheader-allowed-names=front-proxy-client
    - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
    - --requestheader-extra-headers-prefix=X-Remote-Extra-
    - --requestheader-group-headers=X-Remote-Group
    - --requestheader-username-headers=X-Remote-User
    - --secure-port=6443
    - --service-account-issuer=https://kubernetes.default.svc.cluster.local
    - --service-account-key-file=/etc/kubernetes/pki/sa.pub
    - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
    - --service-cluster-ip-range=10.96.0.0/12
    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
    - --feature-gates=RemoveSelfLink=false
    image: registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.0
    imagePullPolicy: IfNotPresent
    livenessProbe:
      failureThreshold: 8
      httpGet:
        host: 192.168.1.61
        path: /livez
        port: 6443
        scheme: HTTPS
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 15
    name: kube-apiserver
    readinessProbe:
      failureThreshold: 3
      httpGet:
        host: 192.168.1.61
        path: /readyz
        port: 6443
        scheme: HTTPS
      periodSeconds: 1
      timeoutSeconds: 15
    resources:
      requests:
        cpu: 250m
    startupProbe:
      failureThreshold: 24
      httpGet:
        host: 192.168.1.61
        path: /livez
        port: 6443
        scheme: HTTPS
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 15
    volumeMounts:
    - mountPath: /etc/ssl/certs
      name: ca-certs
      readOnly: true
    - mountPath: /etc/pki
      name: etc-pki
      readOnly: true
    - mountPath: /etc/kubernetes/pki
      name: k8s-certs
      readOnly: true
  hostNetwork: true
  priorityClassName: system-node-critical
  securityContext:
    seccompProfile:
      type: RuntimeDefault
  volumes:
  - hostPath:
      path: /etc/ssl/certs
      type: DirectoryOrCreate
    name: ca-certs
  - hostPath:
      path: /etc/pki
      type: DirectoryOrCreate
    name: etc-pki
  - hostPath:
      path: /etc/kubernetes/pki
      type: DirectoryOrCreate
    name: k8s-certs
status: {}

2、第二種可能

安裝 Istio 時(shí),配置了 enableNamespacesByDefault: false

sidecarInjectorWebhook:
  enabled: true
  # 變量為true,就會(huì)為所有命名空間開啟自動(dòng)注入功能。如果賦值為false,則只有標(biāo)簽為istio-injection的命名空間才會(huì)開啟自動(dòng)注入功能
  enableNamespacesByDefault: false
  rewriteAppHTTPProbe: false

解決方法:

# 設(shè)置標(biāo)簽
$ kubectl label namespace default istio-injection=enabled --overwrite
# 查看
$ kubectl get namespace -L istio-injection
NAME                   STATUS   AGE    ISTIO-INJECTION
default                Active   374d   enabled

如果要重新禁用注入istio sidecar,執(zhí)行下面命令:

$ kubectl label namespace default istio-injection=disabled --overwrite

3、第三種可能

安裝 Istio 時(shí),設(shè)置 autoInject: disabled

proxy:
  includeIPRanges: 192.168.16.0/20,192.168.32.0/20
  # 是否開啟自動(dòng)注入功能,取值enabled則該pods只要沒有被注解為sidecar.istio.io/inject: "false",就會(huì)自動(dòng)注入。如果取值為disabled,則需要為pod設(shè)置注解sidecar.istio.io/inject: "true"才會(huì)進(jìn)行注入
  autoInject: disabled

解決方法:

  • 第一個(gè)方法:設(shè)置 autoInject: enabled
  • 第二個(gè)方法:在 Pod 或者 Deployment 聲明 sidecar.istio.io/inject: "true"  

到此這篇關(guān)于Istio 自動(dòng)注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的文章就介紹到這了,更多相關(guān)Istio 自動(dòng)注入 sidecar 失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • kubenetes集群版本升級(jí)方式

    kubenetes集群版本升級(jí)方式

    本文詳細(xì)介紹了使用kubeadm和二進(jìn)制方式搭建及升級(jí)Kubernetes集群的方法,介紹了版本控制、升級(jí)步驟、備份ETCD數(shù)據(jù)、升級(jí)各節(jié)點(diǎn)組件等關(guān)鍵操作,并提供了操作示例和注意事項(xiàng),幫助理解和實(shí)施Kubernetes集群的搭建和升級(jí)過程
    2024-09-09
  • Kubernetes中Pod容器的資源限制和探針配置方式

    Kubernetes中Pod容器的資源限制和探針配置方式

    這篇文章主要介紹了Kubernetes中Pod容器的資源限制和探針配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • CentOS 7.9 升級(jí)內(nèi)核 kernel-ml-5.6.14版本的方法

    CentOS 7.9 升級(jí)內(nèi)核 kernel-ml-5.6.14版本的方法

    這篇文章主要介紹了CentOS 7.9 升級(jí)內(nèi)核 kernel-ml-5.6.14版本,默認(rèn)內(nèi)核版本為3.10.0,現(xiàn)升級(jí)到 5.6.14 版本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • Kubernetes實(shí)現(xiàn)CI與CD配置教程

    Kubernetes實(shí)現(xiàn)CI與CD配置教程

    這篇文章主要為大家介紹了基于Kubernetes實(shí)現(xiàn)CI與CD配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 一篇文章搞懂K8S高級(jí)特性

    一篇文章搞懂K8S高級(jí)特性

    這篇文章主要給大家介紹了關(guān)于K8S高級(jí)特性的相關(guān)資料,文中通過時(shí)實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-11-11
  • k8s自身原理service及實(shí)現(xiàn)圖文示例解析

    k8s自身原理service及實(shí)現(xiàn)圖文示例解析

    這篇文章主要為大家介紹了k8s自身原理service圖文示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 基于openEuler的Ceph分布式存儲(chǔ)集群部署指南

    基于openEuler的Ceph分布式存儲(chǔ)集群部署指南

    本文詳細(xì)介紹了如何在openEuler22.03LTS操作系統(tǒng)上部署Ceph分布式存儲(chǔ)集群,包括環(huán)境準(zhǔn)備、軟件倉庫配置、集群初始化、存儲(chǔ)節(jié)點(diǎn)部署、存儲(chǔ)池創(chuàng)建、監(jiān)控集成和性能優(yōu)化等步驟,感興趣的朋友一起看看吧
    2025-03-03
  • 使用kubectl獲取pod日志小技巧分享

    使用kubectl獲取pod日志小技巧分享

    文章介紹了如何使用kubectl命令查看K8S中Pod的日志,包括獲取單個(gè)Pod日志、同一deployment下多個(gè)副本Pod的日志、最近xx行日志、最近一段時(shí)間的日志、上一個(gè)崩潰但還存在的Pod的日志、指定或所有容器的日志以及持續(xù)獲取Pod日志的方法
    2026-02-02
  • K8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題(推薦)

    K8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題(推薦)

    在安裝配置好Kubernetes后,正常情況下服務(wù)器關(guān)機(jī)重啟,kubelet也會(huì)自動(dòng)啟動(dòng)的,如何解決這個(gè)問題呢,下面小編給大家?guī)砹薑8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題,感興趣的朋友一起看看吧
    2022-08-08
  • k8s Prometheus的manifests清單部署實(shí)踐

    k8s Prometheus的manifests清單部署實(shí)踐

    本教程詳細(xì)介紹了如何在Kubernetes集群中部署Prometheus和Grafana監(jiān)控系統(tǒng),并融合了文件傳輸、解壓、編譯及Kubctl命令使用等強(qiáng)調(diào)時(shí)區(qū)設(shè)置等步驟,適合初學(xué)者學(xué)習(xí)參考
    2026-05-05

最新評(píng)論

台湾省| 从江县| 福安市| 鄂托克前旗| 临颍县| 兰考县| 瑞金市| 涞水县| 宜都市| 涟源市| 即墨市| 肃北| 安溪县| 青龙| 上犹县| 云阳县| 榆社县| 高碑店市| 浦县| 武强县| 六安市| 雷州市| 两当县| 南投市| 江阴市| 安庆市| 临沂市| 呼伦贝尔市| 巴青县| 左贡县| 得荣县| 邻水| 阳春市| 沾益县| 贵南县| 两当县| 景德镇市| 合山市| 司法| 盐池县| 永安市|