使用云服务开展业务和运维工作的一些最佳实践

2025-10-16 19:32:00
丁国栋
原创 33
摘要:本文记录汇总一些使用云服务开展业务和运维工作的一些最佳实践。

背景:最近有一个核心业务的技术同事离职了,这位同事日常会负责腾讯云 TKE(Kubernetes容器服务)的管理工作,因此这位同事拥有Kubernetes集群的管理权限。因为容器服务通常搭配腾讯云 TCR(容器镜像仓库)服务使用,所以我们会在TKE中安装TCR组件,这样可以从TCR中“免密”拉取镜像。但由于腾讯云TCR当时版本的设计,这位同事在安装过程中默认创建的凭据是使用当前登录用户的uid+密码,所以一旦这个子账户被删除,那么凭据都会失效,凭据失效就是导致Kubernetes所有命令空间无法从TCR中免密拉取镜像了。

对于这个问题我们采用了两步解决方法:

1. 临时解决方法:先去TCR对应的命名空间里设置公开访问,即无需密码就可以拉取;但这个需要保证镜像无泄漏,只能临时使用不可长期使用;

2. 永久解决办法:自行删除集群内所有TCR注入的凭据,卸载TCR,再安装TCR,在安装TCR时手动指定服务及帐号凭据,这样人员离职后可以放心的删除对应的子账号。

关于TCR凭据和产品设计问题我和腾讯云服务团队进行过讨论,例如卸载TCR时支持删除TCR注入的凭据,注入凭据时覆盖之前注入的凭据。对于我们用户来说,可能只是在TCR设置界面上有一个选项就搞定,勾选这个选项就删除凭证或覆盖凭证。实际产品设计可能需要考虑到其他因素,需要腾讯云团队评估。

所以需要整理一份云服务的标准规范以及最佳实践。

  • 使用子账号进行日常管理,子账号必须使用MFA多因素认证,必要时使用操作保护;
  • 最小权限原则,包括账号、密钥权限;
  • 不使用主账号的AK;
  • 不共享任何AK、凭据等,定期更换;
  • 在公共服务中不使用任何子账号、私人凭据;
  • 及时清理不再使用的资源;
  • 日常进行各类操作演练;
  • 写操作需要有记录;
  • 基础设施即代码,结合版本控制软件Git使用;
  • 知晓哪些服务是付费的,如何付费,付费计划是否合理;
  • 对于VPC、对象存储的一些不容易变更的设置需要提前规划,比如VPC的子网大小、对象存储的版本控制等;
  • 充分利用多可用区和灾备措施,避免单可用区发生故障无法恢复;
  • 合理设置安全组,仅允许开放必要的端口和白名单访问;
  • 对于突发事件、恶意攻击需要准备处理预案,有应对措施和技术方案;
  • 设置全面、有效监控告警、性能数据观测等;
  • 充分利用云服务商的技术支持、文档系统、API等;
  • 使用自动化、CI/CD等提升开发、运维效率;

--


发表评论
博客分类