Juju/Openstack의 경우 동일한 Charm을 여러 노드에 배포할 수 있나요?

Juju/Openstack의 경우 동일한 Charm을 여러 노드에 배포할 수 있나요?

일부 노드에 설치될 추가 하드웨어용 타사 소프트웨어/드라이버를 설치하는 bash 스크립트가 있는 단일 후크(설치)로 구성된 간단한 매력 A가 있습니다.

관리자가 해당 특정 노드에 매력을 배포할 수 있었으면 좋겠지만 동일한 매력을 다른 컴퓨터에 적용하면 Juju가 불평합니다.

대안은 훨씬 더 고통스러운 방법입니다. 각 노드에 수동으로 SSH를 연결하고 bash 설치 스크립트를 실행하는 것입니다.

그렇다면 여러 노드에 동일한 Juju 매력을 설치하는 방법이 있습니까?

답변1

예, 이를 수행하는 가장 좋은 방법은 귀하의 매력을 관련된 기계 세트에서 실행되는 응용 프로그램의 "하위"로 만드는 것입니다.

하위 참은 일반 응용 프로그램 참과 "결합"되어 "일반" 응용 프로그램 참이 설치된 모든 곳에 설치됩니다. 일반적으로 모니터링 시스템과 같은 일종의 보조 시스템에 앱을 연결하는 데 사용됩니다. 종속 관계를 설정하고 나면 기본 응용 프로그램이 더 많은 시스템으로 확장될 때마다 종속 관계도 따라오게 됩니다.

따라서 귀하의 예에는 코드와 관련된 시스템에서 실행되는 OpenStack의 하이퍼바이저 컨트롤러 "nova-compute"와 같은 기본 애플리케이션이 있을 수 있습니다. 매력을 하위로 만든 다음 nova-compute와 연결하여 배포합니다. 이제 귀하의 코드는 nova-compute가 가는 모든 곳에 있습니다.

알아야 할 합병증이 있습니다. 기본 애플리케이션이 먼저 설치되고 그 다음 하위 애플리케이션이 설치되므로 코드를 먼저 실행해야 하는 경우 다르게 수행해야 합니다. 이 경우 코드를 기본 애플리케이션 참으로 만들고 먼저 배포하세요. 그런 다음 "juju Deploy foo --to X"를 사용하여 동일한 시스템에 다른 참 유닛을 수동으로 배치합니다. 여기서 X는 이미 앱이 있는 시스템입니다. 후자의 접근 방식은 모든 것이 어디로 가는지 결정하고 명시적으로 배치해야 하기 때문에 매우 까다롭습니다.

관련 정보