安装 Alauda DevOps
本指南提供安装 Alauda DevOps 的详细步骤。
目录
前提条件命名空间安全策略要求安装 Operator部署位置操作步骤Katanomi 参数说明常见问题由于只读根文件系统导致 Katanomi Pod 启动失败:/cpaas 目录不可写如何为 Katanomi 配置自定义调度策略在部署 Katanomi 时如何配置自定义 ImagePullSecret前提条件
在继续之前,请确保已上传 Alauda DevOps v3 operator。
有关上传 operator 的更多信息,请参考 Uploading Operators
命名空间安全策略要求
-
Katanomi 仅支持创建一个实例。该实例可以部署到任意命名空间,但必须满足以下条件:
- 命名空间资源充足
- 命名空间配置了特权安全策略
-
Katanomi Operator 要求命名空间使用特权安全策略配置才能正常工作。此要求基于组件对特权容器和 hostPath 卷挂载的依赖。
根本原因:Katanomi Operator 组件需要特权容器访问和 hostPath 卷挂载(审计日志目录)才能正常运行:
- 特权容器:多个 Katanomi Operator 部署使用了
privileged: true安全上下文:apiserver deployment- API server 部署需要privileged: true,用于对审计日志目录执行chownapi deployment- API 部署使用privileged: true,用于对审计日志目录执行chowndevops-api deployment- DevOps API 部署需要privileged: true,用于对审计日志目录执行chownbuild-image-buildkit-v1tasks - 构建任务显式使用privileged: true,以支持容器镜像构建能力
- 特权容器:多个 Katanomi Operator 部署使用了
安装 Operator
前往平台的 Administrator -> Marketplace -> OperatorHub 页面,搜索 Alauda DevOps v3,然后单击 operator 卡片进入 operator 详情页。
单击 Install 安装该 operator。
部署位置
在 Global Cluster 中部署 Katanomi 实例。Business Cluster 可按需部署实例以支持 CI/CD。
操作步骤
创建 Katanomi 实例
仅支持一个 Katanomi 实例。
-
Global Cluster:部署在
cpaas-system命名空间中。将ExternalURL设置为global集群的Platform URL,并将Service.Type设置为Ingress。 -
Business Cluster:可部署在除
cpaas-system之外的任意命名空间中。
-
登录
Alauda Container Platform平台。 -
导航到
Platform Management下的 Clusters 选项卡。 -
选择已部署的集群并单击 CLI Tools。
-
创建 Katanomi 实例(按需调整参数)
Global Cluster
Business Cluster
- 等待 DevOps 实例就绪
CI/CD 功能准备
在开始使用 Alauda DevOps 的构建和发布流水线功能之前,平台管理员需要完成一些准备工作。
部署 Alauda DevOps v3 后,请参考平台内的文档:<Platform URL>/console-devops-docs/en/devops-initialization/cicd/init/
Katanomi 参数说明
常见问题
由于只读根文件系统导致 Katanomi Pod 启动失败:/cpaas 目录不可写
Katanomi 需要对主机系统上的 /cpaas 目录具有写入权限,以存储审计日志。如果 Pod 无法向该目录写入,则会启动失败。
要解决此问题,可以配置其他审计日志存储路径。例如:
此配置会指示 Katanomi 组件使用 /tmp/audit 作为审计日志存储路径,从而确保与强制使用只读根文件系统的环境兼容。请根据安全和运维要求调整该路径。
如何为 Katanomi 配置自定义调度策略
要将 Katanomi 组件调度到特定节点,请在 spec.helmValues.global 下配置 nodeSelector、tolerations 或 affinity。例如:
如果未配置这些字段,Katanomi 组件将继续使用默认调度策略。
在部署 Katanomi 时如何配置自定义 ImagePullSecret
要为 Katanomi 实例指定自定义 ImagePullSecret,请添加以下配置:
此配置可确保 Katanomi 在从私有镜像仓库拉取容器镜像时使用指定的 ImagePullSecret。请将 imagePullSecretName 替换为预先创建的、包含所需仓库凭据的 Kubernetes secret 名称。