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 实例上配置相同的情况下,可以称为对称配置。
现在,使用样书的 “实例角色” 功能,您可以创建一个非对称配置,即可在多个 ADC 实例上应用的配置包,但在不同的 ADC 实例上具有不同的配置。
当使用具有实例角色功能的样本创建配置包时,可为配置包中的每个 ADC 实例分配不同的角色。此角色确定 ADC 实例将接收的配置包的配置对象。
注意事项:
- 样本中的一组实例角色是在创建样本时定义的。
- 在创建或更新配置包时,将这些角色分配给特定 ADC 实例。
目标角色部分
在样书中引入了一个名为 “目标角色” 的新部分,其中声明了样书支持的所有角色。
此部分通常放在样书的 “导入样书” 部分之后和参数部分之前。
在以下样书示例中,在 “目标角色” 部分中定义了两个角色-A 和 B。
target-roles:
-
name: A
name: B
min-targets: 2
max-targets: 5
<!--NeedCopy-->
您可以看到角色 B 还定义了两个可选子属性,即最小目标和最大目标。
虽然这两个子属性是可选的,但最小目标指定在从此样本创建配置包时应分配此角色的 ADC 实例的最小必需数量,最大目标指定在创建配置包时可分配此角色的最大 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”,该 “lbvserver” 将在扮演角色 A 的实例上部署。请注意,组件的角色属性是一个列表,可以为组件分配多个角色。这些角色将在样书的 “目标角色” 部分中声明。
注意:如果样书中的某个组件未指定角色属性,则无论其角色如何,都会在所有 Citrix ADC 实例上创建由该组件生成的配置对象。您可以有效地使用此功能创建可应用于 configpack 的所有实例的配置对象。
让我们假设有一个定义了两个角色的样书-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 部署在所有实例上,而不考虑角色如何,因为此组件没有角色属性。
下图显示了创建示例配置包时角色的分配:
您还可以在创建配置包时使用 “干运行” 功能来查看和验证将在每个 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.