我想将特使代理添加到现有的Kubernetes部署中作为辅助工具。我尝试关注多个博客文章,但似乎无济于事。我想知道是否有人做过,如果做过,怎么做?
谢谢!
答案 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边车。
为此,您必须:
--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: disable
或policy: enabled
。
参考: -https://istio.io/docs/setup/kubernetes/sidecar-injection/#policy -个人动手(我已经尝试过)