开发者社区> 问答> 正文

在业务部署中,如果使用免密组件需要注意什么?

已解决

在业务部署中,如果使用免密组件需要注意什么?

展开
收起
詹姆斯邦德00 2022-10-14 17:05:44 244 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    •在Kubernetes资源(例如无状态应用Deployment)模板中配置拉取凭证(image-PullSecret)会导致免密组件失效,如果需使用免密组件,请避免手工配置拉取凭证(imagePullSecret)。

    •如果部署的Kubernetes资源(例如无状态应用Deployment)使用了自定义的ServiceAccount,需先调整免密组件配置文件中Service-Account字段,使其作用于自定义的ServiceAccount,再进行部署资源操作。

    •确认Kubernetes集群所属地域与要拉取的镜像所在的地域是否一致,默认配置只可以拉取本地域的镜像。如果需要跨地域拉取镜像,请参考下面的配置。(仅适用于公网拉取)

    image.png

    •使用自定义RAM角色的AccessKey ID和AccessKey Secret进行镜像拉取的情况下,需要把访问密钥写入configMap,这样存在一定的密钥泄露风险。请确定AccessKey ID和AccessKey Secret所属的RAM角色只拥有拉取容器镜像的相关权限。

    •在集群中创建新的Service Account一段时间后,免密插件根据ACK集群默认权限生成的ACR私有镜像拉取Token才会更新到应用使用到的Service1Account中,使用Service Account的应用才会使用Token去拉取镜像。如果创建完Service Account之后立即创建应用则会出现因鉴权失败无法拉取的情况。

    •免密插件默认覆盖ACK中所有命名空间中默认的ServiceAccount中的imagePullSecret字段。被覆盖的ServiceAccount会随着对应kube-system命名空间中acr-configuration配置项中的service-account字段变动而变动。(见上图)。

    •在修改kube-system命名空间中的acr-configuration配置项时,请确认缩进是否与给出的场景的例子相同。建议直接复制对应场景的YAML内容到编辑器中,修改对应的值然后直接应用到集群,以保证YAML格式的正确性。

    •企业版实例创建后,默认不允许通过公网访问。因此在配置公网的访问控制策略前, 需要先打开公网的访问入口。在打开访问入口之后, 会默认生成一条127.0.0.1/32的公网白名单。如果删除所有白名单,可以认为放开所有的公网机访问ACR实例。

    •镜像太大,造成每次部署时候拉取速度慢,以及传统容器运行需要将全量镜像数据下载后再解包,然而容器启动可能仅使用其中部分的内容,导致容器启动耗时长。此种场景可以考虑P2P加速和按需加载容器镜像。

    以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版

    2022-10-17 16:44:36
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
《云防火墙实现多账号统一管控》 立即下载
Session:弹性、高可用、可观测的应用交付网络产品更新 立即下载
1-简析容器应用生命周期的一体化安全流程 立即下载