Linux里面k8s有几种网络模式? K8s中pod的数据通讯

k8s \u7f51\u7edc\u57fa\u7840

author\uff1asufei \u8bf4\u660e\uff1a\u672c\u6587\u4e3b\u8981\u8bb0\u5f55\u5728\u5b66\u4e60k8s\u7f51\u7edc\u65b9\u9762\u7684\u76f8\u5173\u77e5\u8bc6
 Linux\u5728\u5185\u6838\u7f51\u7edc\u6808\u4e2d\u5f15\u5165\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\uff0c\u5c06 \u72ec\u7acb\u7684\u7f51\u7edc\u534f\u8bae\u6808\u9694\u79bb \u5230\u4e0d\u540c\u7684\u547d\u4ee4\u7a7a\u95f4\u4e2d\uff0c\u5f7c\u6b64\u95f4\u65e0\u6cd5\u901a\u4fe1\uff1b
1\u3001Linux\u64cd\u4f5c\u7cfb\u7edf\uff0c\u89e3\u6790\u548c\u5c01\u88c5\u7f51\u7edc\u5305\u662f\u901a\u8fc7\u4e00\u4e2a\u7f51\u7edc\u534f\u8bae\u6808\u5b8c\u6210\uff0c\u4e0b\u5c42\u4e3a\u4e0a\u5c42\u670d\u52a1\uff0c\u8fd9\u4e2a \u534f\u8bae\u6808\u4e2d\u5373\u5305\u62ec\u5982\u8f6f\u4ef6\u4e5f\u5305\u62ec\u786c\u4ef6\u7f51\u7edc\u8bbe \u5907\u3002\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\u5c31\u662f\u4ee5\u8f6f\u4ef6\u65b9\u5f0f\u9694\u79bb\u51fa\u5355\u72ec\u7684\u7f51\u7edc\u6808\u4fe1\u606f\uff1b
2\u3001\u4e0d\u540cnetwork namespace\u7684\u8f6f\u786c\u4ef6\u8d44\u6e90\u76f8\u4e92\u4e0d\u53ef\u89c1\uff0c\u597d\u50cf\u5904\u5728\u7269\u7406\u9694\u79bb\u7684\u4e0d\u540c\u7269\u7406\u673a\u4e0a\u4e00\u6837\uff0c\u5f7c\u6b64\u9694\u79bb\uff1b
3\u3001\u4e0d\u540c\u7684\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\u4f1a\u6709\u81ea\u5df1\u72ec\u7acb\u7684\u7f51\u5361\u3001\u8def\u7531\u8868\u3001ARP \u8868\u3001iptables \u7b49\u548c\u7f51\u7edc\u76f8\u5173\u7684\u8d44\u6e90
4\u3001\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u501f\u52a9 ip netns \u547d\u4ee4\u6765\u5b8c\u6210\u5bf9 Network Namespace \u7684\u5404\u79cd\u64cd\u4f5c\uff0c\u5982\uff1a
\u95ee\u9898 \uff1a\u4ec0\u4e48\u662f\u8f6c\u79fb\u8bbe\u5907\uff1f
 \u53ef\u4ee5\u5728\u4e0d\u540c\u7684 Network Namespace \u4e4b\u95f4\u8f6c\u79fb\u8bbe\u5907\uff08\u5982veth\uff09\u3002\u7531\u4e8e\u4e00\u4e2a\u8bbe\u5907\u53ea\u80fd\u5c5e\u4e8e\u4e00\u4e2a Network Namespace \uff0c\u6240\u4ee5\u8f6c\u79fb\u540e\u5728\u8fd9\u4e2a Network Namespace \u5185\u5c31\u770b\u4e0d\u5230\u8fd9\u4e2a\u8bbe\u5907\u4e86\u3002 veth\u8bbe\u5907\u5c5e\u4e8e\u53ef\u8f6c\u79fb\u8bbe\u5907 \uff0c\u800c\u5f88\u591a\u5176\u5b83\u8bbe\u5907\uff08\u5982lo\u3001bridge\u7b49\uff09\u662f\u4e0d\u53ef\u4ee5\u8f6c\u79fb\u7684\u3002
 veth pair \u5168\u79f0\u662f Virtual Ethernet Pair\uff0c\u662f\u4e00\u4e2a\u6210\u5bf9\u7684\u7aef\u53e3\uff0c\u6240\u6709\u4ece\u8fd9\u5bf9\u7aef\u53e3\u4e00 \u7aef\u8fdb\u5165\u7684\u6570\u636e\u5305\u90fd\u5c06\u4ece\u53e6\u4e00\u7aef\u51fa\u6765\uff0c\u53cd\u4e4b\u4e5f\u662f\u4e00\u6837\u3002\u800cveth pair\u5c31\u662f\u4e3a\u4e86\u5728\u4e0d\u540c\u7684 Network Namespace \u76f4\u63a5\u8fdb\u884c\u901a\u4fe1\uff0c\u5229\u7528\u5b83\u53ef\u4ee5\u76f4\u63a5\u5c06\u4e24\u4e2a Network Namespace \u8fde\u63a5\u8d77\u6765\u3002
