operator-sdk命令详解

简介: operator-sdk命令详解

文章目录

1. operator-sdk build

2. operator-sdk completion

3. operator-sdk print-deps

4. operator-sdk generate

5. operator-sdk olm-catalog gen-csv

6. operator-sdk new

7. operator-sdk add

7.1 Example add api output

7.2 Example add controller output

7.3 Example add crd output

8. operator-sdk up local

##格式

$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]

1. operator-sdk build

命令编译代码并生成可执行文件

operator-sdk build quay.io/example/operator:v0.0.1

2. operator-sdk completion

生成bash补全

operator-sdk completion

3. operator-sdk print-deps

命令显示操作员所需的最新Golang软件包和版本。默认情况下,它以列格式打印

operator-sdk print-deps --as-file

4. operator-sdk generate

命令将调用特定的生成器以根据需要生成代码

5. operator-sdk olm-catalog gen-csv

子命令将集群服务版本(CSV)清单和可选的自定义资源定义(CRD)文件写入 deploy/olm-catalog/<operator_name>/<csv_version>

$ operator-sdk olm-catalog gen-csv --csv-version 0.1.0 --update-crds
INFO[0000] Generating CSV manifest version 0.1.0
INFO[0000] Fill in the following required fields in file deploy/olm-catalog/operator-name/0.1.0/operator-name.v0.1.0.clusterserviceversion.yaml:
  spec.keywords
  spec.maintainers
  spec.provider
  spec.labels
INFO[0000] Created deploy/olm-catalog/operator-name/0.1.0/operator-name.v0.1.0.clusterserviceversion.yaml

6. operator-sdk new

$ mkdir $GOPATH/src/github.com/example.com/
$ cd $GOPATH/src/github.com/example.com/
$ operator-sdk new app-operator
$ operator-sdk new app-operator \
    --type=ansible \
    --api-version=app.example.com/v1alpha1 \
    --kind=AppService

7. operator-sdk add

命令将控制器或资源添加到项目中。该命令必须从Operator项目的根目录运行。

7.1 Example add api output

$ operator-sdk add api --api-version app.example.com/v1alpha1 --kind AppService
Create pkg/apis/app/v1alpha1/appservice_types.go
Create pkg/apis/addtoscheme_app_v1alpha1.go
Create pkg/apis/app/v1alpha1/register.go
Create pkg/apis/app/v1alpha1/doc.go
Create deploy/crds/app_v1alpha1_appservice_cr.yaml
Create deploy/crds/app_v1alpha1_appservice_crd.yaml
Running code-generation for Custom Resource (CR) group versions: [app:v1alpha1]
Generating deepcopy funcs
$ tree pkg/apis
pkg/apis/
├── addtoscheme_app_appservice.go
├── apis.go
└── app
  └── v1alpha1
    ├── doc.go
    ├── register.go
    ├── types.go

7.2 Example add controller output

$ operator-sdk add controller --api-version app.example.com/v1alpha1 --kind AppService
Create pkg/controller/appservice/appservice_controller.go
Create pkg/controller/add_appservice.go
$ tree pkg/controller
pkg/controller/
├── add_appservice.go
├── appservice
│   └── appservice_controller.go
└── controller.go

7.3 Example add crd output

$ operator-sdk add crd --api-version app.example.com/v1alpha1 --kind AppService
Generating Custom Resource Definition (CRD) files
Create deploy/crds/app_v1alpha1_appservice_crd.yaml
Create deploy/crds/app_v1alpha1_appservice_cr.yaml

8. operator-sdk up local

该local子命令通过构建可以使用kubeconfig文件访问Kubernetes集群的操作员二进制文件在本地计算机上启动操作员 。

$ operator-sdk up local \
  --kubeconfig "mycluster.kubecfg" \
  --namespace "default" \
  --operator-flags "--flag1 value1 --flag2=value2"
$ operator-sdk up local --operator-flags "--resync-interval 10"
$ operator-sdk up local --namespace "testing"

参考链接:

https://docs.openshift.com/container-platform/4.1/applications/operator_sdk/osdk-cli-reference.html

相关文章
|
1月前
|
API 开发工具 网络架构
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
|
1月前
|
API 开发工具 网络架构
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
Azure 容器实例(Azure Container Instances,简称 ACI)是一个无服务器容器解决方案,允许用户在 Azure 云环境中运行 Docker 容器,而无需设置虚拟机、集群或编排器。 ACI 适用于任何可以在隔离容器中操作的场景,包括事件驱动的应用程序、从容器开发管道快速部署、数据处理和生成作业。
|
1月前
|
开发工具
【Azure 环境】使用Microsoft Graph PS SDK 登录到中国区Azure, 命令Connect-MgGraph -Environment China xxxxxxxxx 遇见登录错误
【Azure 环境】使用Microsoft Graph PS SDK 登录到中国区Azure, 命令Connect-MgGraph -Environment China xxxxxxxxx 遇见登录错误
|
开发工具 git
Mac执行命令code ./ 报错git: error: unable to read SDK settings for '/Library/Developer/CommandLineTools...
Mac执行命令code ./ 报错git: error: unable to read SDK settings for '/Library/Developer/CommandLineTools...
279 0
|
分布式计算 安全 Java
使用 MaxCompute java sdk 运行安全相关命令
使用 odps console 的同学,可能都使用过 odps 安全相关的命令。
8365 0
|
开发工具 Android开发
在Mac pro上如何将Android SDK的adb命令添加到环境变量中,这里将进行说明!
方法/步骤 启动终端,可以在Spotlight中搜索“终端” 进入当前用户的HOME目录,命令如下: cd $HOME 更新.
1248 0
|
30天前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
39 0
|
1月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
138 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
1月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
83 4

热门文章

最新文章