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
    
  • 相关阅读:
    【Android Developers Training】 51. 序言:打印内容
    小米手机开发遇到的问题
    Linux进程的实际用户ID和有效用户ID
    Linux core 文件介绍
    Linux下内存的几个基本概念
    mingw libgcc_s_sjlj-1.dll is missing
    C语言函数申明关键字inline
    关于编译错误--提领指向不完全类型的指针
    linux下创建用户[转]
    Linux查看CPU和内存使用情况[转]
  • 原文地址:https://www.cnblogs.com/lswweb/p/14246646.html
Copyright © 2011-2022 走看看