This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
实例角色
在 Citrix Application Delivery Management (ADM) 中,可能出现一种情况,即您必须为单个应用程序配置多个 Citrix ADC 实例,但每个 ADC 实例都需要在其上部署不同的配置。这种情况下的一个示例是默认的 Microsoft Skype for Business 样本。
样书目前支持创建配置包并在多个 Citrix ADC 实例上应用相同配置的功能。在所有 ADC 实例上配置相同的情况下,可以称为对称配置。
现在,借助 StyleBooks 的 “实例角色” 功能,您可以创建不对称配置,即可应用于多个 ADC 实例的配置包,但在不同的 ADC 实例上使用不同的配置。
当使用带实例角色的样书功能创建配置包时,可以为配置包中的每个 ADC 实例分配不同的角色。此角色决定 ADC 实例将接收的配置包的配置对象。
注意事项:
- 样本中的一组实例角色是在创建样本时定义的。
- 创建或更新配置包时,角色会分配给特定 ADC 实例。
目标角色部分
样本中引入了一个名为 “目标角色” 的新部分,其中声明样本支持的所有角色。
此部分通常位于样本的 “导入样本” 部分之后,以及参数部分之前。
在以下样本示例中,在 “目标角色” 部分中定义了两个角色-A 和 B。
target-roles:
-
name: A
name: B
min-targets: 2
max-targets: 5
<!--NeedCopy-->
您可以看到角色 B 还定义了两个可选子属性,即最小目标和最大目标。
尽管这两个子属性是可选的,但最小目标指定在使用此样书创建配置包时要分配此角色的 ADC 实例的最小强制数量,而 max-target 指定在创建配置包时可以分配此角色的 ADC 实例的最大数量来自这本样书。
如果未指定这些子属性,则可以为该角色配置的 ADC 实例数量没有限制。如果最小目标 = 0,则与该角色关联的配置是可选的,如果最小目标 = 1,则该配置是强制性的,至少需要为该角色配置一个 ADC 实例。
角色 “默认”
除了明确定义的角色之外,还有一个所有样本都具有的隐式角色,并且该角色被称为默认角色。此角色可以像样本中的任何其他角色一样使用。创建配置包时,如果没有为 ADC 实例分配特定角色,则该实例将隐式分配给 “默认” 角色。实例现在将接收由具有 “默认” 角色的组件生成的任何配置对象。
具有角色的组件
定义样本可支持的角色(包括角色 “默认”)后,可以在样本的组件部分中使用这些角色。如果希望仅在发挥特定角色的 ADC 实例上部署组件,则可以将角色属性指定为组件的一部分,如以下组件示例所示:
-
name: C1
type: ns::lbvserver
roles:
- A
properties:
name: lb1
servicetype: HTTP
ipv46: 1.1.1.1
port: 80
<!--NeedCopy-->
在上面的示例中,组件生成的 lbvserver
将部署在扮演角色 A 的实例上的组件。请注意,组件的角色属性是一个列表,可以为组件分配多个角色。这些角色将在样本的 “目标角色” 部分中声明。
注意:如果样本中的组件未指定角色属性,则无论其角色如何,都会在所有 Citrix ADC 实例上创建由组件生成的配置对象。您可以有效地使用此功能创建可应用于配置包的所有实例的配置对象。
我们假设有一个样本,其中定义了两个角色-A 和 B,其中包含四个组件。
- 组件 C1 具有角色 A 和 B
- 组件 C2 具有 B 的作用
- 组件 C3 没有定义任何角色
- 组件 C4 具有 “默认” 角色
本样本的组成部分转载如下:
components:
-
name: C1
type: ns::lbvserver
roles:
- A
- B
properties:
name: lb1
servicetype: HTTP
ipv46: 1.1.1.1
port: 80
-
name: C2
type: ns::lbvserver
roles:
- B
properties:
name: lb2
servicetype: HTTP
ipv46: 12.12.12.12
port: 80
-
name: C3
type: ns::lbvserver
properties:
name: lb3
servicetype: HTTP
ipv46: 13.13.13.13
port: 80
-
name: C4
type: ns::lbvserver
roles:
- default
properties:
name: lb4
servicetype: HTTP
ipv46: 14.14.14.14
port: 80
<!--NeedCopy-->
请注意,组件 C3 没有定义角色,这意味着组件部署在所有实例上,无论其角色如何。另一方面,组件 C4 具有 “默认” 角色,这意味着它适用于没有分配明确角色的任何实例。
现在,考虑您想使用此样书创建一个配置包,然后将其部署在五个 ADC 实例上。在此阶段,您可以通过以下方式将角色分配给实例:
- 角色 A 分配给实例 T1、T2、T3 和 T4
- 角色 B 分配给实例 T2、T3 和 T4
- 实例 T5 未分配任何角色
下图总结了角色分配,并显示了每个 ADC 实例将收到的结果配置:
请注意,组件 C3 部署在所有实例上,而不考虑角色如何,因为此组件没有角色属性。
下图显示了创建示例配置包时角色的分配:
在创建配置包时,您还可以使用 “Dry Run” 功能来查看和验证角色分配的正确性以及将在每个 ADC 实例上创建的配置对象。
构建您的样本
样本 “演示目标角色” 的全部内容如下:
---
name: demo-target-roles
namespace: com.example.stylebooks
version: "1.2"
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: appname
type: string
required: true
key: true
target-roles:
-
name: A
-
name: B
min-targets: 2
max-targets: 5
components:
-
name: C1
type: ns::lbvserver
roles:
- A
- B
properties:
name: lb1
servicetype: HTTP
ipv46: 1.1.1.1
port: 80
-
name: C2
type: ns::lbvserver
roles:
- B
properties:
name: lb2
servicetype: HTTP
ipv46: 12.12.12.12
port: 80
-
name: C3
type: ns::lbvserver
properties:
name: lb3
servicetype: HTTP
ipv46: 13.13.13.13
port: 80
-
name: C4
type: ns::lbvserver
roles:
- default
properties:
name: lb4
servicetype: HTTP
ipv46: 14.14.14.14
port: 80
<!--NeedCopy-->
下图显示了为示例配置包创建的对象:
使用 API
使用 REST API 时,您可以在创建或更新配置包时为每个 ADC 实例指定角色,如下所示。在 “目标” 块中,指定要在其上部署各个组件的特定 Citrix ADC 实例的 UUID。
"targets": [
{
"id": "<ADC-UUID>",
"roles": ["A"]
},
]
<!--NeedCopy-->
提供了完整的 REST API 示例供您参考。
POST /<ADM-IP
>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/1.2/demo-target-roles/configpacks
{
"configpack": {
"parameters": {
"appname": "app1"
},
"targets": [
{
"id": "f53c35c3-a6bc-4619-b4b4-ad7ab6a94ddb",
"roles": ["A"]
},
{
"id": "c08caa1c-1011-48aa-b8c7-9aed1cd38ed0",
"roles": ["A", "B"]
},
{
"id": "88ac90cb-a5cb-445b-8617-f83d0ef6174e",
"roles": ["A", "B"]
},
{
"id": "bf7b0f74-7a83-4856-86f4-dcc951d3141e",
"roles": ["A", "B"]
},
{
"id": "fa5d97ab-ca29-4adf-b451-06e7a234e3da",
"roles": ["default"]
}
]
}
}
<!--NeedCopy-->
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select Do Not Agree to exit.