Import OpenShift Cluster
支持将已部署的 OpenShift 集群接入平台,实现统一管理。
目录
前提条件
-
集群的 Kubernetes 版本和参数必须满足标准 Kubernetes 集群要求。
-
集成过程中需要使用 kubectl 命令,请在能访问集群的堡垒机上安装该 CLI 工具。
-
为实现对节点、工作负载(Deployment、StatefulSet、DaemonSet)、Pod 和容器等指标的实时监控,确保目标集群已部署 Prometheus。
获取 Registry 地址
检查是否需要额外的 Registry 配置
-
执行以下命令,检查 Registry 是否支持 HTTPS 且使用受信任的 CA 证书:
REGISTRY=<registry-address-from-previous-step>
if curl -s -o /dev/null --retry 3 --retry-delay 5 -- "https://${REGISTRY}/v2/"; then
echo 'Pass: Registry uses a trusted CA certificate. No extra config needed.'
else
echo 'Fail: Registry does not support HTTPS or uses an untrusted certificate. Follow "Trust Insecure Registry".'
fi
-
若检查失败,请按以下步骤操作。
信任不安全的 Registry
-
登录所有 OCP 集群节点。
-
在每个节点上配置 Registry 设置:
sudo -i
sudo chattr -i /
sudo mkdir -p /etc/systemd/system/crio.service.d/
cat | sudo tee /etc/systemd/system/crio.service.d/99-registry-cpaas-system.conf << 'EOF'
[Service]
ExecStart=
ExecStart=/usr/bin/crio \
--insecure-registry='<registry-address>' \ # 例如 registry.example.cn:60080 或 192.168.134.43
$CRIO_CONFIG_OPTIONS \
$CRIO_RUNTIME_OPTIONS \
$CRIO_STORAGE_OPTIONS \
$CRIO_NETWORK_OPTIONS \
$CRIO_METRICS_OPTIONS
EOF
-
重启 crio 服务:
sudo systemctl daemon-reload && sudo systemctl restart crio
配置集群的 DNS
修改 global 集群中的 CoreDNS ConfigMap 来配置 DNS。
-
在堡垒机上获取 OCP 集群的基础域名:
oc get dns cluster -o jsonpath='{.spec.baseDomain}'
示例输出:
-
登录平台管理控制台,切换到 global 集群,进入 集群管理 > 资源管理。
-
编辑 kube-system 命名空间下的 cpaas-coredns ConfigMap。
使用 OCP 基础域名和 DNS 服务器地址(取自集群节点的 /etc/resolv.conf)添加新的配置块。
示例:
Corefile: |
ocp.example.com:1053 {
log
forward . 192.168.31.220
}
.:1053 {
log
forward . 192.168.31.220
}
获取集群信息
可选择以下方式之一:
方式一(推荐):获取 KubeConfig 文件
-
在堡垒机上查找 kubeconfig 文件,确认其中包含管理员上下文。
-
将 kubeconfig 文件从堡垒机复制到本地机器:
scp root@<bastion-ip>:</path/to/kubeconfig> <local-path>
方式二:使用 Token、API Server 地址和 CA 证书
参见如何获取集群信息?。
导入集群
-
在左侧导航栏进入 集群管理 > 集群。
-
点击 导入集群。
-
配置参数:
| 参数 | 说明 |
|---|
| Registry | 存储平台组件镜像的 Registry。平台默认:global 安装时配置的 Registry。私有 Registry:需填写 Registry 地址、端口、用户名和密码。公共 Registry:需更新云端凭据。 |
| 集群信息 | 上传 KubeConfig 文件或手动填写。集群地址:API Server 地址。CA 证书:Base64 解码后的 CA 证书。认证方式:token 或具备 cluster-admin 权限的客户端证书。 |
-
点击 检测连通性。
-
若成功,点击 导入。可在执行日志中查看进度。导入完成后,集群状态显示正常。
网络配置
确保 global 集群与导入集群之间的网络连通。详见导入集群的网络配置。
部署插件
集成成功后,进入 Marketplace 部署所需插件,如监控、日志采集和日志存储。
部署日志采集前,请确保 /var/cpaas/ 剩余空间大于 50GB:
更新审计策略
可修改集群的审计策略(spec.audit.profile):
- Default:记录读写请求的元数据(OAuth 访问令牌创建时记录请求体)。
- WriteRequestBodies:记录所有请求的元数据及写请求的请求体。
- AllRequestBodies:记录所有请求的元数据和请求体。
敏感资源(如 Secrets、Routes、OAuthClient)仅记录元数据。
更新命令:
oc edit apiserver cluster
常见问题
为什么“添加节点”按钮是禁用状态?
平台 UI 不支持添加节点,请使用厂商提供的方法。
支持哪些证书?
- Kubernetes 证书:仅可见 API Server 证书,无自动轮换。
- 平台组件证书:可见且支持自动轮换。
OpenShift 集群不支持哪些功能?
- 审计数据采集。
- ETCD、Scheduler、Controller Manager 监控(仅支持 API Server 指标)。
- API Server 以外的证书管理。