波神

导航

istio实现自动sidecar自动注入(k8s1.13.3+istio1.1.1)

一、自动注入的前提条件

  • 自动注入功能需要kubernetes 1.9或更高版本;

  • kubernetes环境需支持MutatingAdmissionWebhook;

       

二、在namespace中设置自动注入,这样所有在该namespace的创建的pod都会自动注入sidecar代理

以default命名空间为例:

kubectl label namespace default istio-injection=enabled

在default里面创建一个deployment

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-app
spec:
  replicas: 1
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "true"
      labels:
        app: nginx-app
    spec:
      containers:
        - name: nginx-app
          image: nginx
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
[root@master test-yaml]# kubectl get po
NAME                               READY   STATUS    RESTARTS   AGE
nfs-provisioner-6d58b69bf7-k7pq5   1/1     Running   3          10d
nginx-app-576db66b4d-6vb8m         2/2     Running   0          11s

以上可知nginx的pod里面有两个容器,一个是nginx本身,另一个就是sidecar代理

kubectl describe po nginx-app-576db66b4d-6vb8m

如果不想让上面的nginx自动注入:只要:

sidecar.istio.io/inject: "true"

 

posted on 2019-03-31 16:14  波神  阅读(2371)  评论(0编辑  收藏  举报