改变公有云接口调用的凭据系统

Posted by Zeusro on September 30, 2020
👈🏻 Select language

公有云在调用云产品接口的时候通常需要 secretIdsecretKey 。而 Kubernetes 里面有一类对象叫做 secret ,所以我在想,这两块内容能不能结合起来。

当公有云管理员创建子账户的时候,这两部分信息会自动注入到相应 Kubernetes 的关联 namespacesecret 中,这样用户连这部分信息都不需要保存,只需要上传自己的容器镜像,之后CD会自动挂载相应的 serviceaccount ,底层公有云以统一的形式加载这部分配置。

从结果上看,

  1. 省略了运维设定生产配置这一毫无技术含量的工作
  2. 屏蔽了业务开发对线上配置的染指

最终完美实现了自动化DevOps。

不过这么做有一个前提——那就是假定 Kubernetes 作为整个公有云的第一入口,公有云要自己打通自身权限控制和 Kubernetes 之间的连接。

Public clouds usually need secretId and secretKey when calling cloud product APIs. And in Kubernetes, there’s a type of object called secret, so I’m thinking, can these two be combined?

When public cloud administrators create sub-accounts, this information is automatically injected into the corresponding Kubernetes associated namespace’s secret, so users don’t even need to save this information. They just need to upload their own container images, and then CD will automatically mount the corresponding serviceaccount. The underlying public cloud loads this configuration in a unified form.

From the result:

  1. Omitted the non-technical work of operations setting production configurations
  2. Shielded business development from meddling with online configurations

Finally achieving automated DevOps perfectly.

However, doing this has a prerequisite—that is, assuming Kubernetes as the first entry point of the entire public cloud, the public cloud needs to connect its own permission control with Kubernetes.

Публичные облака обычно нуждаются в secretId и secretKey при вызове API продуктов облака. А в Kubernetes есть тип объекта, называемый secret, поэтому я думаю, можно ли объединить эти два?

Когда администраторы публичного облака создают подучётные записи, эта информация автоматически внедряется в соответствующий secret связанного namespace в Kubernetes, поэтому пользователям даже не нужно сохранять эту информацию. Им просто нужно загрузить свои собственные образы контейнеров, а затем CD автоматически подключит соответствующий serviceaccount. Базовое публичное облако загружает эту конфигурацию в единой форме.

С точки зрения результата:

  1. Исключена нетворческая работа операций по настройке производственных конфигураций
  2. Защищена бизнес-разработка от вмешательства в онлайн-конфигурации

В конечном итоге идеально достигается автоматизированный DevOps.

Однако для этого есть предварительное условие—то есть, предполагая Kubernetes как первую точку входа всего публичного облака, публичное облако должно соединить свой собственный контроль доступа с Kubernetes.



💬 讨论 / Discussion

对这篇文章有想法?欢迎在 GitHub 上发起讨论。
Have thoughts on this post? Start a discussion on GitHub.

在 GitHub 参与讨论 / Discuss on GitHub