{"id":10466,"date":"2022-08-25T10:25:15","date_gmt":"2022-08-25T02:25:15","guid":{"rendered":"http:\/\/lrxjmw.cn\/?p=10466"},"modified":"2022-08-26T01:12:37","modified_gmt":"2022-08-25T17:12:37","slug":"virtualmath-is-die","status":"publish","type":"post","link":"https:\/\/lrxjmw.cn\/virtualmath-is-die.html","title":{"rendered":"\u865a\u62df\u673a\u5df2\u6b7b\uff0c\u5bb9\u5668\u624d\u662f\u672a\u6765\uff1f"},"content":{"rendered":"\n\n\n
\u5bfc\u8bfb<\/td>\n\u6211\u4e5f\u66fe\u7ecf\u662f\u5bb9\u5668\u6280\u672f\u5c24\u5176\u662f Docker \u7c89\u4e1d\uff0c\u4f46\u7528\u4e86\u4e00\u5e74\u540e\u89c9\u5f97\u4e8b\u60c5\u4e5f\u6ca1\u90a3\u4e48\u7f8e\u597d\uff0c\u800c\u9887\u6709\u4e00\u4e9b\u540c\u5b66\u4ee5\u53ca\u4e00\u4e9b\u516c\u53f8\u4f9d\u7136\u8ba4\u4e3a\u5bb9\u5668\u5c31\u662f\u94f6\u5f39\uff0c\u865a\u62df\u673a\u5df2\u7ecf\u662f\u6628\u513f\u9ec4\u82b1\u5fc5\u987b\u6253\u5012\uff0c\u5927\u5bb6\u8d76\u7d27\u4e00\u5207\u7686\u5bb9\u5668\u3002\u8fd9\u91cc\u6211\u5bf9\u8fd9\u79cd\u89c2\u70b9\u5410\u5410\u69fd\u3002\u4ec5\u4ee3\u8868\u4f5c\u8005\u4e2a\u4eba\u770b\u6cd5
\n<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n

\u9996\u5148\u8981\u660e\u786e\u7684\u662f\uff0c\u8f6f\u4ef6\u5f00\u53d1\u548c\u8fd0\u7ef4\u6d3b\u52a8\u4e2d\uff0c\u53ef\u7ef4\u62a4\u6027\u3001\u6b63\u786e\u6027\u3001\u6027\u80fd\u7684\u4f18\u5148\u7ea7\u662f\u4f9d\u6b21\u964d\u4f4e\u7684\uff0c\u4e0d\u8981\u8ddf\u6211\u62ac\u6760\u5c11\u6570\u6781\u7aef\u60c5\u51b5\u3002\u5173\u4e8e\u53ef\u7ef4\u62a4\u6027\u548c\u6b63\u786e\u6027\u7684\u5148\u540e\uff0c\u8457\u540d\u7684 \"worse is better\" \u6587\u7ae0\u5c31\u662f\u5f88\u597d\u7684\u65e0\u5948\u7684\u89e3\u91ca\uff0c\u5982\u679c\u4f60\u72b9\u8c6b\u8fd9\u4e24\u8005\uff0c\u8fd9\u8fd8\u60c5\u6709\u53ef\u539f\uff0c\u6bd5\u7adf\u771f\u5584\u7f8e\u548c\u7cd9\u5feb\u731b\u7684\u6597\u4e89\u4ece\u672a\u505c\u6b47\uff0c\u800c\u4f60\u5982\u679c\u7b2c\u4e00\u53cd\u5e94\u89c9\u5f97\u6027\u80fd\u662f\u6700\u91cd\u8981\u7684\uff0c\u90a3\u5c31\u4e0d\u8981\u7ee7\u7eed\u5f80\u4e0b\u770b\u4e86\uff0c\u6d17\u6d17\u53bb\u7761\u5427\u2014\u2014\u9002\u5408\u7684\u624d\u662f\u6700\u597d\u7684\u3002<\/p>\n

\u90a3\u4e48\u5bf9\u4e8e\u865a\u62df\u673a vs \u5bb9\u5668\uff0c\u81ea\u7136\u6211\u4eec\u4e5f\u9700\u8981\u4ece\u8fd9\u4e09\u65b9\u9762\u8003\u5bdf\u3002
\n\"vm<\/p>\n

\u56de\u5408\u4e00\uff1a\u53ef\u7ef4\u62a4\u6027\u4e4b\u4e89<\/strong><\/div>\n
\u865a\u62df\u673a\u2014\u7ef4\u62a4\u6027<\/strong><\/span><\/div>\n

\u4ece hypervisor \u8bb2\uff0cXen\/KVM\/vSphere\/HyperV \u90fd\u5f88\u6210\u719f\u4e86\uff0c\u4e45\u7ecf\u8003\u9a8c\uff0cBSD \u4e5f\u5728\u51d1\u70ed\u95f9\u641e bhyve(FreeBSD) \u548c vmm(OpenBSD)\uff0c\u6700\u8fd1 unikernel \u4e5f\u5728\u8bd5\u56fe\u8dd1\u5728 hypervisor \u4e0a\uff0c\u800c AWS\/GCE\/Azure \u7b49\u7b49\u4e91\u8ba1\u7b97\u5de8\u5934\u4ee5\u53ca Intel\/AMD \u7b49\u5728CPU\u3001\u78c1\u76d8\u548c\u7f51\u7edcIO\u865a\u62df\u5316\u6280\u672f\u4e0a\u7684\u6295\u8d44\u663e\u7136\u4e0d\u4f1a\u7acb\u9a6c\u63a8\u7ffb\uff0cLinux \u4e0a\u865a\u62df\u673a\u7684\u5f00\u6e90\u7ba1\u7406\u65b9\u6848\u4e5f\u5df2\u6210\u719f\u5b9a\u578b\uff1alibvirt, OpenStack\uff0c\u6ca1\u4eba\u5403\u9971\u4e86\u6491\u7684\u53bb\u5f04\u4e2a \u201c\u65b0\u7684\u5f00\u6e90\u201d \u9879\u76ee\u66ff\u6362\u5b83\u4eec\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u559c\u6b22 OpenStack \u7684\u4e71\u7cdf\u548c\u590d\u6742\u3002VM \u7684\u52a8\u6001\u8fc1\u79fb\u4e5f\u662f\u6210\u719f\u6280\u672f\uff0c\u51fa\u6765\u597d\u591a\u5e74\u4e86\uff0c\u5b9e\u73b0\u539f\u7406\u975e\u5e38\u7b80\u5355\uff0c\u53cd\u6b63\u6574\u4e2a OS \u5185\u5b58\u4e00\u9505\u7aef\u5f04\u8fc7\u53bb\uff0c\u4e0d\u64cd\u5fc3\u5c11\u4e2a\u4f9d\u8d56\u8fdb\u7a0b\u7684\u5185\u5b58\u6ca1\u8fc7\u53bb\u3002\u60f3\u7528\u4e0d\u540c\u7248\u672c\u5185\u6838\uff1f \u60f3\u8981\u81ea\u5b9a\u4e49\u5185\u6838\u6a21\u5757\uff1f\u60f3\u8c03\u6574\u5185\u6838\u53c2\u6570\uff1f\u671f\u671b\u66f4\u5b89\u5168\u7684\u9694\u79bb\uff1f\u671f\u671b\u5982\u540c\u7269\u7406\u673a\u7248\u51e0\u4e4e\u4e00\u81f4\u7684\u4f7f\u7528\u4f53\u9a8c\uff1fVM \u5c31\u662f\u865a\u62df\u673a\u7684\u7f29\u5199\u561b\uff0c\u8fd9\u4e9b\u90fd\u662f\u62ff\u624b\u620f\u3002<\/p>\n

\u5bb9\u5668\u2014 \u7ef4\u62a4\u6027<\/strong><\/span><\/div>\n

\nLinux \u5bb9\u5668\uff0cLinux \u4e00\u8d2f\u7684\u4f5c\u98ce\uff0c\u6162\u6162\u6f14\u5316\uff0c\u4e0d\u6c42\u4ed4\u7ec6\u8bbe\u8ba1\uff0c\u7136\u540e\u5c31\u662f cgroup, pid\/uts\/ipc\/net\/uid namespace \u4e00\u4e2a\u4e2a\u5b9e\u73b0\u51fa\u6765\uff0c\u51d1\u51fa\u4e00\u4e2a\u5bb9\u5668\u6280\u672f\uff0c\u8c8c\u4f3c uid namespace \u8fd8\u662f\u6700\u8fd1\u521a\u521a\u51fa\u6765\u7684\u7279\u6027\u3002\u7528\u6237\u7a7a\u95f4\u5219\u66f4\u662f\u7fa4\u96c4\u5e76\u8d77\uff0cLXC\uff0cDocker\uff0crkt\uff0cLXD\uff0c\u5404\u6709\u62e5\u8e47\uff0c\u9e7f\u6b7b\u8c01\u624b\uff0c\u8fd8\u771f\u4e0d\u597d\u8bf4\uff0c\u5728\u8fd9\u4e2a\u5c40\u8fd8\u6ca1\u660e\u6717\u7684\u65f6\u5019\uff0cMesos\u3001Swarm\u3001Kubernetes\u3001Nomad \u53c8\u51fa\u6765\u4e00\u5806\u6405\u5c40\u7684\uff0c\u773c\u4e0b\u770b\u6765\u6700\u5438\u5f15\u773c\u7403\u7684 Kubernetes \u4fe8\u7136\u6709 OpenStack \u7ee7\u4efb\u8005\u7684\u611f\u89c9\uff0c\u4f46\u4f9d\u7136\u5f88\u5ae9\uff0c\u6ca1\u51e0\u4e2a\u4eba\u6562\u5728\u751f\u4ea7\u73af\u5883\u5927\u89c4\u6a21\u4f7f\u7528\u3002<\/p>\n

Linux\u5bb9\u5668\u91cc\u8fdb\u7a0b\u7684\u8de8\u673a\u5668\u52a8\u6001\u8fc1\u79fb\u6211\u8fd8\u6ca1\u542c\u8bf4\uff0c\u4e0d\u8981\u8bf4\u662f\u4e2a\u670d\u52a1\u5c31\u5f97\u6709\u96c6\u7fa4\u6709 HA \u561b\uff0c\u53ef\u8fd8\u771f\u6709\u4e0d\u5c11\u7528\u6237\u4e00\u4e2a\u670d\u52a1\u5c31\u5355\u673a\u9876\u7740\u5462\uff0c\u5c31\u7b97\u6709\u70ed\u5907\u6216\u8005\u51b7\u5907\uff0c\u5728\u7ebf\u90a3\u53f0\u673a\u5668\u5185\u5b58\u91cc\u7684\u4e1c\u897f\u53ef\u5b9d\u8d35\u4e86\uff0c\u8f7b\u6613\u4e0d\u80fd\u4e22\u3002\u7528Linux\u5bb9\u5668\u5c31\u4e0d\u80fd\u6311\u5185\u6838\uff0c\u4e0d\u80fd\u52a0\u8f7d\u5185\u6838\u6a21\u5757\uff0c\u4e0d\u80fd\u6302\u8f7d\u6587\u4ef6\u7cfb\u7edf\uff0c\u4e0d\u80fd\u8c03\u6574\u5185\u6838\u53c2\u6570\uff0c\u4e0d\u80fd\u6539\u7f51\u7edc\u914d\u7f6e\uff0c\u7b49\u7b49\uff0c\u4e0d\u8981\u544a\u8bc9\u6211\u4f60\u80fd\u2014\u2014\u4f60\u662f\u4e0d\u662f\u5f00\u4e86 docker run --privileged \u4e86\uff1f \u4f60\u662f\u4e0d\u662f\u6ca1 drop capability\uff1f\u4f60\u662f\u4e0d\u662f\u6ca1\u6709 remap uid\uff1f\u8bdd\u8bf4\u67d0\u5927\u516c\u53f8\u7684\u5bb9\u5668\u8fd8\u771f\u5c31\u7528 --privileged \u9009\u9879\u8dd1\u7684\u5462\u3002 \u800c Linux \u7684\u9694\u79bb\u4e0d\u5f7b\u5e95\u6050\u6015\u5927\u90e8\u5206\u4eba\u90fd\u6ca1\u610f\u8bc6\u5230\uff0c\/sys, \/dev, \/selinux \u8fd8\u6709 \/proc \u4e0b\u7684\u67d0\u4e9b\u5173\u952e\u6587\u4ef6\u6bd4\u5982 \/proc\/kcore \u6ca1\u9694\u79bb\u5462\u3002<\/p>\n

Redhat \u505a\u7684 project Atomic \u610f\u8bc6\u5230\u8fd9\u4e9b\u95ee\u9898\uff0c\u6b63\u5728\u79ef\u6781\u7684\u7ed9 Docker \u52a0 SELinux \u652f\u6301\uff0c\u6307\u5b9a SELinux policy\uff0c\u4f46 Docker \u5b98\u65b9\u7231\u642d\u4e0d\u7406\uff0c\u800c\u4e14 SELinux \u8fd9\u79cd\u9ad8\u7aef\u6280\u672f\u662f\u51e1\u4eba\u73a9\u7684\u4e48\uff1f \u7ed3\u5c40\u5927\u6982\u4f9d\u7136\u662f \"FAQ 1: \u5173\u6389 SELinux\"\u3002Linux \u5bb9\u5668\u672c\u6765\u5e76\u4e0d\u5c40\u9650\u5728\u4e00\u4e2a\u5bb9\u5668\u91cc\u8dd1\u51e0\u4e2a\u8fdb\u7a0b\uff0c\u4f46 Docker \u5b98\u65b9\u4e3a\u4e86\u52a0\u5f3a\u201c\u8f7b\u91cf\u7ea7\u201d\u8fd9\u8bcd\u7684\u6d17\u8111\u6548\u679c\uff0c\u641e\u51fa\u4e2a\u65e0\u6bd4\u8111\u6b8b\u7684 single process \u7406\u5ff5\uff0c\u88ab\u65e0\u6570\u4eba\u6367\u81ed\u811a\uff0c\u6240\u5e78\u6709\u4e9b\u4eba\u6162\u6162\u610f\u8bc6\u5230\u95ee\u9898\uff0cYelp \u641e\u4e86\u4e2a dumb-init \u64e6\u4e86\u4e00\u534a\u5c41\u80a1\uff0c\u8fd8\u6709\u65e0\u6570 docker image \u7528 runit\u3001supervisor \u4e4b\u7c7b\u7684\u505a \/sbin\/init \u66ff\u6362\uff0c\u4f46\u95ee\u9898\u5728\u4e8e\u8fd9\u8981\u81ea\u5b9a\u4e49\u542f\u52a8\u811a\u672c\uff0c\u9700\u8981\u52a0 ssh\/cron\/syslog\/logrotate \u7b49\u7b49\u8fb9\u89d2\u6599\u2014\u2014\u8fd9\u5df2\u7136\u662f\u89e3\u51b3\u4e86\u65e0\u6570\u904d\u7684\u95ee\u9898\uff0c\u8fd8\u8981\u89e3\u51b3\u4e00\u904d\uff0c\u4e0d\u89c9\u5f97\u9ebb\u70e6\u5417\uff1f\u96be\u9053\u6ca1\u6709\u4eba\u8ba4\u4e3a\u8fd9\u4e9b\u5305\u7684\u4f5c\u8005\u6216\u8005\u6253\u5305\u8005\u66f4\u5584\u4e8e\u5904\u7406\u670d\u52a1\u542f\u52a8\u811a\u672c\u4e48\uff1f\u50cf systemd \u90a3\u79cd\u641e\u6cd5\u8fd8\u7b97\u6b63\u9053\uff0c\u7279\u610f\u8003\u8651\u5bb9\u5668\u73af\u5883\uff0c\u8df3\u8fc7\u4e00\u4e9b\u6b65\u9aa4\uff0c\u4f46\u8c8c\u4f3c\u8fd8\u6ca1\u505a\u5b8c\u5584\uff0c\u9700\u8981\u624b\u52a8\u5220\u9664\u4e00\u4e9b .service \u6587\u4ef6\u3002<\/p>\n

\u865a\u62df\u673a vs \u5bb9\u5668<\/strong><\/span><\/div>\n

\u4e5f\u8bb8\u6709\u4eba\u4f1a\u8bf4 docker pull\/push \u591a\u65b9\u4fbf\u554a\uff0cdocker build \u591a\u65b9\u4fbf\u554a\uff0c\u53ef\u4e0d\u8981\u5fd8\u4e86\uff0cvm image storage \u65e9\u5728 openstack \u91cc\u5c31\u89e3\u51b3\u4e86\uff0c\u81ea\u5df1\u5904\u7406\u4e5f\u4e0d\u662f\u4e2a\u5927\u4e8b\uff0cvm image build \u4e5f\u6709 Hashicorp \u7684 Packer \u5de5\u5177\u4ee3\u52b3\uff0c\u4e0d\u662f\u4e2a\u4e8b\u3002Docker \u81ea\u8c6a\u7684\u5b98\u65b9 docker registry \u5176\u5b9e\u5927\u5bb6\u6700\u591a\u7528\u7528 base os image\uff0c\u90a3\u4e9b app \u7ea7\u522b\u7684\u51fa\u4e8e\u4fe1\u4efb\u4ee5\u53ca\u5b9a\u5236\u8003\u8651\u90fd\u4f1a\u81ea\u5df1 build\u3002\u800c Docker \u81ea\u8c6a\u7684 layered storage \u4e5f\u662f\u65e0\u6570\u8840\u6cea\uff0caufs & overlayfs \u5751\u4e86\u591a\u5c11\u4eba\uff1f\u5bb9\u5668\u793e\u533a\u6700\u8fd1\u8fd8\u7279\u5d07\u62dc immutable deployment\uff0c\u4ee5\u628a\u5bb9\u5668\u6839\u6587\u4ef6\u7cfb\u7edf\u5f04\u505a\u53ea\u8bfb\u7684\u4e3a\u8363\uff0c\u5168\u7136\u4e0d\u7ba1\u6709\u7d27\u6025\u5b89\u5168\u66f4\u65b0\u6216\u8005\u529f\u80fd\u4fee\u6b63\u600e\u4e48\u5904\u7406\u2014\u2014\u4ec0\u4e48\uff0c\u4f60\u8981\u8bf4 docker rm && docker run \u518d\u8d77\u4e00\u6279\u4e0d\u5c31\u5b8c\u4e8b\u4e48\uff1f\u771f\u6709\u8fd9\u4e48\u7b80\u5355\u5c31\u597d\u4e86\u3002<\/p>\n

\u50cf Linux kernel \u548c git \u90a3\u79cd\u624d\u662f\u6b63\u7ecf unix \u8bbe\u8ba1\u7684\u601d\u60f3\uff0c\u5206\u5c42\u5806\u53e0\uff0c\u5e95\u5c42\u63d0\u4f9bmechanism\uff0c\u9ad8\u5c42\u63d0\u4f9b policy\uff0c\u5404\u53d6\u6240\u9700\uff0c\u53ef\u60dc\u4eba\u603b\u662f\u6613\u4e8e\u88ab\u6d17\u8111\uff0c\u5728\u63a5\u53d7\u5404\u79cd\u9ad8\u5927\u4e0apolicy\u7684\u65f6\u5019\u5168\u7136\u5fd8\u4e86mechanism\u8fd8\u5728\u4e0d\u5728\u81ea\u5df1\u624b\u91cc\u3002<\/p>\n

\u56de\u5408\u4e8c\uff1a\u6b63\u786e\u6027\u4e4b\u4e89<\/strong><\/div>\n

\u5f3a\u9694\u79bb\u3001full OS \u4f53\u9a8c\u3001\u4fdd\u7559 mechanism\uff0c\u8fd9\u624d\u662f\u6b63\u9053\u3002\u53e6\u5916\u5bb9\u5668\u8fd8\u9690\u85cf\u4e86\u4e00\u4e2a\u5751\uff0c\/proc\/cpuinfo\u548cfree\u547d\u4ee4\u8f93\u51fa\u662fhost os\u7684\uff0c\u8fd9\u5751\u4e86\u65e0\u6570\u63a2\u6d4b\u7cfb\u7edf\u8d44\u6e90\u81ea\u52a8\u51b3\u5b9a\u9ed8\u8ba4\u7ebf\u7a0b\u6c60\u548c\u5185\u5b58\u6c60\u5927\u5c0f\u7684\u7a0b\u5e8f\uff0c\u5c24\u4ee5Java\u6700\u4e3a\u666e\u904d\u3002<\/p>\n

\u56de\u5408\u4e09\uff1a\u6027\u80fd\u4e4b\u4e89<\/strong><\/div>\n

\u5bb9\u5668\u7c89\u4e1d\u6d25\u6d25\u4e50\u9053\u2014\u2014\u542f\u52a8\u5bb9\u5668\u5feb\uff0c\u5bb9\u5668\u7684\u5f00\u9500\u5c11\u3002 \u8fd9\u4e24\u70b9\u786e\u5b9e\u5982\u6b64\u4f46\u597d\u5904\u771f\u7684\u6709\u90a3\u4e48\u5de8\u5927\u4e48\uff1f\u8c01\u6709\u4e8b\u6ca1\u4e8b\u4e0d\u505c\u521b\u5efa\u865a\u62df\u673a\uff1f\u8c01\u7684\u865a\u62df\u673a\u751f\u547d\u5468\u671f\u5e73\u5747\u5728\u5206\u949f\u7ea7\u522b\uff1f\u8c01\u7684\u201c\u7528\u5b8c\u5168\u542f\u52a8\u65f6\u95f4\u201d\u5e73\u5747\u5728\u79d2\u7ea7\uff1f \u81f3\u4e8e\u8bf4\u5230\u865a\u62df\u673a\u6d6a\u8d39\u7684\u8d44\u6e90\u592a\u591a\uff0c\u5176\u5b9e\u4e5f\u5c31\u662f\u4e2a\u969c\u773c\u6cd5\u3002\u7406\u8bba\u4e0a\u670d\u52a1\u5668\u7684\u8d44\u6e90\u5229\u7528\u7387\u5e73\u5747\u4e0d\u5e94\u8be5\u8d85\u8fc7 80%\u800c\u5b9e\u9645\u4e0a\u7edd\u5927\u90e8\u5206\u516c\u53f8\u7684\u670d\u52a1\u5668\u8d44\u6e90\u5229\u7528\u7387\u5e94\u8be5\u90fd\u4e0d\u5230 50%\uff0c\u5927\u91cf\u7684CPU\u3001\u5185\u5b58\u3001\u672c\u5730\u78c1\u76d8\u90fd\u662f\u5e38\u5e74\u6d6a\u8d39\u7684\uff0c\u6240\u4ee5 VM \u7684\u989d\u5916\u5f00\u9500\u4e0d\u8fc7\u662f\u6d6a\u8d39\u4e86\u539f\u672c\u5c31\u5728\u6d6a\u8d39\u7684\u8d44\u6e90\u7f62\u4e86\u3002\u5c31\u5355\u673a\u7684\u5dc5\u5cf0 I\/O \u80fd\u529b\u6765\u8a00\uff0cVM \u786e\u5b9e\u4e0d\u654c\u5bb9\u5668\u3002\u4f46\u5e73\u65f6\u6839\u672c\u5c31\u7528\u4e0d\u5230\u5dc5\u5cf0\u72b6\u6001\uff0c \u539f\u672c\u4e00\u4e2a VM \u91cc\u591a\u8fdb\u7a0b\u5e72\u7684\u4e8b\uff0c\u975e\u5f97\u641e\u591a\u4e2a\u5bb9\u5668\u8dd1\uff0c\u8fd9\u5bb9\u5668\u5f00\u9500\uff0c\u8fd9\u4eba\u529b\u5f00\u9500\u600e\u4e48\u7b97\uff1f<\/p>\n

\u5173\u4e8e\u5bb9\u5668\u8fd8\u6709\u4e00\u4e2a\u5e7b\u60f3\uff0c\u90a3\u5c31\u662f\u53ef\u4ee5\u5728\u7269\u7406\u673a\u4e0a\u76f4\u63a5\u8dd1\u5bb9\u5668\uff0c\u5f00\u9500\u5de8\u4f4e\u3001\u7ba1\u7406\u5de8\u65b9\u4fbf\uff0c\u7528\u4e13\u7528\u7269\u7406\u673a\u65b9\u5f0f\u63d0\u4f9b\u591a\u79df\u6237\u5f3a\u9694\u79bb\u3002\u524d\u9762\u4e24\u70b9\u4e0a\u9762\u5df2\u7ecf\u9a73\u8fc7\u4e86\uff0c\u8bdd\u8bf4\u8fd8\u6709\u4eba\u7528 openstack \u7ba1\u7406 docker \u5bb9\u5668\u5462\u3002 \u6211\u53ea\u662f\u8bf4\u4e00\u4e0b\u7b2c\u4e09\u70b9\uff0c\u5728\u4e00\u53f0\u7269\u7406\u673a\u4e0a\u76f4\u63a5\u8dd1\u5bb9\u5668\u7684\u4e00\u4e2a\u6700\u5bb9\u6613\u88ab\u5ffd\u89c6\u7684\u95ee\u9898\uff1a\u73b0\u5728\u7528\u6765\u63d0\u4f9b\u4e91\u670d\u52a1\u7684\u7269\u7406\u673a\u4e00\u822c\u90fd\u662f\u786c\u4ef6\u8d85\u7ea7\u725b\u903c\uff0c\u8dd1\u4e0a\u767e\u4e2a\u5bb9\u5668\u90fd\u6ca1\u95ee\u9898\uff0c\u4f46\u95ee\u9898\u5728\u4e8e\u7528\u6237\u5f88\u53ef\u80fd\u53ea\u9700\u8981\u51e0\u4e2a\u5bb9\u5668\uff0c\u6240\u4ee5\u8981\u4e48\u8ddf\u4eba\u5171\u7528\u7269\u7406\u673a\uff0c\u8981\u4e48\u6d6a\u8d39\u8d44\u6e90\u767d\u4ea4\u94b1\u3002\u54ea\u6015\u7528\u6237\u9700\u8981\u4e0a\u767e\u4e2a\u5bb9\u5668\uff0c\u51fa\u4e8e\u5bb9\u707e\u8003\u8651\uff0c\u4e5f\u4e0d\u53ef\u4ee5\u628a\u4e0a\u767e\u5bb9\u5668\u90e8\u7f72\u5230\u4e00\u53f0\u7269\u7406\u673a\u4e0a\uff0c\u6240\u4ee5\u8fd8\u662f\u8981\u4e48\u8ddf\u4eba\u5171\u7528\u7269\u7406\u673a\uff0c\u8981\u4e48\u6d6a\u8d39\u8d44\u6e90\u3002<\/p>\n

\u65b9\u6848<\/strong><\/div>\n

\u4ee5\u4e0a\u662f\u6211\u7684\u89c2\u70b9\uff0c\u6211\u5e76\u4e0d\u662f\u201c\u5bb9\u5668\u9ed1\u201d\uff0c\u800c\u662f\u201c\u5b9e\u7528\u767d\u201d\u3002AWS\u3001Azure\u3001GCE \u90fd\u4e3b\u63a8\u5728\u865a\u62df\u673a\u4e0a\u8dd1\u5bb9\u5668\uff0c\u6309\u865a\u62df\u673a\u6536\u8d39\uff0c\u8fd9\u975e\u5e38\u660e\u667a\u7684\u89e3\u51b3\u4e86\u95ee\u9898\uff1a\u8001\u7684\u7eaf VM \u57fa\u7840\u8bbe\u65bd\u4e0d\u7528\u52a8\uff0c\u8ba1\u8d39\u7167\u65e7\uff0c\u5355\u7269\u7406\u673a\u53ef\u4ee5\u88ab\u5b89\u5168\u7684\u591a\u79df\u6237\u5171\u7528\uff0c\u8d44\u6e90\u9694\u79bb\u6709\u4fdd\u8bc1\uff08\u8d77\u7801\u6bd4\u5171\u4eab\u5185\u6838\u5f3a\u591a\u4e86\uff09\uff0c\u628a\u5bb9\u5668\u7ba1\u7406\u8f6f\u4ef6\u5982\u201ckubernetes\u201d\u7ed9\u7528\u6237\uff0c\u65e2\u6ee1\u8db3\u7528\u6237\u7684\u5bb9\u5668\u9700\u6c42\uff0c\u53c8\u4e0d\u62c5\u5fc3\u5bb9\u5668\u7684\u591a\u79df\u6237\u95ee\u9898\u3002<\/p>\n

\u6240\u4ee5\u6211\u8ba4\u4e3a\uff1a\u4ee5 VM \u4e3a\u57fa\u7840\uff0c\u4ee5\u5bb9\u5668\u4e3a\u8f85\u52a9\u70b9\uff0c\u8981\u4e70\u5c31\u4e70 VM\uff0c\u81ea\u5df1\u7ba1\u7406\u5bb9\u5668\uff0c\u522b\u4e70 CAAS \u76f4\u63a5\u63d0\u4f9b\u7684\u5bb9\u5668\uff0c\u522b\u770b\u4e0d\u5230\u5e95\u4e0b\u7269\u7406\u673a\u6216\u8005\u865a\u62df\u673a\u3002\u7528 VM \u8fd8\u662f\u7528\u5bb9\u5668\uff0c\u51b7\u9759\u8003\u5bdf\u81ea\u5df1\u7684\u5e94\u7528\u4e0a\u5bb9\u5668\u662f\u5426\u6709\u597d\u5904\u3002\u6700\u540e\uff0c\u6b8b\u5ff5\uff0cVM \u5f00\u6e90\u7ba1\u7406\u8f6f\u4ef6\u80fd\u641e\u4e2a\u6bd4 OpenStack \u7b80\u5355\u7684\u4e1c\u897f\u5417\uff1f<\/p>\n

\n

\u539f\u6587\u6765\u81ea\uff1ahttp:\/\/blog.163.com\/guaiguai_family\/blog\/static\/2007841452016229115555875?from=timeline&isappinstalled=0<\/a><\/p>\n

\u672c\u6587\u5730\u5740\uff1ahttp:\/\/lrxjmw.cn\/virtualmath-is-die.html<\/a>\u7f16\u8f91\uff1a\u9676\u6b66\u6770\uff0c\u5ba1\u6838\u5458\uff1a\u9004\u589e\u5b9d<\/span><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"

\u5bfc\u8bfb \u6211\u4e5f\u66fe\u7ecf\u662f\u5bb9\u5668\u6280\u672f\u5c24\u5176\u662f Docker \u7c89\u4e1d\uff0c\u4f46\u7528\u4e86\u4e00\u5e74\u540e\u89c9\u5f97\u4e8b\u60c5\u4e5f\u6ca1\u90a3\u4e48\u7f8e\u597d\uff0c\u800c\u9887\u6709\u4e00\u4e9b\u540c\u5b66\u4ee5\u53ca\u4e00\u4e9b\u516c […]<\/p>\n","protected":false},"author":63,"featured_media":10470,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-10466","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"_links":{"self":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/10466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/comments?post=10466"}],"version-history":[{"count":21,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/10466\/revisions"}],"predecessor-version":[{"id":251139,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/10466\/revisions\/251139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/media\/10470"}],"wp:attachment":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/media?parent=10466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/categories?post=10466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/tags?post=10466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}