\u5b9e\u9a8c
 veth pair\u6253\u7834\u4e86 Network Namespace \u7684\u9650\u5236\uff0c\u5b9e\u73b0\u4e86\u4e0d\u540c Network Namespace \u4e4b\u95f4\u7684\u901a\u4fe1\u3002\u4f46veth pair\u6709\u4e00\u4e2a\u660e\u663e\u7684\u7f3a\u9677\uff0c\u5c31\u662f\u53ea\u80fd\u5b9e\u73b0\u4e24\u4e2a\u7f51\u7edc\u63a5\u53e3\u4e4b\u95f4\u7684\u901a\u4fe1\u3002\u5982\u679c\u6211\u4eec\u60f3\u5b9e\u73b0\u591a\u4e2a\u7f51\u7edc\u63a5\u53e3\u4e4b\u95f4\u7684\u901a\u4fe1\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u4ecb\u7ecd\u7684\u7f51\u6865\uff08Bridge\uff09\u6280\u672f\uff08 \u7c7b\u4f3c\u4e8e\u7269\u7406\u4ea4\u6362\u673a \uff09\u3002  \u7b80\u5355\u6765\u8bf4\uff0c\u7f51\u6865\u5c31\u662f\u628a\u4e00\u53f0\u673a\u5668\u4e0a\u7684\u82e5\u5e72\u4e2a\u7f51\u7edc\u63a5\u53e3\u201c\u8fde\u63a5\u201d\u8d77\u6765\u3002\u5176\u7ed3\u679c\u662f\uff0c\u5176\u4e2d\u4e00\u4e2a\u7f51\u53e3\u6536\u5230\u7684\u62a5\u6587\u4f1a\u88ab\u590d\u5236\u7ed9\u5176\u4ed6\u7f51\u53e3\u5e76\u53d1\u9001\u51fa\u53bb\u3002\u4ee5\u4f7f\u5f97\u7f51\u53e3\u4e4b\u95f4\u7684\u62a5\u6587\u80fd\u591f\u4e92\u76f8\u8f6c\u53d1\u3002
 \u7f51\u6865\u662f\u4e00\u4e2a\u4e8c\u5c42\u7f51\u7edc\u8bbe\u5907\uff0c\u901a\u8fc7\u7f51\u6865\u53ef\u4ee5\u5c06linux\u652f\u6301\u7684\u4e0d\u540c\u7684\u7aef\u53e3\u8fde\u63a5\u8d77\u6765,\u5e76\u5b9e\u73b0\u7c7b\u4f3c\u4ea4\u6362\u673a\u90a3\u6837\u7684\u591a\u5bf9\u591a\u7684\u901a\u4fe1\u3002
\u5b9e\u9a8c\uff1a

 Netfilter\u8d1f\u8d23\u5728\u5185\u6838\u4e2d\u6267\u884c\u5404\u79cd\u6302\u63a5\u7684\u89c4\u5219(\u8fc7\u6ee4\u3001\u4fee\u6539\u3001\u4e22\u5f03\u7b49)\uff0c\u8fd0\u884c\u5728\u5185\u6838 \u6a21\u5f0f\u4e2d\uff1bIptables\u6a21\u5f0f\u662f\u5728\u7528\u6237\u6a21\u5f0f\u4e0b\u8fd0\u884c\u7684\u8fdb\u7a0b\uff0c\u8d1f\u8d23\u534f\u52a9\u7ef4\u62a4\u5185\u6838\u4e2dNetfilter\u7684\u5404\u79cd\u89c4\u5219\u8868\uff1b\u901a\u8fc7\u4e8c\u8005\u7684\u914d\u5408\u6765\u5b9e\u73b0\u6574\u4e2aLinux\u7f51\u7edc\u534f\u8bae\u6808\u4e2d\u7075\u6d3b\u7684\u6570\u636e\u5305\u5904\u7406\u673a\u5236\u3002
 iptables/netfilter(\u7b80\u79f0iptables)\u7ec4\u6210\u4e86Linux\u5e73\u53f0\u4e0b\u7684\u5305\u8fc7\u6ee4\u9632\u706b\u5899\uff0c\u53ef\u4ee5\u5b8c\u6210\u5c01\u5305\u8fc7\u6ee4\u3001\u5c01\u5305\u91cd\u5b9a\u5411\u548c\u7f51\u7edc\u5730\u5740\u8f6c\u6362\uff08NAT\uff09\u7b49\u529f\u80fd\u3002\u8fd9\u90e8\u5206\u4e3b\u8981\u4e86\u89e3\u4e24\u90e8\u5206\u77e5\u8bc6\uff1a
 \u5e94\u7528\u5c42\u4e0d\u7ba1\u662f\u8981\u53d1\u9001\u8fd8\u662f\u63a5\u6536\u7f51\u7edc\u6d88\u606f\uff0c\u90fd\u9700\u8981\u901a\u8fc7linux\u5185\u6838\u63d0\u4f9b\u7684\u4e00\u7cfb\u5217\u5173\u5361\u3002\u6bcf\u4e2a\u201d\u5173\u5361\u201c\u62c5\u8d1f\u7740\u4e0d\u540c\u7684\u5de5\u4f5c\u3002\u8fd9\u91cc\u7684\u201d\u5173\u5361\u201c\u88ab\u79f0\u4e3a\u201d\u94fe\u201c\u3002\u5982\u4e0b\u56fe\uff1a
 Docker\u542f\u52a8\u4e00\u4e2a\u5bb9\u5668\u65f6\u4f1a\u6839\u636eDocker\u7f51\u6865\u7684\u7f51\u6bb5\u5206\u914d\u7ed9\u5bb9\u5668\u4e00\u4e2aIP\u5730\u5740\uff0c\u79f0\u4e3aContainer-IP\uff0c\u540c\u65f6Docker\u7f51\u6865\u662f\u6bcf\u4e2a\u5bb9\u5668\u7684\u9ed8\u8ba4\u7f51\u5173(\u5982\u4e0a\u9762\u7684172.17.0.1)\u3002\u56e0\u4e3a\u5728\u540c\u4e00\u5bbf\u4e3b\u673a\u5185\u7684\u5bb9\u5668\u90fd\u63a5\u5165\u540c\u4e00\u4e2a\u7f51\u6865\uff0c\u8fd9\u6837\u5bb9\u5668\u4e4b\u95f4\u5c31\u80fd\u591f\u901a\u8fc7\u5bb9\u5668\u7684Container-IP\u76f4\u63a5\u901a\u4fe1\u3002
 Docker\u7f51\u6865\u662f\u5bbf\u4e3b\u673a\u865a\u62df\u51fa\u6765\u7684\uff0c\u5e76\u4e0d\u662f\u771f\u5b9e\u5b58\u5728\u7684\u7f51\u7edc\u8bbe\u5907\uff0c\u5916\u90e8\u7f51\u7edc\u662f\u65e0\u6cd5\u5bfb\u5740\u5230\u7684\uff0c\u8fd9\u4e5f\u610f\u5473\u7740\u5916\u90e8\u7f51\u7edc\u65e0\u6cd5\u901a\u8fc7\u76f4\u63a5Container-IP\u8bbf\u95ee\u5230\u5bb9\u5668\u3002\u5982\u679c\u5bb9\u5668\u5e0c\u671b\u5916\u90e8\u8bbf\u95ee\u80fd\u591f\u8bbf\u95ee\u5230\uff0c\u53ef\u4ee5\u901a\u8fc7\u6620\u5c04\u5bb9\u5668\u7aef\u53e3\u5230\u5bbf\u4e3b\u4e3b\u673a\uff08\u7aef\u53e3\u6620\u5c04\uff09\uff0c\u5373docker run\u521b\u5efa\u5bb9\u5668\u65f6\u5019\u901a\u8fc7 -p \u6216 -P \u53c2\u6570\u6765\u542f\u7528\uff0c\u8bbf\u95ee\u5bb9\u5668\u7684\u65f6\u5019\u5c31\u901a\u8fc7[\u5bbf\u4e3b\u673aIP]:[\u5bb9\u5668\u7aef\u53e3]\u8bbf\u95ee\u5bb9\u5668\u3002
 \u4e0b\u9762\u5177\u4f53\u6765\u8bf4\u8bf4docker\u5bb9\u5668\u7684\u51e0\u79cd\u7f51\u7edc\u6a21\u5f0f\uff0c\u4ee5\u4fbf\u540e\u7eed\u5b66\u4e60k8s\u7f51\u7edc\u3002
 \u5728host\u6a21\u5f0f\u4e0b\uff08 \u2013net=host\uff09\uff0c\u5bb9\u5668\u4e0d\u4f1a\u53bb\u5efa\u7acb\u65b0\u7684\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u76f4\u63a5\u4f7f\u7528\u5bbf\u4e3b\u673a\u7684\u7f51\u7edc\u8bbe\u5907\u4ee5\u53ca\u7f51\u7edc\u534f\u8bae\u6808\u3002\u8fd9\u6837\u81ea\u7136\u4e0d\u4f1a\u865a\u62df\u51fa\u81ea\u5df1\u7684\u7f51\u5361\uff0c\u914d\u7f6e\u81ea\u5df1\u7684IP\u7b49\u3002\u5176\u7279\u70b9\u5982\u4e0b\uff1a
 \u8fd9\u4e2a\u6a21\u5f0f\u5c31\u662f\u5728\u521b\u5efa\u5bb9\u5668\u65f6\uff0c\u6307\u5b9a\u7f51\u7edc\uff08\u2013net=container:NAME_or_ID\uff09\u4e0e\u4e4b\u524d\u5bb9\u5668\u5728\u540c\u4e00\u4e2a\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\u4e2d\uff0c\u800c\u4e0d\u662f\u548c\u5bbf\u4e3b\u673a\u5171\u4eab\uff08\u8fd9\u4e5f\u5c31\u662fk8s\u4e2dpod\u5185\u5404\u5bb9\u5668\u7684\u4e00\u79cd\u7f51\u7edc\u6a21\u5f0f\uff09\u3002\u4e0b\u9762\u8bf4\u660e\u51e0\u70b9\uff1a
 none\u6a21\u5f0f(\u2013net=none)Docker\u5bb9\u5668\u62e5\u6709\u81ea\u5df1\u7684Network Namespace\uff0c\u4f46\u662f\uff0c\u5e76\u4e0d\u4e3aDocker\u5bb9\u5668\u8fdb\u884c\u4efb\u4f55\u7f51\u7edc\u914d\u7f6e\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u4e2aDocker\u5bb9\u5668\u6ca1\u6709\u7f51\u5361\u3001IP\u3001\u8def\u7531\u7b49\u4fe1\u606f\u3002\u9700\u8981\u6211\u4eec\u81ea\u5df1\u4e3aDocker\u5bb9\u5668\u6dfb\u52a0\u7f51\u5361\u3001\u914d\u7f6eIP\u7b49\u3002
 bridge\u6a21\u5f0f\u662fdocker\u5bb9\u5668\u7684\u9ed8\u8ba4\u6a21\u5f0f\uff0c\u5f53Docker\u8fdb\u7a0b\u542f\u52a8\u65f6\uff0c\u4f1a\u5728\u4e3b\u673a\u4e0a\u521b\u5efa\u4e00\u4e2a\u540d\u4e3adocker0\u7684\u865a\u62df\u7f51\u6865\uff0c\u6b64\u4e3b\u673a\u4e0a\u542f\u52a8\u7684Docker\u5bb9\u5668\u5728bridge\u6a21\u5f0f\u4e0b\u4f1a\u8fde\u63a5\u5230\u8fd9\u4e2a\u865a\u62df\u7f51\u6865\u4e0a\uff0c\u5e76\u7531\u7f51\u6865\u81ea\u52a8\u5206\u914dip\u3002\u865a\u62df\u7f51\u6865\u7684\u5de5\u4f5c\u65b9\u5f0f\u548c\u7269\u7406\u4ea4\u6362\u673a\u7c7b\u4f3c\uff0c\u8fd9\u6837\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u5bb9\u5668\u5c31\u901a\u8fc7\u4ea4\u6362\u673a\u8fde\u5728\u4e86\u4e00\u4e2a\u4e8c\u5c42\u7f51\u7edc\u4e2d\u3002
 \u4e0b\u9762\u8bf4\u660e\u8fd9\u4e2a\u6a21\u5f0f\u4e0b\u7684\u5de5\u4f5c\u65b9\u5f0f\uff1a
 \u9996\u5148\u6211\u4eec\u6765\u770b\u770bk8s\u60f3\u8981\u4e00\u4e2a\u4ec0\u4e48\u6837\u7684\u7f51\u7edc\uff0c\u4e5f\u5c31\u662fk8s\u7f51\u7edc\u8bbe\u8ba1\u7684\u8981\u6c42\uff0c\u5177\u4f53\u5982\u4e0b\uff1a
 \u4e0b\u9762\u7b80\u5355\u4ece\u51e0\u4e2d\u4e0d\u540c\u7684\u901a\u4fe1\u8981\u6c42\u6765\u770b\u770bk8s\u7f51\u7edc\u5b9e\u73b0\u3002
 \u5728 Kubernetes \u7684\u4e16\u754c\u91cc\uff0cIP \u662f\u4ee5 Pod \u4e3a\u5355\u4f4d\u8fdb\u884c\u5206\u914d\u7684\u3002\u4e00\u4e2a Pod \u5185\u90e8\u7684\u6240\u6709\u5bb9\u5668\u5171\u4eab\u4e00\u4e2a\u7f51\u7edc\u5806\u6808\u3002\u5b9e\u9645\u4e0a\u5c31\u662fdocker container\u7f51\u7edc\u6a21\u5f0f\u3002\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7\u672c\u5730localhost\u8fdb\u884c\u7f51\u7edc\u8bbf\u95ee\u3002\u8fd9\u4e2a\u6a21\u5f0f\u5728mysql\u5bb9\u5668\u5316\u4e2d\u5c31\u662fagent\u5bb9\u5668\u4e0emysql\u5bb9\u5668\u7684\u7f51\u7edc\u901a\u4fe1\u65b9\u5f0f\u3002
 Pod1\u548cPod2\u90fd\u662f\u901a\u4fe1veth pair\u8fde\u63a5\u5230\u540c\u4e00\u4e2adocker0\u7f51\u6865\u4e0a\uff0c\u5b83\u4eec\u7684IP\u5730\u5740\u90fd\u662f\u4ecedocker0\u7f51\u6bb5\u4e0a\u52a8\u6001\u83b7\u53d6\u7684\uff0c\u5b83\u4eec\u548c\u7f51\u6865\u672c\u8eab\u7684IP\u662f\u540c\u4e00\u4e2a\u7f51\u6bb5\u7684\u3002\u53ef\u4ee5\u901a\u8fc7docker0\u4f5c\u4e3a\u4ea4\u6362\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u4e5f\u5c31\u662f\u91c7\u7528\u7684docker bridge\u7f51\u7edc\u6a21\u5f0f\u8fdb\u884c\u901a\u4fe1\u3002
 \u7531\u4e8e\u5728\u540c\u4e00\u4e2a\u7f51\u6865docker0\u4e0a\u5373\u53ef\u4ee5\u4fdd\u8bc1\u5206\u914d\u7684pod IP\u4e0d\u4f1a\u51b2\u7a81\uff0c\u4e14\u53ef\u4ee5\u76f8\u4e92\u901a\u4fe1\uff0c\u800c\u5982\u679c\u9700\u8981\u8de8Node\u7269\u7406\u8282\u70b9\uff0c\u5219\u65e0\u6cd5\u901a\u8fc7docker\u7f51\u7edc\u76f4\u63a5\u6ee1\u8db3\u8981\u6c42\u4e86\uff0c\u90a3\u8fd9\u4e9b\u8981\u6c42\u5177\u4f53\u6709\u54ea\u4e9b\u5462\uff1f
