Product Documentation

중첩된 구성 요소

Oct 20, 2016

다른 구성 요소 안에 구성 요소를 중첩하면 중첩된 구성 요소에서 상위 구성 요소에 의해 생성된 구성 개체나 컨텍스트를 참조하여 구성 개체를 만들 수 있습니다. 중첩된 구성 요소는 상위 구성 요소에 만들어진 각 개체에 대해 하나 이상의 개체를 만들 수 있습니다. 다른 구성 요소 내에 구성 요소를 중첩해도 만든 구성 개체 간에는 어떤 관계도 나타내지 않습니다. 중첩은 상위 구성 요소의 기존 컨텍스트 내에서 구성 개체를 생성하여 구성 요소 작업을 간소화하는 방법입니다.


예제:

components:

 -

   name: my-lbvserver-comp

   type: ns::lbvserver

   properties:

        name: $parameters.name + "-lb"

        servicetype: HTTP

        ipv46: $parameters.ip

        port: 80

        lbmethod: $parameters.lb-alg

        components:

                 -

                   name: my-svcg-comp

                   type: ns::servicegroup

                   properties:

                         name: $parameters.name + "-svcgrp"

                         servicetype: HTTP

                  components:

                         -

                            name: lbvserver-svg-binding-comp

                            type: ns::lbvserver_servicegroup_binding

                            properties:

                                  name: $parent.parent.properties.name

                                  servicegroupname: $parent.properties.name

                         -

                            name: members-svcg-comp

                            type: ns::servicegroup_servicegroupmember_binding

                            repeat:

                                   repeat-list: $parameters.svc-servers

                                   repeat-item: srv

                            properties:

                                    ip: $srv

                                    port: str($parameters.svc-port)

                                    servicegroupname: $parent.properties.name


이 예제에서는 다중 수준 중첩이 사용됩니다. 구성 요소 my-lbvserver-comp에 my-svcg-comp라는 하위 구성 요소가 있습니다. my-svcg-comp 구성 요소 안에는 두 개의 하위 구성 요소가 있습니다. my-svcg-comp 구성 요소는 기본 제공 NITRO 리소스 유형 "servicegroup"의 특성에 값을 제공하여 NetScaler 인스턴스에 서비스 그룹 구성 개체를 만들 때 사용됩니다. my-svcg 구성 요소의 첫 번째 하위 구성 요소인 lbvserver-svg-binding-comp는 상위 구성 요소에 의해 만들어진 서비스 그룹을 상위 구성 요소의 상위 구성 요소에 의해 만들어진 부하 분산 가상 서버(lbvserver)에 바인딩하는 데 사용됩니다. 상위 구성 요소의 엔터티를 참조할 때는 상위 참조라고도 하는 $parent 표기법이 사용됩니다. 두 번째 하위 구성 요소인 members-svcg-comp는 서비스 목록을 상위 구성 요소가 만든 서비스 그룹에 바인딩하는 데 사용됩니다. 이 바인딩은 svc-servers 매개 변수에 지정된 서비스 목록을 반복하는 StyleBook의 repeat 구조를 통해 수행됩니다. repeat 구조에 대한 자세한 내용은 Repeat 구조를 참조하십시오.

구성 요소 중첩을 사용하지 않고 동일한 구성 개체를 만들 수도 있습니다. 자세한 내용 및 예제에 대해서는 기본 부하 분산 구성을 만드는 StyleBook을 참조하십시오.