惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
小众软件
小众软件
J
Java Code Geeks
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
L
LangChain Blog
博客园 - 司徒正美
量子位
Y
Y Combinator Blog
C
Check Point Blog
T
Tailwind CSS Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志

博客园 - lswweb

Drone概念与答疑 Centos8通过X11使用GUI应用 Linux自己常用命令记录(待续) K8S Master节点灾备与恢复 - ETCD K8S Master节点灾备与恢复 - Host文件Copy Rook Ceph出现daemons have recently crashed异常 Ceph rbd删除image遭遇watchers异常处理 Ceph OSD更换硬盘后遭遇PG Inconsistent异常与处理 Rook Ceph OSD异常,格式化osd硬盘重新挂载 进入K8S Pod执行操作,遭遇Operation not permitted错误 K8S Pod挂载rook ceph pv报not found in the list of registered CSI drivers异常处理 Vs中调试MVC源代码步骤 手动创建vsct文件 快速查找找VS菜单信息(Guid、GuidId、CmdId等) 在多排序条件下SQL获文章上一条、下一条记录 Knockout中ViewModel与Model的互转 Asp.Net MVC 表单验证 AjaxOptions.OnSuccess回调方法返回的参数信息 一次自定义Configuration的悲惨经历。
Drone基于K8S的Secrets管理
lswweb · 2021-01-07 · via 博客园 - lswweb

如果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