5.6.2.5. 运行 Operator


您可以使用 Operator SDK CLI 构建和运行 Operator:

  • 作为 Go 程序在集群外本地运行。
  • 作为集群的部署运行。
  • 捆绑 Operator,并使用 Operator Lifecycle Manager(OLM)在集群中部署。
5.6.2.5.1. 在集群外本地运行

您可以作为集群外的 Go 程序运行您的 Operator 项目。这可以加快部署和测试的速度,对于开发非常有用。

流程

  1. 运行以下命令来编译 Operator:

    $ mvn clean install

    输出示例

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  11.193 s
    [INFO] Finished at: 2021-05-26T12:16:54-04:00
    [INFO] ------------------------------------------------------------------------

  2. 运行以下命令,将 CRD 安装到 default 命名空间:

    $ oc apply -f target/kubernetes/memcacheds.cache.example.com-v1.yml

    输出示例

    customresourcedefinition.apiextensions.k8s.io/memcacheds.cache.example.com created

  3. 如下例所示,名为 rbac.yaml 的文件:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: memcached-operator-admin
    subjects:
    - kind: ServiceAccount
      name: memcached-quarkus-operator-operator
      namespace: <operator_namespace>
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: ""
  4. 运行以下命令通过应用 rbac.yaml 文件向 memcached-quarkus-operator-operator 授予 cluster-admin 权限:

    $ oc apply -f rbac.yaml
  5. 输入以下命令来运行 Operator:

    $ java -jar target/quarkus-app/quarkus-run.jar
    注意

    java 命令将运行 Operator 并保持运行,直到您结束进程。您需要另一个终端来完成这些命令的其余部分。

  6. 使用以下命令应用 memcached-sample.yaml 文件:

    $ kubectl apply -f memcached-sample.yaml

    输出示例

    memcached.cache.example.com/memcached-sample created

验证

  • 运行以下命令,确认 pod 已启动:

    $ oc get all

    输出示例

    NAME                                                       READY   STATUS    RESTARTS   AGE
    pod/memcached-sample-6c765df685-mfqnz                      1/1     Running   0          18s

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部