5.5.2.2. 创建一个项目
使用 Operator SDK CLI 创建名为 nginx-operator
的项目。
流程
为项目创建一个目录:
$ mkdir -p $HOME/projects/nginx-operator
进入该目录:
$ cd $HOME/projects/nginx-operator
使用
helm
插件运行operator-sdk init
命令以初始化项目:$ operator-sdk init \ --plugins=helm \ --domain=example.com \ --group=demo \ --version=v1 \ --kind=Nginx
注意默认情况下,
helm
插件使用样板 Helm Chart 初始化项目。您可以使用其他标记(如--helm-chart
标志)使用现有 Helm chart 初始化项目。init
命令创建nginx-operator
项目,专门用于监视 API 版本为example.com/v1
和 kindNginx
的资源。-
对于基于 Helm 的项目,
init
命令根据 chart 的默认清单部署的资源,在config/rbac/role.yaml
文件中生成 RBAC 规则。验证此文件生成的规则是否满足 Operator 的权限要求。
5.5.2.2.1. 现有 Helm chart
您可以使用以下标记,而不是使用样板 Helm Chart 创建项目,而是使用现有 chart(可以从本地文件系统或远程 Chart 仓库中)使用现有 chart:
-
--helm-chart
-
--helm-chart-repo
-
--helm-chart-version
如果指定了 --helm-chart
标志,--group
、--version
和 --kind
标志将变为可选。如果保留未设置,则使用以下默认值:
标记 | 值 |
---|---|
|
|
|
|
|
|
| 从指定的 chart 中分离 |
如果 --helm-chart
标志指定本地 chart 归档,如 example-chart-1.2.0.tgz
或目录,则 chart 被验证并解包或复制到项目中。否则,Operator SDK 会尝试从远程存储库中获取 chart。
如果没有通过 --helm-chart-repo
标志指定自定义存储库 URL,则支持以下 chart 引用格式:
格式 | 描述 |
---|---|
|
从名为 |
| 通过指定的 URL 获取 Helm Chart 归档。 |
如果自定义仓库 URL 由 --helm-chart-repo
指定,则支持以下 chart 引用格式:
格式 | 描述 |
---|---|
|
在由 |
如果 --helm-chart-version
标志未设置,Operator SDK 会获取最新可用的 Helm Chart 版本。否则,它会获取指定的版本。当使用 --helm-chart
标记指定一个特定版本(例如一个本地路径或 URL)的 chart 时,--helm-chart-version
标志不会被使用。
如需更多详细信息和示例,请运行:
$ operator-sdk init --plugins helm --help