5.3.2.2. 创建一个项目
使用 Operator SDK CLI 创建名为 memcached-operator 的
项目。
流程
为项目创建一个目录:
$ mkdir -p $HOME/projects/memcached-operator
进入该目录:
$ cd $HOME/projects/memcached-operator
激活对 Go 模块的支持:
$ export GO111MODULE=on
运行
operator-sdk init
命令以初始化项目:$ operator-sdk init \ --domain=example.com \ --repo=github.com/example-inc/memcached-operator
注意operator-sdk init
命令默认使用 Go 插件。operator-sdk init
命令生成一个go.mod
文件,用于 Go 模块。在创建$GOPATH/src/
项目时需要--repo
标志,因为生成的文件需要有效的模块路径。要启用基于 Go 的 Operator 在 OpenShift Container Platform 上运行,编辑
config/manager/manager.yaml
文件并替换以下行:runAsUser: 65532
使用:
runAsNonRoot: true
注意此步骤只是针对 Go 的 Operator 的一个临时解决方案。如需更多信息,请参阅 BZ#1914406。
5.3.2.2.1. PROJECT 文件
operator-sdk init
命令生成的文件中是一个 Kubebuilder PROJECT
文件。从项目 root 运行的后续 operator-sdk
命令以及 help
输出会读取该文件,并注意到项目的类型为 Go。例如:
domain: example.com layout: go.kubebuilder.io/v3 projectName: memcached-operator repo: github.com/example-inc/memcached-operator version: 3-alpha plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {}