{"id":658,"date":"2021-09-23T23:14:38","date_gmt":"2021-09-23T15:14:38","guid":{"rendered":"https:\/\/cdn.igene.tw\/?p=658"},"modified":"2021-09-24T21:03:58","modified_gmt":"2021-09-24T13:03:58","slug":"openstack-deployment-tools-2","status":"publish","type":"post","link":"https:\/\/igene.tw\/openstack-deployment-tools-2","title":{"rendered":"\u5f9e\u88f8\u6a5f\u5230\u96f2\u7aef\uff1aOpenStack \u90e8\u5c6c\u5de5\u5177 2"},"content":{"rendered":"<p>\u4e0a\u4e00\u7bc7\u6211\u5011\u4ecb\u7d39\u4e86 DevStack \u8ddf MicroStack \u9019\u5169\u500b\u975e\u5e38\u5bb9\u6613\u4e0a\u624b\u4f46\u662f\u6bd4\u8f03\u504f\u5411\u958b\u767c\u6e2c\u8a66\u4f7f\u7528\u7684\u90e8\u5c6c\u65b9\u5f0f\u3002\u4eca\u5929\u7b46\u8005\u6703\u4f86\u4ecb\u7d39 TripleO \u8ddf OpenStack Charms \u9019\u5169\u500b\u6709\u5f37\u5927\u5ee0\u5546\u5f8c\u76fe\u7684\u90e8\u5c6c\u5de5\u5177<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f23e4646377\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f23e4646377\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/igene.tw\/openstack-deployment-tools-2\/#TripleO\" >TripleO<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/igene.tw\/openstack-deployment-tools-2\/#%E6%9E%B6%E6%A7%8B%E6%A6%82%E8%A6%BD\" >\u67b6\u69cb\u6982\u89bd<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/igene.tw\/openstack-deployment-tools-2\/#OpenStack_Charm\" >OpenStack Charm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/igene.tw\/openstack-deployment-tools-2\/#%E5%B0%8F%E7%B5%90\" >\u5c0f\u7d50<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"TripleO\"><\/span>TripleO<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>TripleO \u662f &quot;OpenStack on OpenStack&quot; \u7684\u7e2e\u5beb\u3002\u5b83\u662f OpenStack \u4e2d\u5176\u4e2d\u4e00\u500b project\uff0c\u5176\u4e3b\u8981\u529f\u80fd\u5c31\u662f\u900f\u904e OpenStack \u7684\u4e00\u4e9b\u5143\u4ef6\u5e6b\u4f60\u90e8\u5c6c\u4ee5\u53ca\u7dad\u904b\u4e00\u500b\u53ef\u7528\u65bc\u5be6\u969b\u751f\u7522\u74b0\u5883\u7684 OpenStack Cloud\u3002<\/p>\n<p>\u76ee\u524d TripleO \u4e3b\u8981\u7531 RedHat \u7dad\u8b77\uff0c\u4e5f\u662f RedHat OpenStack Platform (RHOSP) \u7684\u4e0a\u6e38\u90e8\u5c6c\u5c08\u6848<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%9E%B6%E6%A7%8B%E6%A6%82%E8%A6%BD\"><\/span>\u67b6\u69cb\u6982\u89bd<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/docs.openstack.org\/tripleo-docs\/latest\/_images\/overview.png\" alt=\"TripleO \u90e8\u5c6c\u6a21\u5f0f\" \/><\/p>\n<p>\u5982\u525b\u525b\u6240\u63d0\u5230\u7684\uff0cTripleO \u662f &quot;OpenStack on OpenStack&quot;\uff0c\u4ea6\u5373\u662f\u4f60\u6703\u6709\u5169\u500b OpenStack \u74b0\u5883\u3002\u5176\u4e2d\u4e00\u500b\u74b0\u5883\u6211\u5011\u7a31\u4e4b\u70ba undercloud\u3002Undercloud \u5305\u542b\u4e86\u4e00\u4e9b\u5fc5\u8981\u7684 OpenStack \u5143\u4ef6\u7528\u4f86\u90e8\u5c6c\u6211\u5011\u7684 overcloud\u3002Overcloud \u662f undercloud deploy \u51fa\u4f86\u7684 OpenStack cluster\uff0c\u53ef\u4ee5\u88ab\u7528\u4f86 production, staging, test \u74b0\u5883\u7b49\u7b49\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/docs.openstack.org\/tripleo-docs\/latest\/_images\/logical_view.png\" alt=\"TripleO \u67b6\u69cb\" \/><\/p>\n<p>TripleO \u5229\u7528 OpenStack \u7684\u5e7e\u500b\u73fe\u6709\u6838\u5fc3\u7d44\u4ef6\uff0c\u5305\u62ec Nova\u3001Ironic\u3001Neutron\u3001Heat\u3001Glance \u548c Ceilometer\uff0c\u5728 baremetal \u4e0a\u90e8\u7f72 OpenStack\u3002 \u5728 undercloud \u4e2d\u4f7f\u7528 Nova \u548c Ironic \u4f86\u7ba1\u7406 overcloud infrastructure \u7684 baremetal instance\u3002 Neutron \u7528\u65bc\u63d0\u4f9b\u90e8\u7f72 overcloud \u7684\u7db2\u8def\u74b0\u5883\uff0cimages \u5b58\u5132\u5728 Glance \u4e2d\uff0cCeilometer \u6536\u96c6\u6709\u95dc\u60a8\u7684 overcloud \u7684\u76e3\u63a7\u6578\u64da\u3002<\/p>\n<p>\u4e0b\u5716\u8aaa\u660e\u5982\u4f55\u5c07 undercloud \u90e8\u5c6c\u5728\u4e00\u53f0 baremetal \u4f3a\u670d\u5668\u4e0a\u4ee5\u53ca\u5982\u4f55\u5c07 overcloud \u5206\u4f48\u5728\u591a\u53f0baremetal \u4f3a\u670d\u5668\u4e0a\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/docs.openstack.org\/tripleo-docs\/latest\/_images\/physical_view.png\" alt=\"TripleO \u8a73\u7d30\u67b6\u69cb\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"OpenStack_Charm\"><\/span>OpenStack Charm<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/object-storage-ca-ymq-1.vexxhost.net\/swift\/v1\/6e4619c416ff4bd19e1c087f27a43eea\/www-images-prod\/project-mascots\/Openstack-charms\/OpenStack_Project_Charms_vertical.png\" alt=\"\" \/><\/p>\n<p>\u5982\u540c\u525b\u525b TripleO \u662f\u4e3b\u8981\u7531 RedHat \u7dad\u8b77\u7684 OpenStack \u90e8\u5c6c\u5de5\u5177\uff0cOpenStack Charms \u5c31\u662f Canonical (Ubuntu \u767c\u884c\u7248\u80cc\u5f8c\u7684\u516c\u53f8) \u4e3b\u8981\u7dad\u8b77\u7684 OpenStack \u90e8\u5c6c\u5de5\u5177\u3002<\/p>\n<p>\u7c21\u55ae\u4f86\u8b1b\uff0cCharmed OpenStack \u662f\u4e00\u500b production ready \u7684 OpenStack \u767c\u884c\u7248\uff0c\u5b83\u5229\u7528 MAAS\u3001Juju \u548c OpenStack Charm \u4f86\u7c21\u5316 OpenStack \u96f2\u7684\u90e8\u7f72\u548c\u7ba1\u7406\u3002<\/p>\n<p>OpenStack Charm \u900f\u904e Juju \u4e2d\u7684\u5404\u500b\u4e0d\u540c Charms \u4f86\u90e8\u5c6c\u5176\u6574\u500b\u74b0\u5883\uff0c\u6240\u4ee5\u76ee\u524d\u662f\u53ea\u80fd\u5b89\u88dd\u5728 Ubuntu \u4e4b\u4e0a\u3002\u7531\u65bc\u7b46\u8005\u6bd4\u8f03\u6c92\u6709\u4f7f\u7528 Juju \u7684\u7d93\u9a57\uff0c\u5728\u9019\u88e1\u5c31\u4e0d\u591a\u505a\u4ecb\u7d39\uff0c\u60f3\u66f4\u4e86\u89e3 OpenStack Charms \u5982\u4f55\u90e8\u5c6c\u6216\u662f\u60f3\u6e2c\u8a66\u770b\u770b\u7684\u53ef\u4ee5\u770b<a href=\"https:\/\/docs.openstack.org\/charm-guide\/latest\/\">\u5b98\u65b9\u6587\u4ef6<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%B0%8F%E7%B5%90\"><\/span>\u5c0f\u7d50<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u4ee5\u4e0a\u5169\u500b\u90e8\u5c6c OpenStack \u7684\u65b9\u5f0f\u662f\u7531\u5169\u5927\u958b\u6e90\u516c\u53f8 RedHat \u548c Canonical \u5404\u81ea\u7dad\u8b77\u7684\uff0c\u4e5f\u662f\u5176\u4ed8\u8cbb\u767c\u884c\u7248\u7684\u4e0a\u6e38\u7248\u672c\uff0c\u800c\u6211\u5011\u5c07\u5728\u4e0b\u4e00\u7bc7\u4ecb\u7d39\u5269\u4e0b\u7684\u90e8\u5c6c\u5de5\u5177\u3002\u4e0b\u4e00\u7bc7\u6240\u4ecb\u7d39\u7684\u90e8\u5c6c\u5de5\u5177\u6bd4\u8f03\u504f\u5411\u793e\u7fa4\u7dad\u8b77\uff0c\u4f46\u662f\u6709\u5927\u91cf\u4f7f\u7528\u8005\u4e5f\u662f\u793e\u7fa4\u666e\u904d\u8a8d\u53ef\u5df2\u7d93\u4f7f\u7528\u904e\u5728\u751f\u7522\u74b0\u5883\u4e0a\u7684\u5de5\u5177\u3002<\/p>\n<hr \/>\n<p>Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0a\u4e00\u7bc7\u6211\u5011\u4ecb\u7d39\u4e86 DevStack \u8ddf MicroStack \u9019\u5169\u500b\u975e\u5e38\u5bb9\u6613\u4e0a\u624b\u4f46\u662f\u6bd4\u8f03\u504f\u5411\u958b\u767c\u6e2c\u8a66\u4f7f\u7528\u7684\u90e8\u5c6c\u65b9\u5f0f\u3002\u4eca\u5929\u7b46\u8005\u6703\u4f86\u4ecb\u7d39 TripleO \u8ddf OpenStack Charms \u9019\u5169\u500b\u6709\u5f37\u5927\u5ee0\u5546\u5f8c\u76fe\u7684\u90e8\u5c6c\u5de5\u5177 TripleO TripleO \u662f &quot;OpenStack on OpenStack&quot; \u7684\u7e2e\u5beb\u3002\u5b83\u662f OpenStack \u4e2d\u5176\u4e2d\u4e00\u500b project\uff0c\u5176\u4e3b\u8981\u529f\u80fd\u5c31\u662f\u900f\u904e OpenStack \u7684\u4e00\u4e9b\u5143\u4ef6\u5e6b\u4f60\u90e8\u5c6c\u4ee5\u53ca\u7dad\u904b\u4e00\u500b\u53ef\u7528\u65bc\u5be6\u969b\u751f\u7522\u74b0\u5883\u7684 OpenStack Cloud\u3002 \u76ee\u524d TripleO \u4e3b\u8981\u7531 RedHat \u7dad\u8b77\uff0c\u4e5f\u662f RedHat OpenStack Platform (RHOSP) \u7684\u4e0a\u6e38\u90e8\u5c6c\u5c08\u6848 \u67b6\u69cb\u6982\u89bd \u5982\u525b\u525b\u6240\u63d0\u5230\u7684\uff0cTripleO \u662f &quot;OpenStack on OpenStack&quot;\uff0c\u4ea6\u5373\u662f\u4f60\u6703\u6709\u5169\u500b OpenStack \u74b0\u5883\u3002\u5176\u4e2d\u4e00\u500b\u74b0\u5883\u6211\u5011\u7a31\u4e4b\u70ba undercloud\u3002Undercloud \u5305\u542b\u4e86\u4e00\u4e9b\u5fc5\u8981\u7684 OpenStack \u5143\u4ef6\u7528\u4f86\u90e8\u5c6c\u6211\u5011\u7684 overcloud\u3002Overcloud \u662f undercloud deploy \u51fa\u4f86\u7684 OpenStack cluster\uff0c\u53ef\u4ee5\u88ab\u7528\u4f86 production, staging, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":660,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/object-storage-ca-ymq-1.vexxhost.net\/swift\/v1\/6e4619c416ff4bd19e1c087f27a43eea\/www-images-prod\/project-mascots\/Tripleo\/OpenStack_Project_Tripleo_vertical.jpg","fifu_image_alt":"\u5f9e\u88f8\u6a5f\u5230\u96f2\u7aef\uff1aOpenStack \u90e8\u5c6c\u5de5\u5177 2","footnotes":""},"categories":[13,4],"tags":[],"class_list":["post-658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-openstack"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/posts\/658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/comments?post=658"}],"version-history":[{"count":5,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/posts\/658\/revisions"}],"predecessor-version":[{"id":667,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/posts\/658\/revisions\/667"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/media\/660"}],"wp:attachment":[{"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/media?parent=658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/categories?post=658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/igene.tw\/wp-json\/wp\/v2\/tags?post=658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}