zoukankan      html  css  js  c++  java
  • istio-禁用/允许sidecar设置

    一、在namespace设置自动注入:

    给 default 命名空间设置标签:istio-injection=enabled:

    $ kubectl label namespace default istio-injection=enabled
    $ kubectl get namespace -L istio-injection
    NAME           STATUS    AGE       ISTIO-INJECTION
    default        Active    1h        enabled
    istio-system   Active    1h
    kube-public    Active    1h
    kube-system    Active    1h

    这样就会在 Pod 创建时触发 Sidecar 的注入过程了。删掉运行的 Pod,会产生一个新的 Pod,新 Pod 会被注入 Sidecar。原有的 Pod 只有一个容器,而被注入 Sidecar 的 Pod 会有两个容器:

    $ kubectl delete pod sleep-776b7bcdcd-7hpnk
    $ kubectl get pod
    NAME                     READY     STATUS        RESTARTS   AGE
    sleep-776b7bcdcd-7hpnk   1/1       Terminating   0          1m
    sleep-776b7bcdcd-bhn9m   2/2       Running       0          7s

    查看被注入的 Pod 的细节。不难发现多出了一个 istio-proxy 容器及其对应的存储卷。注意用正确的 Pod 名称来执行下面的命令:

    $ kubectl describe pod sleep-776b7bcdcd-bhn9m

    禁用 default 命名空间的自动注入功能,然后检查新建 Pod 是不是就不带有 Sidecar 容器了:

    $ kubectl label namespace default istio-injection-
    $ kubectl delete pod sleep-776b7bcdcd-bhn9m
    $ kubectl get pod
    NAME                     READY     STATUS        RESTARTS   AGE
    sleep-776b7bcdcd-bhn9m   2/2       Terminating   0          2m
    sleep-776b7bcdcd-gmvnr   1/1       Running       0          2s

    二、在annotations中设置是否允许自动注入:

    disabled - Sidecar 注入器缺省不会向 Pod 进行注入。在 Pod 模板中加入 sidecar.istio.io/inject 注解并赋值为 true 才能启用注入。

    enabled - Sidecar 注入器缺省会对 Pod 进行注入。在 Pod 模板中加入 sidecar.istio.io/inject 注解并赋值为 false 就会阻止对这一 Pod 的注入。

    下面的例子用 sidecar.istio.io/inject 注解来禁用 Sidecar 注入:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: ignored
    spec:
      template:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        spec:
          containers:
          - name: ignored
            image: tutum/curl
            command: ["/bin/sleep","infinity"]
    

      

    参考:
    https://istio.io/zh/docs/setup/kubernetes/sidecar-injection/
    https://istio.io/docs/setup/kubernetes/sidecar-injection/

  • 相关阅读:
    MSSQL的基础应用
    SQLLite的使用
    C#反射调用其它DLL的委托事件 传值
    SQLServer 取 字段名称 类型 字段描述 等
    WCF跨域 客户端无法访问
    不同的数据库数据类型映射
    用人四策
    思考集体跳槽
    C/C++/Qt 统计运行时间
    CUDA项目属性设置
  • 原文地址:https://www.cnblogs.com/lvcisco/p/10813578.html
Copyright © 2011-2022 走看看