OCM Cluster-Gateway Manager

OCM Cluster-Gateway Manager 插件在管理集群中安装了一个 operator 组件,帮助管理员通过自定义资源 ClusterGatewayConfiguration 轻松操作集群网关实例的配置。 警告:此插件将在首次安装时重新启动集群网关实例。

Cluster-Gateway Manager 可以做什么?

它可以在以下几个方面来帮助我们:

  • 自动轮换集群网关服务器的 TLS 证书。
  • 自动发现新集群。
  • 结构化集群网关的组件配置。
  • 管理集群网关访问每个集群的“出口认证”。

请注意,由 cluster-gateway 代理的请求将使用open-cluster-management-managed-serviceaccount/cluster-gateway的身份访问托管集群,并且默认情况下具有 cluster-admin 权限,因此请注意这一点。

如何确定插件是正常运转的?

运行以下命令来检查插件的健康状况:

  1. $ kubectl -n <cluster> get managedclusteraddon
  2. kubectl get managedclusteraddon -A
  3. NAMESPACE NAME AVAILABLE DEGRADED PROGRESSING
  4. <cluster> cluster-gateway True
  5. <cluster> cluster-proxy True
  6. <cluster> managed-serviceaccount True

如果一次要浏览的集群太多,请通过下面的命令来安装二进制命令clusteradm

  1. curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash

然后通过运行下面的命令来获取多集群插件状态:

  1. $ clusteradm get addon
  2. <ManagedCluster>
  3. └── managed1
  4. └── cluster-gateway
  5. ├── <Status>
  6. ├── Available -> true
  7. ├── ...
  8. ├── <ManifestWork>
  9. └── clusterrolebindings.rbac.authorization.k8s.io
  10. ├── open-cluster-management:cluster-gateway:default (applied)
  11. └── ...
  12. └── cluster-proxy
  13. ├── <Status>
  14. ├── Available -> true
  15. ├── ...
  16. ├── <ManifestWork>
  17. └── ...
  18. └── managed-serviceaccount
  19. └── <Status>
  20. ├── Available -> true
  21. ├── ...
  22. └── <ManifestWork>
  23. └── ...

ClusterGatewayConfiguration API 配置示例

你可以通过以下命令来查看或编辑集群网关部署的整体配置信息:

  1. $ kubectl get clustergatewayconfiguration -o yaml
  2. apiVersion: v1
  3. kind: List
  4. items:
  5. - apiVersion: proxy.open-cluster-management.io/v1alpha1
  6. kind: ClusterGatewayConfiguration
  7. metadata: ...
  8. spec:
  9. egress:
  10. clusterProxy:
  11. credentials:
  12. namespace: open-cluster-management-addon
  13. proxyClientCASecretName: proxy-server-ca
  14. proxyClientSecretName: proxy-client
  15. proxyServerHost: proxy-entrypoint.open-cluster-management-addon
  16. proxyServerPort: 8090
  17. type: ClusterProxy
  18. image: oamdev/cluster-gateway:v1.1.11
  19. installNamespace: vela-system
  20. secretManagement:
  21. managedServiceAccount:
  22. name: cluster-gateway
  23. type: ManagedServiceAccount
  24. secretNamespace: open-cluster-management-credentials