zoukankan      html  css  js  c++  java
  • Drone基于K8S的Secrets管理

    如果Drone部署在K8S中,那么可以通过k8s secret来为drone runner提供secret。

    注:必须安装drone-kubernetes-secrets组件,且runner配置evn参数DRONE_SECRET_PLUGIN_TOKEN、DRONE_SECRET_PLUGIN_ENDPOINT指向访问drone-kubernetes-secrets服务。而drone-kubernetes-secrets需配置evn参数SECRET_KEY与DRONE_SECRET_PLUGIN_TOKEN一致。

    一、创建k8s secret

    apiVersion: v1
    kind: Secret
    type: Opaque
    data:
      username: ZHJvbmUtcm9vdA==
      password: MTIzNA==
    metadata:
      name: drone-docker-register-secret
      namespace: shendu-ops
    

    二、使用Secret

    1、在pipeline中定义外部drone secret资源关联k8s secret,以供调用

    kind: pipeline
    type: kubernetes
    name: drone-build-demo
    metadata:
      namespace: shendu-ops
    
    ---
    kind: secret
    name: username
    get:
      path: drone-docker-register-secret
      name: username
    
    ---
    kind: secret
    name: password
    get:
      path: drone-docker-register-secret
      name: password

    2、通过from_seecret参数使用secret变量

    kind: pipeline
    type: kubernetes
    name: sd.services.modules.demo
    metadata:
      namespace: shendu-ops
    steps:
    - name: test
      image: busybox
      environment:
        USERNAME:
          from_secret: username
        PASSWORD:
          from_secret: password
      commands:
      - echo $USERNAME
      - echo $PASSWORD

    三、限制使用

           默认情况下创建的k8s secret是对所有git repositories和build events有效的。我们可以通过metadata.annotations添加对secret的使用范围限制。

    1、使用X-Drone-Repos限制那些git repositories可以访问secret。该值采用shell glob模式匹配,多个值用”,“隔开。

    metadata:
      name: drone-docker-register-secret
      annotations:
        X-Drone-Repos: dev/demo,release/*
    

    2、使用X-Drone-Events按事件限制访问secret

    metadata:
      name: drone-docker-register-secret
      annotations:
        X-Drone-Events: push,tag
    
  • 相关阅读:
    从 PHP 到 Java
    用Lua定制Redis命令
    见招拆招-PostgreSQL中文全文索引效率优化
    通过2-3-4树理解红黑树
    代码迁移之旅(二)- 渐进式迁移方案
    多线程编程
    Gotorch
    使用PostgreSQL进行中文全文检索
    代码重构之旅(一) 项目结构
    Linux“体检”指标
  • 原文地址:https://www.cnblogs.com/lswweb/p/14246646.html
Copyright © 2011-2022 走看看