如何将特使代理添加到部署

时间:2018-08-09 18:01:19

标签: kubernetes envoyproxy

我想将特使代理添加到现有的Kubernetes部署中作为辅助工具。我尝试关注多个博客文章,但似乎无济于事。我想知道是否有人做过,如果做过,怎么做?

谢谢!

2 个答案:

答案 0 :(得分:1)

您必须重新启动部署。

来自istio manual

  

如果您正在使用手动边车注入,请使用以下命令

     

$ kubectl apply -f <(istioctl kube-inject -f bookinfo.yaml)

     

istioctl kube-inject命令用于手动修改   按照here所述创建部署之前,先添加bookinfo.yaml文件。

     

如果您使用启用了自动边车注入的集群,   使用istio-injection = enabled

标记默认名称空间      

$ kubectl标签名称空间默认为istio-injection = enabled

     

然后只需使用kubectl部署服务

     

$ kubectl apply -f bookinfo.yaml

答案 1 :(得分:1)

要添加Kun Li's anwer,如果您的情况是kubernetes集群已经运行了许多服务,则将autoInjection策略默认设置为disabled,这样做更加安全。服务所有者明确设置了它要使用istio边车。

为此,您必须:

  • 设置Istio(通过头盔安装)头盔安装标志--global.proxy.autoInject=disabled --sidecarInjectorWebhook.enabled=true
  • 然后在您的命名空间中,设置kubectl label namespace bar istio-injection=enabled

--sidecarInjectorWebhook.enabled=true并标记您的名称空间:表示已为您的名称空间激活了istio sidecar注入器webhook。但是,由于您指定了global.proxy.autoInject=disabled,因此不会注入任何Pod。因此,服务所有者必须明确定义pod的注释(在您的部署yaml文件中),如下所示:

  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "true"

要查看istio的Sidecar注入策略,

  

kubectl得到cm istio-sidecar-injector -n istio-system -o yaml

看看data.config的值,它应该包含policy: disablepolicy: enabled

参考: -https://istio.io/docs/setup/kubernetes/sidecar-injection/#policy -个人动手(我已经尝试过)