启用 Kubernetes 治理

通过启用治理服务,您可以选择在 IBM® API Connect 中对 Kubernetes、 OpenShift, 或 IBM Cloud Pak for Integration 部署配置治理

关于此任务

治理服务是 API Connect 的可选插件,可用于验证和执行组织治理政策以及 API 开发流程的最佳实践。

注:
  • 这些说明仅适用于 Kubernetes、 OpenShift, 和 IBM Cloud Pak for Integration 安装。
  • 在启用 管理 服务之前,无法将治理规则集添加到部署中。
  • 如果使用双数据中心灾难恢复 2DCDR ) 部署,则必须在活动中心和热备用中心都启用治理服务。 首先在热备用数据中心上启用服务,然后在活动中心上启用。
要启用或禁用治理服务,必须配置管理子系统自定义资源 (CR) 文件。 请参阅以下指示信息:

启用治理服务后,即可创建治理资源。 有关更多信息,请参阅云管理器中配置治理 ,以及API 管理器中配置治理

过程

  • 作为新部署的一部分启用治理服务

    编辑管理子系统的 CR 文件并添加治理服务的设置。

    1. 编辑 ManagementCluster CR,为治理服务添加以下定义。 将治理定义附加到 spec: 部分的末尾,确保与文件中使用的间距一致。
      spec:
        ...
        governance:
          enabled: true
    2. 作为标准管理子系统安装的一部分,运行以下命令来应用更新的 CR(详见安装管理子系统 ):
      kubectl apply -f management_cr.yaml -n <management_namespace>
      其中 management_namespace 是 Kubernetes 集群中目标安装名称空间的名称。

      治理服务将通过管理子系统启用。

    3. 您可以通过运行以下命令来监视 Kubernetes 部署:
      kubectl get deployments -n <management_namespace>
      management-compliance pod 显示在返回值列表中时,安装完成。
  • 作为现有部署的一部分启用治理服务
    编辑管理子系统的已部署 CR,并添加治理服务的设置。
    注意: 在现有部署中启用治理功能时,用户界面需要大约 15 分钟来重新启动 pod 并显示新功能。 在此期间,用户界面将出现故障。
    1. 通过运行以下命令,检索管理子系统的已部署 CR 的名称:
      kubectl get managementcluster -n <management_namespace>
      其中 management_namespace 是 Kubernetes 集群中目标安装名称空间的名称。
    2. 通过运行以下命令,编辑已部署的 CR:
      kubectl edit managementcluster <management-cr-name> -n <management_namespace>
      其中:
      • management-cr-name 是管理子系统的已部署 CR 的名称。
      • management_namespace 是 Kubernetes 集群中目标安装名称空间的名称。
    3. 在编辑器中,将治理定义添加到 spec: 部分的末尾,确保与文件中使用的间距一致。
      spec:
        ...
        governance:
          enabled: true
    4. 保存更新。

      治理服务已在管理子系统中启用。

    5. 您可以通过运行以下命令来监视 Kubernetes 部署:
      kubectl get deployments -n <management_namespace>
      management-compliance pod 显示在返回值列表中时,安装完成。
  • 禁用治理服务

    编辑管理子系统的已部署 CR,更新治理服务的设置。

    1. 通过运行以下命令,检索管理子系统的已部署 CR 的名称:
      kubectl get managementcluster -n <management_namespace>
      其中 management_namespace 是 Kubernetes 集群中目标安装名称空间的名称。
    2. 通过运行以下命令,编辑已部署的 CR:
      kubectl edit managementcluster <management-cr-name> -n <management_namespace>
      其中:
      • management-cr-name 是管理子系统的已部署 CR 的名称。
      • management_namespace 是 Kubernetes 集群中目标安装名称空间的名称。
    3. 在编辑器中,将治理定义更改为 enabled: false
      spec:
        ...
        governance:
          enabled: false
    4. 保存更新。

      管理子系统中的治理服务已禁用。

结果

请注意,启用治理服务后, ManagementCluster 命名空间中会出现一些新的部署、作业和 pod。 这些 Kubernetes 治理资源的名称包含 compliance-servicecompliance-ui 。 例如:
kubectl get pods -n apic | grep compliance
management-compliance-service-f6cdf95fc-t4qkx                     1/1     Running     0          127m
management-compliance-ui-59897fcc4-zm25v                          1/1     Running     0          126m
management-up-compliance-service-data-populate-0-to-1-t2f4d       0/1     Completed   1          132m
management-up-compliance-service-schema-0-to-1-2lkqq              0/1     Completed   0