1. 程式人生 > >Istio Polit-agent & Envoy 啟動流程

Istio Polit-agent & Envoy 啟動流程

## 開篇 通過上一篇 [Istio Sidecar注入原理](https://www.cnblogs.com/haoyunlaile/p/12960441.html) 文章可以發現,在應用提交到kubernate部署時已經同時注入了Sidecar應用。 細心的話應該還可以發現,除了注入了`istio-proxy`應用外,另外還有注入一個`istio-init`的 `Init Containers`。接下來一起來看看在這兩個注入的容器中分別都有做一些什麼操作。 ## istio-init `istio-init` [init 容器]( https://kubernetes.io/zh/docs/concepts/workloads/pods/init-containers/)用於設定 iptables 規則,以便將入站/出站流量通過 sidecar 代理。初始化容器與應用程式容器在以下方面有所不同: - 它在啟動應用容器之前執行,並一直執行直至完成。 - 如果有多個初始化容器,則每個容器都應在啟動下一個容器之前成功完成 我們可以看下sleep對應的pod ``` kubectl describe pod sleep-54f94cbff5-jmwtf Name: sleep-54f94cbff5-jmwtf Namespace: default Priority: 0 Node: minikube/172.17.0.3 Start Time: Wed, 27 May 2020 12:14:08 +0800 Labels: app=sleep istio.io/rev= pod-template-hash=54f94cbff5 security.istio.io/tlsMode=istio Annotations: sidecar.istio.io/interceptionMode: REDIRECT sidecar.istio.io/status: {"version":"d36ff46d2def0caba37f639f09514b17c4e80078f749a46aae84439790d2b560","initContainers":["istio-init"],"containers":["istio-proxy"]... traffic.sidecar.istio.io/excludeInboundPorts: 15020 traffic.sidecar.istio.io/includeOutboundIPRanges: * Status: Running IP: 172.18.0.11 IPs: IP: 172.18.0.11 Controlled By: ReplicaSet/sleep-54f94cbff5 Init Containers: istio-init: Container ID: docker://f5c88555b666c18e5aa343b3f452355f96d66dc4268fa306f93432e0f98c3950 Image: docker.io/istio/proxyv2:1.6.0 Image ID: docker-pullable://istio/proxyv2@sha256:821cc14ad9a29a2cafb9e351d42096455c868f3e628376f1d0e1763c3ce72ca6 Port: