Skip to content

Commit 845e097

Browse files
committed
review done
1 parent 9902949 commit 845e097

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

201807/k8-istio-little-deep-dive.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
77
我一直在使用Istio的egress,但是今天我想讨论的是ingresses。
88

9-
基本上,Istio的ingresses是使用一些可以互相通信的代理(例如envoy),来处理应用中的访问,限制和路由等。
9+
Istio的ingress是使用一些可以互相通信的代理(例如envoy,来处理应用中的访问,限制和路由等。
1010

1111
真正有趣的是Istio使用sidecar注入的方式。想象一下你运行了一个监听在80端口上的nginx容器,Istio会在相同的pod中注入一个sidecar容器,这个容器使用特权模式和NET\_ADMIN功能来共享内核网络命名空间。
1212

13-
通过以上方式,Istio保证全链路追踪或者交互tls等能力
13+
通过以上方式,Istio保证全链路追踪或者交互TLS等能力
1414

1515
简单来说,Istio的工作流程看起来像这样:
1616

1717
![Istio工作流程](http://ww1.sinaimg.cn/large/7cebfec5gy1fu027jprkxj20r70a3dg4.jpg)
1818

19-
这和传统的nginx ingress有很大的不同,传统的nginx ingress使用iptables将流量转发到对应的pod,如下图:
19+
这和传统的nginx ingress有很大的不同,传统的nginx ingress使用iptables将流量转发到对应的pod上,如下图:
2020

2121
![nginx ingress workflow](http://ww1.sinaimg.cn/large/7cebfec5gy1fu028ondrgj20pe08vwen.jpg)
2222

@@ -26,11 +26,11 @@
2626

2727
![](http://ww1.sinaimg.cn/large/7cebfec5gy1fu0291fi0xj20rs05d0tb.jpg)
2828

29-
这意味着在内核网络命名空间中,这个容器需要使用特权模式和设置 NET\_ADMIN 属性,这是非常重要的内容。当你使用了 IP\_TRANSPARENT 这个 SOCK 选项或者管理iptables规则时,它不会作用于kube主机而是作用于这个pod
29+
这意味着在内核网络命名空间中,这个容器需要使用特权模式和设置 NET\_ADMIN 属性,这个非常重要。当你使用了`IP_TRANSPARENT` 这个 SOCK 选项或者管理iptables规则时,它不会作用于pod所在的主机而是作用于这个pod
3030

31-
因此,当你在pod中使用nginx监听到80端口上,并使用istioctl注入一个sidecar容器时,在pod中的iptables规则将会是如下这样的(注意,你需要启用特权模式:docker exec --privileged -it 75375f8d4c98 bash)
31+
因此,当你在pod中使用nginx监听到80端口上,并使用istioctl注入一个sidecar容器时,在pod中的iptables规则将会是如下这样的(注意,你需要启用特权模式:`docker exec --privileged -it 75375f8d4c98 bash`
3232

33-
```
33+
```bash
3434
root@nginx-847679bd76-mj4sw:~# iptables -t nat -S
3535
-P PREROUTING ACCEPT
3636
-P INPUT ACCEPT
@@ -39,7 +39,7 @@ root@nginx-847679bd76-mj4sw:~# iptables -t nat -S
3939
-N ISTIO_INBOUND
4040
-N ISTIO_OUTPUT
4141
-N ISTIO_REDIRECT
42-
-A PREROUTING -p tcp -j ISTIO_INBOUND
42+
-A PREROUTING -p tcpx -j ISTIO_INBOUND
4343
-A OUTPUT -p tcp -j ISTIO_OUTPUT
4444
-A ISTIO_INBOUND -p tcp -m tcp --dport 80 -j ISTIO_REDIRECT
4545
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -j ISTIO_REDIRECT

0 commit comments

Comments
 (0)