\u89e3\u51b3\u65b9\u6848
\u65b9\u6cd5\u4e00\uff1ak8s\u4e2d\u901a\u8fc7\u5728etcd\u4e2d\u8bb0\u5f55\u6b63\u5728\u8fd0\u884c\u4e2dpod\u7684IP\u5206\u914d\u4fe1\u606f\uff0c\u8fd9\u6837\u6211\u4eec\u5c31\u53ef\u4ee5\u6ee1\u8db3Pod IP\u4e0eNode IP\u4e4b\u95f4\u6620\u5c04\u5173\u7cfb\u7684\u8bb0\u5f55\uff1b
\u65b9\u6cd5\u4e8c\uff1a\u53ef\u4ee5\u5728etcd\u4e2d\u89c4\u5212\u914d\u7f6e\u597d\u6240\u6709\u4e3b\u673adocker0\u7f51\u6865\u7684\u5b50\u7f51\u8303\u56f4\uff0c\u4ece\u800c\u6ee1\u8db3Pod IP\u4e0d\u51b2\u7a81\u7684\u8981\u6c42\uff1b\u5982\uff1a
\u65b9\u6cd5\u4e09\uff1a\u8981\u5b9e\u73b0Pod\u8de8Node\u901a\u4fe1\uff0c\u4ee5k8s\u9ed8\u8ba4\u7f51\u7edcFlannel\u4e3a\u4f8b\uff0c\u5c31\u662f\u91c7\u7528overlay\uff08\u8986\u76d6\u7f51\u7edc\uff09\u5b9e\u73b0\u3002\u5177\u4f53\u4e0b\u9762\u8bf4\u660e\uff1a
\u95ee\u9898\uff1a\u4ec0\u4e48\u662f\u8986\u76d6\u7f51\u7edc\uff1f
\u8986\u76d6\u7f51\u7edc\u5c31\u662f\u5e94\u7528\u5c42\u7f51\u7edc\uff0c\u662f\u6307\u5efa\u7acb\u5728\u53e6\u4e00\u4e2a\u7f51\u7edc\u4e0a\u7684\u7f51\u7edc\u3002\u600e\u4e48\u7406\u89e3\u5462\uff1f\u7b80\u5355\u7406\u89e3\u5c31\u662f\u5c06TCP\u6570\u636e\u5305\u88c5\u5728\u53e6\u4e00\u79cd\u7f51\u7edc\u5305\u91cc\u9762\u8fdb\u884c\u8def\u7531\u8f6c\u53d1\u548c\u901a\u4fe1\uff0c\u53e6\u4e00\u79cd\u7f51\u7edc\u5305\u76ee\u524d\u53ef\u4ee5\u662fUDP\u3001VxLAN\u3001AWS VPC\u548cGCE\u8def\u7531\u7b49\u6570\u636e\u8f6c\u53d1\u65b9\u5f0f\u3002\u9ed8\u8ba4\u4ee5UDP\u4e3a\u4f8b\u6765\u8bf4\u660eflannel\u5de5\u4f5c\u65b9\u5f0f\u3002
\u4e0b\u9762\u770b\u770b\u5177\u4f53\u5b9e\u73b0
\u95ee\u9898 \uff1a\u4e3a\u4fdd\u8bc1\u5404node\u5185docker\u5bb9\u5668\u5206\u914d\u7684ip\u5730\u5740\u4e0d\u51b2\u7a81\uff0c\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684Docker\u4f1a\u4f7f\u7528\u4e0d\u540c\u7684IP\u5730\u5740\u6bb5\uff1f\u5982\u4f55\u5b9e\u73b0\u7684\u5462\uff1f
\u95ee\u9898 \uff1a\u4e3a\u4ec0\u4e48\u5728\u53d1\u9001\u8282\u70b9\u4e0a\u7684\u6570\u636e\u4f1a\u4ecedocker0\u8def\u7531\u5230flannel0\u865a\u62df\u7f51\u5361\uff0c\u5728\u76ee\u7684\u8282\u70b9\u4f1a\u4eceflannel0\u8def\u7531\u5230docker0\u865a\u62df\u7f51\u5361\uff1f

