之前那篇文章太长,直接导致网站的search模块废掉,现单独将sidecar的注入这块内容拉出来讲,也方面后面再更新更多内容。
K8S的MutatingAdmissionWebhook支持两种类型:validate
和mutate
对应ValidatingAdmissionWebhook
和MutatingAdmissionWebhook
,其中validate用来配置验证,mutate用来修改对象,这里我们使用mutate来注入。
MutatingWebhookConfiguration
1 | [root@k8s-master ~]# kc get mutatingwebhookconfiguration |
当webhook中配置了namespaceSelector,该namespace的对象被调用的时候,会去clientConfig中定义的服务去请求webhook(也就是在这个时候注入的)。在service中可以看到对应的服务,基于此,我们可以查询到对应的pod。
1 | [root@k8s-master ~]# kci get svc |
配置文件
至于具体注入了些什么内容,需要来查看配置文件:
1 | [root@k8s-master ~]# kci describe deploy istio-sidecar-injector |
这里使用了几个配置文件,都是从configmap中获取到的,分别来看看。
/etc/istio/config
1 | [root@k8s-master ~]# kci get cm istio -o=go-template='{{ .data.mesh}}' |
/etc/istio/inject
1 | [root@k8s-master ~]# kci get cm istio-sidecar-injector -o=go-template={{.data.config}} |