//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 构建镜像 docker build --no-cache -t ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v15 . 如果改了ngix.conf docker run --rm ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v15 nginx -t 交互式进入容器核对 nginx.conf 文件内容 docker run --rm -it ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v15 sh cat /var/www/html/nginx.conf # 导出镜像为tar压缩包 docker save -o riway-channel-v15.tar ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v15 压缩 gzip riway-channel-v15.tar chmod x deploy.sh ./deploy.sh 堡垒机 export DOCKER_API_VERSION1.44 # 直接加载tar.gz不用解压 docker load -i riway-channel-v20260711164920.tar.gz 校验镜像存在 docker images | grep riway-channel 能看到 ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v20260711164920就成功 推送镜像至新加坡 ACR docker push ri-acr-sg-registry-vpc.ap-southeast-1.cr.aliyuncs.com/cat-panda/riway-channel:v20260711164920 v15: digest: sha256:0b6b7e7be563799899f37e1ec94216d742c50ac2cdd6d70fbc985a3bb0697cdc size: 38863 docker images //删除旧镜像 docker rmi 镜像名称 # 1. 删除所有停止的容器释放进程占用 docker container prune -f # 2. 删除无用镜像、构建缓存 docker image prune -af # 3. 清理网络、volume占用 docker system prune -f 堡垒机本地没有配置集群 kubeconfig 切本地 Windows 终端执行更新部署 //////////打开隧道 ssh -i cat-panda-access.pem -L 4431:app-kube.prod.sg.alicloud:6443 cat-panda47.236.229.81 修改channel 版本号 powershell kubectl apply -f channel.yaml -n prod --kubeconfig .\ali-prod-kubeconfig.yaml 监控滚动更新进度 powershell kubectl rollout status deploy channel-api -n prod --kubeconfig .\ali-prod-kubeconfig.yaml 等输出 successfully rolled out 后查看 Pod 确认正常运行 powershell kubectl get pods -n prod --kubeconfig .\ali-prod-kubeconfig.yaml 两个 Pod 状态全部为 1/1 Running 就可以访问域名测试接口。 查看当前 Pod 镜像是否更新 powershell kubectl get deploy channel-api -n prod --kubeconfig .\ali-prod-kubeconfig.yaml -o jsonpath{.spec.template.spec.containers[0].image} //////////////////////////////////////////////////// # 发布异常一键回滚上一个稳定版本 kubectl rollout undo deploy channel-api -n prod --kubeconfig .\ali-prod-kubeconfig.yaml 隧道转发命令 ssh -N -L 4431:app-kube.prod.sg.alicloud:6443 -i C:\Users\Administrator\.ssh\cat-panda-access.pem cat-panda47.236.229.81 定时脚本 启用恢复运行 kubectl patch cronjob cron-poll-ai-audit -n prod -p {spec:{suspend:false}} 停用暂停 kubectl patch cronjob cron-poll-ai-audit -n prod -p {spec:{suspend:true}} 查看状态 kubectl get cronjob cron-poll-ai-audit -n prod 查看执行历史 kubectl get jobs -n prod 查看某次执行日志 kubectl logs job/cron-poll-ai-audit-时间戳 -n prod 删除定时任务 kubectl delete cronjob cron-poll-ai-audit -n prod 重新创建/更新配置 kubectl apply -f cronjob-poll-ai-audit.yaml