k8s\u7684\u7f51\u7edc\u901a\u8baf\u65b9\u5f0f
k8s\u7684\u7f51\u7edc\u6a21\u578b\u5047\u5b9a\u662f\u6240\u6709Pod\u90fd\u5728\u4e00\u4e2a\u53ef\u4ee5\u76f4\u63a5\u8054\u901a\u7684\u6241\u5e73\u7684\u7f51\u8def\u7a7a\u95f4\uff0c\u6211\u4eec\u9700\u8981\u81ea\u5df1\u5b9e\u73b0\u8fd9\u4e2a\u7f51\u7edc\u5047\u8bbe\uff0c\u5c06\u4e0d\u540c\u8282\u70b9\u4e0a\u7684Docker\u5bb9\u5668\u4e4b\u95f4\u7684\u4e92\u76f8\u8bbf\u95ee\u5148\u6253\u901a\uff0c\u7136\u540e\u8fd0\u884cK8s\u3002
\u540c\u4e00\u4e2aPod\u5185\u7684\u591a\u4e2a\u5bb9\u5668\uff1a \u540c\u4e00\u4e2apod\u5171\u4eab\u4e00\u4e2a\u7f51\u7edc\u547d\u540d\u7a7a\u95f4\uff0c\u5171\u4eab\u540c\u4e00\u4e2alinux\u534f\u8bae\u6808
\u540c\u4e00\u4e2a\u8282\u70b9\u5404pod\u4e4b\u95f4\u7684\u901a\u8baf\uff1a \u901a\u8fc7docker0\u7f51\u6865\u76f4\u63a5\u53d1\u9001\u6570\u636e\uff0c\u4e0d\u901a\u8fc7flannel
pod\u4e0eservice\u4e4b\u95f4\u7684\u901a\u8baf\uff1a \u5404\u8282\u70b9\u7684iptables\u89c4\u5219\u3002
pod\u5230\u5916\u7f51\uff1a pod\u5411\u5916\u7f51\u53d1\u9001\u8bf7\u6c42\uff0c\u67e5\u627e\u8def\u7531\u8868\u8f6c\u53d1\u6570\u636e\u5305\u5230\u5bbf\u4e3b\u673a\u7684\u7f51\u5361\uff0c\u5bbf\u4e3b\u673a\u7f51\u5361\u5b8c\u6210\u8def\u7531\u9009\u62e9\u540e\uff0ciptables\u6267\u884cMasquerade\uff0c\u628a\u6e90IP\u66f4\u6539\u4e3a\u8457\u7f51\u5361\u7684IP\uff0c\u7136\u540e\u5411\u5916\u7f51\u53d1\u9001\u8bf7\u6c42\u3002
flannel\u7684\u529f\u80fd\u662f\u8ba9\u96c6\u7fa4\u4e2d\u7684\u4e0d\u540c\u8282\u70b9\u4e3b\u673a\u521b\u5efa\u7684Docker\u5bb9\u5668\u5177\u6709\u96c6\u7fa4\u552f\u4e00\u7684\u865a\u62dfIP\u5730\u5740\uff0c\u80fd\u591f\u5728\u8fd9\u4e9bIp\u5730\u5740\u4e4b\u95f4\u5efa\u7acb
\u4e00\u4e2a\u8986\u76d6\u7f51\u7edc(OverlayNetwork)\uff0c\u901a\u8fc7\u8fd9\u4e2a\u8986\u76d6\u7f51\u7edc\uff0c\u5c06\u6570\u636e\u5305\u539f\u5c01\u4e0d\u52a8\u4f20\u9012\u5230\u76ee\u6807\u5bb9\u5668\u5185\u90e8\u3002
\u4e0d\u540c\u8282\u70b9\u7684pod\u4e4b\u95f4\u7684\u8bbf\u95ee\uff1a
\u9996\u5148\uff0c\u5728node\u670d\u52a1\u5668\u4e0a\u4f1a\u5b89\u88c5flanneld\u7684\u5b88\u62a4\u8fdb\u7a0b\uff0c\u8fd9\u4e2a\u8fdb\u7a0b\u4f1a\u76d1\u542c\u4e00\u4e2a\u7aef\u53e3\uff0c\u8fd9\u4e2a\u7aef\u53e3\u662f\u7528\u4e8e\u63a5\u6536\u548c\u8f6c\u53d1\u6570\u636e\u5305\u7684\u7aef\u53e3\uff0cflanneld\u8fdb\u7a0b\u542f\u52a8\u4ee5\u540e\uff0c\u4f1a\u5f00\u542f\u4e00\u4e2a\u7f51\u6865\u53ebflannel0\uff0cflannel0\u4f1a\u6293\u53d6docker0\u8f6c\u53d1\u7684\u6570\u636e\u5305\uff0cdocker0\u4f1a\u5206\u914d\u81ea\u5df1\u7684IP\u5230\u5bf9\u5e94\u7684pod\u4e0a\uff0c\u5982\u679c\u662f\u540c\u4e00\u53f0\u4e3b\u673a\u4e2d\u7684\u4e0d\u540cpod\u7684\u8bdd\uff0c\u4ed6\u4eec\u4e4b\u95f4\u7684\u901a\u8baf\u8d70\u7684\u662fdocker0\u7f51\u6865\u3002\u5982\u679c\u662f\u4e0d\u540c\u8282\u70b9\u4e4b\u95f4\u7684pod\u8fdb\u884c\u901a\u8baf\uff0c\u6570\u636e\u5305\u6e90\u5730\u5740\u5199\u81ea\u5df1\u7684ip\uff0c\u76ee\u6807\u5730\u5740\u5199\u76ee\u6807\u5730\u5740\u7684ip\uff0c\u7136\u540e\u5c06\u6570\u636e\u53d1\u9001\u5230docker0\u7f51\u6865\u4e5f\u5c31\u662f\u7f51\u5173\uff0c\u6b64\u65f6flannel0\u6709\u81ea\u5df1\u94a9\u5b50\u51fd\u6570\uff0c\u5c06\u6570\u636e\u4ecedocker0\u6293\u53d6\uff0cflannel0\u662fflanneld\u5f00\u542f\u7aef\u53e3\uff0c\u6570\u636e\u5230\u4e86flanneld\u4e4b\u540e\u4f1a\u5c06\u6570\u636e\u62a5\u6587\u8fdb\u884c\u4e00\u4e2a\u5c01\u88c5\uff0c\u7136\u540e\u5c06\u6570\u636e\u8f6c\u53d1\u5230\u76ee\u6807\u8282\u70b9\uff0c\u7136\u540e\u5230\u4e86\u76ee\u6807\u8282\u70b9\u4e4b\u540e\u4f1a\u5c06\u6570\u636e\u8fdb\u884c\u4e00\u6b21\u89e3\u5c01\uff0c\u5230\u8fbe\u76ee\u6807\u8282\u70b9\u7684flanneld\uff0c\u7136\u540e\u6570\u636e\u4f1a\u8fdb\u884c\u4e8c\u6b21\u89e3\u5c01\uff0cflanneld\u4f1a\u901a\u8fc7\u81ea\u5df1\u7684\u7aef\u53e3\u5c06\u6570\u636e\u53d1\u9001\u5230docker0\u7f51\u6865\uff0c\u7136\u540e\u5728\u5bf9\u6570\u636e\u8fdb\u884c\u8f6c\u53d1\uff0c\u4ece\u800c\u53d1\u9001\u5230\u76f8\u5e94\u7684\u76ee\u6807pod\u3002
\u8fd9\u91cc\u7684etcd\u4e0eflannel\u7684\u5173\u7cfb\uff1a
\u5b58\u50a8\u7ba1\u7406flannel\u53ef\u5206\u914d\u7684IP\u5730\u5740\u6bb5\u8d44\u6e90
\u76d1\u63a7etcd\u4e2d\u6bcf\u4e2apod\u7684\u5b9e\u9645\u5730\u5740\uff0c\u5e76\u5728\u5185\u5b58\u4e2d\u5efa\u7acb\u7ef4\u62a4pod\u8282\u70b9\u8def\u7531\u8868\u3002
flannel\u542f\u52a8\u4ee5\u540e\u4f1a\u5411etcd\u4e2d\u63d2\u5165\u9700\u8981\u5206\u914d\u7684\u7f51\u6bb5\u4ee5\u53ca\u8fd9\u4e9b\u7f51\u6bb5\u5206\u522b\u5206\u914d\u5728\u54ea\u4e2a\u8282\u70b9\u4e0a\u3002

