k8s部署项目

背景:springboot项目部署到K8S,利用git代码提交,然后触发ci流水线,构建Docker镜像,推送镜像到仓库,CD流水线部署到容器环境。

1. 具体步骤

(1) 代码提交与触发流水线
  • 触发条件:代码推送到 Git 仓库(如 git push 到 main 分支)。

  • 工具支持

    • GitLab CI/CD:通过 .gitlab-ci.yml 定义流程。

(2) 构建 Docker 镜像 

  • CI 脚本示例(GitLab CI/CD):

    build_image:
      stage: build
      script:
        - docker build -t my-app:$CI_COMMIT_SHA .
      only:
        - main

(3) 推送镜像到仓库

  • 镜像仓库:Docker Hub、GitHub Container Registry、私有仓库(如 Harbor)。

  • 认证:通过 CI/CD 变量存储凭据(如 DOCKER_USERNAME 和 DOCKER_PASSWORD)。

    yaml

    复制

    push_image:
      stage: push
      script:
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
        - docker tag my-app:$CI_COMMIT_SHA my-registry.com/my-app:latest
        - docker push my-registry.com/my-app:latest

 

(4) 部署到容器化环境 

  • 目标环境:Kubernetes、Docker Swarm、云服务(如 AWS ECS)。

  • 部署方式

    • 直接更新镜像(适用于单节点):

      yaml

      复制

      deploy:
        stage: deploy
        script:
          - kubectl set image deployment/my-app my-app=my-registry.com/my-app:latest
    • 通过 Helm/Kustomize(适用于复杂应用):

      yaml

      复制

      deploy:
        script:
          - helm upgrade my-app ./charts/my-app --set image.tag=$CI_COMMIT_SHA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值