對於Juju/Openstack,我可以將相同的charm部署到多個節點嗎?

對於Juju/Openstack,我可以將相同的charm部署到多個節點嗎?

我有一個簡單的魅力 A,它由一個鉤子(安裝)組成,它有一個 bash 腳本,用於安裝第三方軟體/驅動程序,以便安裝在某些節點上的附加硬體。

我希望管理員能夠將超級按鈕部署到這些特定節點,但當我將相同的超級按鈕部署到不同的電腦時,Juju 會抱怨。

另一種方法是更痛苦的方法 - 手動透過 SSH 連接到每個節點並執行安裝 bash 腳本。

那麼有沒有辦法在多個節點上安裝同一個Juju charm呢?

答案1

是的,做到這一點的最佳方法是讓您的魅力成為在與其相關的一組機器上運行的應用程式的「從屬」。

從屬超級按鈕“耦合”到普通應用程式超級按鈕,並且它會安裝在安裝“普通”應用程式超級按鈕的任何位置。通常,它用於將應用程式連接到某種輔助系統,例如監控系統。一旦建立了從屬關係,每當主應用程式擴展到更多機器時,從屬應用程式也會隨之而來。

因此,在您的範例中,您可能有一個主應用程序,例如 OpenStack 中的虛擬機器管理程式控制器“nova-compute”,它運行在與您的程式碼相關的電腦上。您將您的魅力設為從屬,然後將其與 nova-compute 關聯部署。現在,您的程式碼無所不在 nova-compute 所到之處。

有一些併發症需要注意。主應用程式將首先安裝,然後是您的從屬應用程序,因此如果您需要先運行程式碼,那麼您需要以不同的方式進行操作。在這種情況下,請將您的程式碼設為主要應用程式魅力並首先部署它。然後使用「juju deploy foo --to X」手動將其他 charm 單元放置在同一台電腦上,其中 X 是一台已經安裝了您的應用程式的電腦。後一種方法非常繁瑣,因為您需要決定所有內容的去向,並明確地將其放在那裡。

相關內容