1、单机网络模式:Bridge 、Host、Container、None
2、多机网络模式:一类是 Docker 在 1.9 版本中引入Libnetwork项目,对跨节点网络的原生支持;一类是通过插件(plugin)方式引入的第三方实现方案,比如 Flannel,Calico 等等。

你这么做,让服务器如何选路呢?两条路都去网关,路径开销都一样,接口速率也一样,如果我是路由器,我会选择:一边扔一个包。然后网关就疯了。如果双网卡都启用的话,建议你使用绑定功能,起虚IP,让网关认为这俩网卡实际上是一个。

这样做时,如何让服务器选择路由?两条路径都通向网关。路径成本相同,接口速度相同。如果我是路由器,我选择一次丢弃一个包。然后大门就疯狂了。如果两个网卡都已启用,建议您使用绑定功能启动虚拟IP,以便网关认为这两个网卡实际上是一个网卡。

  • Linux閲岄潰k8s鏈夊嚑绉嶇綉缁妯″紡?
    绛旓細1銆佸崟鏈虹綉缁滄ā寮忥細Bridge 銆丠ost銆丆ontainer銆丯one 2銆佸鏈虹綉缁滄ā寮锛氫竴绫绘槸 Docker 鍦 1.9 鐗堟湰涓紩鍏ibnetwork椤圭洰锛屽璺ㄨ妭鐐圭綉缁滅殑鍘熺敓鏀寔锛涗竴绫绘槸閫氳繃鎻掍欢锛坧lugin锛夋柟寮忓紩鍏ョ殑绗笁鏂瑰疄鐜版柟妗堬紝姣斿 Flannel锛孋alico 绛夌瓑銆
  • 璁$畻鏈虹綉缁-k8s缃戠粶
    绛旓細K8S鐨勭綉缁鏄竴涓瀬鍏跺鏉傜殑缃戠粶,濡傛灉鎯宠鐢ㄤ袱涓畝鍗曠殑璇嶆潵鎻忚堪K8S缃戠粶,閭d箞鎴戣寰楁墎骞冲拰鍙繛閫氭槸K8S缃戠粶鏈澶х殑鐗圭偣(涓嶆噦闅旂鎬)銆 浣曚负杩為氬憿? 浜屽眰缃戠粶鐨勮繛閫:濡傛灉鑳藉鐩存帴閫氳繃MAC甯х洿鎺ラ氫俊鐨勭綉缁滀究鏄簩灞傝繛閫氱殑缃戠粶,LAN灏辨槸杩欑缃戠粶 姣斿鏃犻檺WIFI缃戠粶,姣斿浠ュお缃 涓夊眰缃戠粶鐨勮繛閫:濡傛灉鑳藉閫氳繃IP鎶ョ洿鎺ラ氫俊鐨勭綉...
  • K8s鐨勭綉缁璇﹁В
    绛旓細棣栧厛锛岃鐞嗚ВK8s鐨鐢ㄥ鍏跺疄鏄鍣ㄧ殑缂栨帓鍜岀鐞嗭紝鏈灏忕粍鎴愬叾瀹炰笉鏄鍣紝鏄痯od锛岀墿鐞嗘満鎴栬呰櫄鎷熸満鍙玭ode锛宲od鏄熀纭鍗曞厓锛宲od閲屽彲浠ユ湁澶氫釜瀹瑰櫒锛屼篃鍙互鍙湁涓涓鍣紝鍚屼竴涓猵od鐨勫鍣ㄥ郊姝ゆ槸鍏变韩缃戠粶鍜屼富鏈洪厤缃殑锛屾崲鍙ヨ瘽璇达紝褰兼鏄彲浠ョ洿鎺ocalhost閫氫俊鐨勶紝绫讳技浜庡悓涓鍙版満鍣ㄤ笂杩涜閫氫俊锛屾墍浠ヨ繖閲岄潰鏄棤鎵璋...
  • k8s缃戠粶鍘熺悊-ipvs
    绛旓細  鏈枃涓昏浠嬬粛k8s缃戠粶涓service 鐨勪袱绉嶆ā寮(clusterIp銆乶odeport),鏁版嵁鏄浣曢氳繃ipvs&iptables娴佽浆鐨勩傚湪瀛︿範涓婅堪鐭ヨ瘑鐨勫悓鏃,杩橀渶瑕佷簡瑙d竴涓媔pset銆乧onntrack鐨勭浉鍏崇煡璇嗐 寰鏈熷洖椤炬枃绔 1.1銆乮pset   ipset鏄粈涔?ipset鍏跺疄鏄痠ptables鐨勬墿灞,鍙互瀹氫箟涓浜涘垪鍦板潃鐨勯泦鍚堛傛嬁榛戝悕鍗曟潵涓句緥,鎴戞兂璁╅粦鍚嶅崟閲岄潰鐨i...
  • k8s绯诲垪02-kubeadm閮ㄧ讲flannel缃戠粶鐨刱8s闆嗙兢
    绛旓細铏界劧鏂扮増鏈鐨刱8s宸茬粡鏀寔鍙屾爤缃戠粶锛屼絾鏄湰娆$殑闆嗙兢閮ㄧ讲杩囩▼骞朵笉娑夊強IPv6缃戠粶鐨閫氫俊锛屽洜姝ゅ叧闂璉Pv6缃戠粶鏀寔 IPVS鏄笓闂ㄨ璁$敤鏉ュ簲瀵硅礋杞藉潎琛″満鏅殑缁勪欢锛 kube-proxy 涓殑 IPVS 瀹炵幇 閫氳繃鍑忓皯瀵 iptables 鐨勪娇鐢ㄦ潵澧炲姞鍙墿灞曟с傚湪 iptables 杈撳叆閾句腑涓嶄娇鐢 PREROUTING锛岃屾槸鍒涘缓涓涓亣鐨勬帴鍙o紝鍙仛 kube-...
  • 鍩轰簬Linux鑷繁鍒濇鎼缓Kubernetes(k8s)闆嗙兢鍩虹,璇︾粏鏁欑▼
    绛旓細1锛岀姝wap鍒嗗尯 K8s鐨瑕佹眰锛岀‘淇濈姝㈡帀swap鍒嗗尯锛屼笉绂佹锛屽垵濮嬪寲浼氭姤閿欍傚湪姣忎釜瀹夸富鏈轰笂鎵ц锛2锛岀‘淇濇椂鍖哄拰鏃堕棿姝g‘ 鏃跺尯璁剧疆 3锛屽叧闂槻鐏鍜宻elinux ubuntu 鏌ョ湅闃茬伀澧欏懡浠わ紝ufw status鍙煡鐪嬬姸鎬侊紝ubuntu20.04榛樿鍏ㄩ儴鍏抽棴锛屾棤闇璁剧疆銆4锛屼富鏈哄悕鍜宧osts璁剧疆锛堝彲閫夛級闈炲繀椤伙紝浣嗘槸涓轰簡鐩磋鏂逛究绠$悊锛屽缓璁...
  • k8s 缃戠粶鍩虹
    绛旓細 涓嬮潰鍏蜂綋鏉ヨ璇磀ocker瀹瑰櫒鐨勫嚑绉嶇綉缁妯″紡锛屼互渚垮悗缁涔k8s缃戠粶銆 鍦╤ost妯″紡涓嬶紙 鈥搉et=host锛夛紝瀹瑰櫒涓嶄細鍘诲缓绔嬫柊鐨勭綉缁滃懡鍚嶇┖闂达紝鑰岀洿鎺ヤ娇鐢ㄥ涓绘満鐨勭綉缁滆澶囦互鍙婄綉缁滃崗璁爤銆傝繖鏍疯嚜鐒朵笉浼氳櫄鎷熷嚭鑷繁鐨勭綉鍗★紝閰嶇疆鑷繁鐨処P绛夈傚叾鐗圭偣濡備笅锛 杩欎釜妯″紡灏辨槸鍦ㄥ垱寤哄鍣ㄦ椂锛屾寚瀹氱綉缁滐紙...
  • k8s鍜宒ocker鍖哄埆鏄粈涔?
    绛旓細1銆乲8s鏄竴绉嶅紑鏀炬簮鐮佺殑瀹瑰櫒闆嗙兢绠$悊绯荤粺锛岃兘澶熷疄鐜拌嚜鍔ㄥ寲閮ㄧ讲銆佹墿灞曞鍣ㄩ泦缇ゃ佺淮鎶ょ瓑鍔熻兘銆2銆丏ocker鏄竴绉嶅紑鏀炬簮鐮佺殑搴旂敤瀹瑰櫒寮曟搸锛屽紑鍙戣呭彲浠ュ皢浠栦滑鐨勫簲鐢ㄥ拰渚濊禆鎵撳寘鍦ㄤ竴涓彲绉绘鐨勫鍣涓锛屽彂甯冨埌娴佽鐨Linux鏈哄櫒涓婏紝涔熷彲浠ュ疄鐜拌櫄鎷熷寲銆3銆k8s鐨鍏ㄧОkubernetes銆傚畠鏄竴涓畬鏁寸殑鍒嗗竷寮忕郴缁熸敮鎾戝钩鍙帮紝闆嗙兢...
  • docker鍜k8s鏈浠涔堝尯鍒?
    绛旓細鍙﹀锛宬ubernetes涓嶄粎浠呮敮鎸丏ocker锛岃繕鏀寔Rocket锛岃繖鏄彟涓绉嶅鍣ㄦ妧鏈傜畝浠嬶細docker鏄竴涓紑婧愮殑搴旂敤瀹瑰櫒寮曟搸锛屽紑鍙戣呭彲浠ユ墦鍖呬粬浠殑搴旂敤浠ュ強渚濊禆鍒颁竴涓鍣涓锛屽彂甯冨埌娴佽鐨刲iunx绯荤粺涓婏紝鎴栬呭疄鐜拌櫄鎷熷寲銆k8s鏄竴涓紑婧愮殑瀹瑰櫒闆嗙兢绠$悊绯荤粺锛屽彲浠ュ疄鐜板鍣ㄩ泦缇ょ殑鑷姩鍖栭儴缃层佽嚜鍔ㄦ墿缂╁銆佺淮鎶ょ瓑銆
  • 瓒呭叏K8s闆嗙兢鏋勫缓鎸囧崡,寤鸿鏀惰棌
    绛旓細Node Node鏄疜ubernetes闆嗙兢鏋舵瀯涓杩愯Pod鐨勬湇鍔¤妭鐐癸紙鎴朼gent锛夈侼ode鏄疜ubernetes闆嗙兢鎿嶄綔鐨勫崟鍏冿紝鐢ㄦ潵鎵胯浇琚垎閰峆od鐨勮繍琛岋紝鏄疨od杩愯鐨勫涓绘満銆4. 鍓嶇疆鏉′欢璁剧疆 涓夊彴Centos7绯荤粺鐨勮櫄鎷熸満锛1涓猰aster+2涓猲ode锛,涓夊彴鏈哄櫒涓婄殑闃茬伀澧欙紝SELINUX鍏ㄩ儴鍏虫帀銆傛垜鐨勫疄楠屽潖澧冨彲浠涓婄綉锛岄粯璁ょ殑YUM婧愬氨鍙互鐢ㄣ...
  • 扩展阅读:mindmaster永久免费版 ... m3u8视频可以永久保存 ... 天堂switch官网地址 ... 在线linux入口 ... 欧洲applestore ... it人必看的网站 ... 免费的安全的网站入口 ... 免费欧洲vpswindows ... javascript在线 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网