【谷粒商城】k8s与DevOps最终章

本文详细介绍了Kubernetes环境下的DevOps实践,包括使用Jenkins、SonarQube、Dockerhub进行持续集成与部署,以及Kubernetes的有状态服务、无状态服务和微服务的部署策略。通过实例展示了如何创建流水线,管理代码质量,以及部署MySQL、Redis、Elasticsearch等中间件。同时,文章还探讨了如何在Kubernetes中实现微服务的构建、打包、推送和部署,并给出了Jenkinsfile的示例,演示了从代码变更到自动化部署的完整流程。

0、谷粒最后一篇

一、DevOps

基础知识详见:https://blog.youkuaiyun.com/hancoder/article/details/118233786

  • 持续集成CI:拉取代码、自动化测试等
  • 持续部署CD:代码通过评审后部署到生成环境中
  • 流水线:https://www.jenkins.io/zh/doc/book/pipeline/
    • https://kubesphere.com.cn/docs/devops-user-guide/how-to-use/create-a-pipeline-using-jenkinsfile/
    • 因为kubeSphere有可视化界面,所以无需写JenkinsFile了。
    • 从代码库中检出代码
流水线概述

本示例流水线包括以下八个阶段。

流水线概览

备注

  • 阶段 1:Checkout SCM:从 GitHub 仓库检出源代码。
  • 阶段 2:单元测试:待该测试通过后才会进行下一阶段。
  • 阶段 3:SonarQube 分析:SonarQube 代码质量分析。
  • 阶段 4:构建并推送快照镜像:根据行为策略中选定的分支来构建镜像,并将 SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER 标签推送至 Docker Hub,其中 $BUILD_NUMBER 为流水线活动列表中的运行序号。
  • 阶段 5:推送最新镜像:将 SonarQube 分支标记为 latest,并推送至 Docker Hub。
  • 阶段 6:部署至开发环境:将 SonarQube 分支部署到开发环境,此阶段需要审核。
  • 阶段 7:带标签推送:生成标签并发布到 GitHub,该标签会推送到 Docker Hub。
  • 阶段 8:部署至生产环境:将已发布的标签部署到生产环境。

上述内容详见:https://kubesphere.com.cn/docs/devops-user-guide/how-to-use/create-a-pipeline-using-jenkinsfile/

去kubeSphere中点击之前创建的devOps项目,添加dockerhub凭证(账号密码)、gitee凭证、kubeconfig凭证,创建图示https://kubesphere.com.cn/docs/devops-user-guide/how-to-use/credential-management/

安装SonarQube

kubeSphere v3中已无SonarQube ,自己安装:https://kubesphere.com.cn/docs/devops-user-guide/how-to-integrate/sonarqube/

# 查看k8s集群中是否有SonarQube 
kubectl get svc -n kubesphere-devops-system | grep sonarqube-sonarqube
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值