10.3. 使用 Red Hat Developer Hub 中的 Kubernetes 自定义操作创建模板


您可以通过将 Template 对象定义为 YAML 文件来创建模板。

Template 对象描述了模板及其元数据。它还包含所需的输入变量,以及构建服务所执行的操作列表。

+

apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: create-kubernetes-namespace
  title: Create a kubernetes namespace
  description: Create a kubernetes namespace

spec:
  type: service
  parameters:
    - title: Information
      required: [namespace, token]
      properties:
        namespace:
          title: Namespace name
          type: string
          description: Name of the namespace to be created
        clusterRef:
          title: Cluster reference
          type: string
          description: Cluster resource entity reference from the catalog
          ui:field: EntityPicker
          ui:options:
            catalogFilter:
              kind: Resource
        url:
          title: Url
          type: string
          description: Url of the kubernetes API, will be used if clusterRef is not provided
        token:
          title: Token
          type: string
          ui:field: Secret
          description: Bearer token to authenticate with
        skipTLSVerify:
          title: Skip TLS verification
          type: boolean
          description: Skip TLS certificate verification, not recommended to use in production environment, default to false
        caData:
          title: CA data
          type: string
          ui:field: Secret
          description: Certificate Authority base64 encoded certificate
        labels:
          title: Labels
          type: string
          description: Labels to be applied to the namespace
          ui:widget: textarea
          ui:options:
            rows: 3
          ui:help: 'Hint: Separate multiple labels with a semicolon!'
          ui:placeholder: 'kubernetes.io/type=namespace; app.io/managed-by=org'

  steps:
    - id: create-kubernetes-namespace
      name: Create kubernetes namespace
      action: kubernetes:create-namespace
      input:
        namespace: ${{ parameters.namespace }}
        clusterRef: ${{ parameters.clusterRef }}
        url: ${{ parameters.url }}
        token: ${{ secrets.token }}
        skipTLSVerify: ${{ parameters.skipTLSVerify }}
        caData: ${{ secrets.caData }}
        labels: ${{ parameters.labels }}
Copy to Clipboard

10.3.1. Red Hat Developer Hub 中支持的 Kubernetes 自定义操作

在 Red Hat Developer Hub 中,您可以在 scaffolder 模板中使用自定义 Kubernetes 操作。

自定义 Kubernetes 构建程序操作

action: kubernetes:create-namespace
在 Developer Hub 中为 Kubernetes 集群创建一个命名空间。
参数名称类型要求描述Example

namespace

string

必填

Kubernetes 命名空间的名称

my-rhdh-project

clusterRef

string

仅在未定义 url 时才需要。您不能指定 urlclusterRef

来自目录的集群资源实体引用

bar

url

string

仅在未定义 clusterRef 时才需要。您不能指定 urlclusterRef

Kubernetes 集群的 API url

https://api.foo.redhat.com:6443

token

字符串

必填

用于身份验证的 Kubernetes API bearer 令牌

 

skipTLSVerify

布尔值

选填

如果为 true,则会跳过证书验证

false

caData

string

选填

Base64 编码的证书数据

 

label

string

选填

应用到命名空间的标签

app.io/type=ns; app.io/managed-by=org;

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat