• 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学习
    从零开始PHP学习
    从零开始PHP学习
    从零开始PHP学习
    从零开始PHP学习
    [暂停一天]从零开始PHP学习
    [Laravel 5] 表单验证 Form Requests and Controller Validation
    JQuery 在$(window).load() 事件中 不运行 $(window).resize()
    JS计算两个日期相差几天
    python 学习之Windows 下的编码处理!
  • 原文地址:https://www.cnblogs.com/lswweb/p/14246646.html
Copyright © 2020-2023  润新知