开发者社区 > 云原生 > 容器服务 > 正文

容器服务ACK有什么好的方式使用 ack servless 可以 通过云效发布多环境吗?

容器服务ACK有什么好的方式使用 ack servless 可以 通过云效发布多环境吗?我使用ack servless部署多环境,现在想通过命名空间隔离环境,使用云效来编译-推送镜像-更新无状态节点,
现在遇到个问题:
1.云效使用的k8s升级是通过镜像升级的方式来处理的,这边打包的镜像tag没有变,放的是环境名称,而相同tag镜像云效不支持更新,必须变动tag才行
2.如果我使用tag+时间戳确实可以用,但是镜像仓库个人版本里面就会一直存新的镜像,而且不支持自动删除

展开
收起
三分钟热度的鱼 2023-10-25 16:19:37 57 0
2 条回答
写回答
取消 提交回答
    1. 对于镜像标签的问题,你可以考虑使用环境变量或者配置文件来区分不同的环境。这样,你可以在构建镜像的时候,根据环境变量或配置文件的值来生成不同的镜像标签。例如,你可以使用${ENVIRONMENT_NAME}这样的语法来替换掉环境名称。

    2. 对于镜像仓库的问题,你可以考虑使用CI/CD系统的镜像清理功能。大多数CI/CD系统都提供了镜像清理的功能,可以自动删除旧的镜像。例如,在Jenkins中,你可以使用docker.image.cleanup插件来自动清理旧的镜像。

    3. 对于命名空间的问题,你可以考虑使用Kubernetes的Namespace来隔离不同的环境。每个Namespace都有自己的一套服务和Pod,这样就可以保证不同环境的资源互不影响。

    4. 对于云效的问题,你可以考虑使用云效的镜像版本管理功能。大多数云效平台都提供了镜像版本管理功能,可以自动创建新的镜像版本,并自动删除旧的镜像版本。例如,在阿里云的云效中,你可以使用version命令来管理镜像版本。

    2023-10-26 09:10:12
    赞同 展开评论 打赏
  • 在 yaml 的 annotation 里放一个随机生成的值,或者把 git 提交的 hash 传进来放到 annotation 里\。镜像升级不支持后续增加 annotation,所以得提前在yaml里写一个随机生成函数,每次部署都是随机的值。参考https://helm.sh/docs/howto/charts_tips_and_tricks/ 此回答整理自钉群“容器服务ACK 用户交流-1群”

    2023-10-25 16:40:37
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    云效助力企业软件供应链生产效能提升 立即下载
    云效 DevOps 客户案例集(公共云) 立即下载
    云效 立即下载

    相关镜像