前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3

原创
作者头像
码仔janrs.com
发布2023-03-31 13:49:27
2760
发布2023-03-31 13:49:27
举报
文章被收录于专栏:kubernetes微服务架构

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3

项目地址:https://github.com/janrs-io/Jgrpc


转载请注明来源: https://janrs.com/6rdh


在前两部分中,我们创建了两个微服务:pingservicepongservice。 在这一部分中,我们将创建用于自动部署的 CICD pipeline

我们假设您已经部署了Jenkins/Gitlab/HarborKubenertes/Istio

项目结构

代码语言:shell
复制
devops
├── README.md
├── ping
│   └── dev
│       ├── Deployment.yaml
│       ├── Dockerfile
│       ├── Jenkinsfile
│       └── Service.yaml
└── pong
    └── dev
        ├── Deployment.yaml
        ├── Dockerfile
        ├── Jenkinsfile
        └── Service.yaml

4 directories, 9 files

实践

Jenkins 上,为每个微服务项目创建一个目录,然后在该目录下创建dev/test/prod流水线。

Gitlab 上,设置三个分支保护分支:dev/test/prod。 这三个分支用于dev/test/production环境。这三个分支只能合并不能提交。

如果有新的微服务要开发,在 dev 分支的基础上新建一个分支,名称格式为:dev-*。 例如:dev-ping、dev-pong

然后为每个分支设置 webhook ,自动触发 Jenkins pipeline 自动部署到 kubernetes 集群。

微服务本地开发需要调试. 可以使用 kubefwd 工具或者kubernetes 官方推荐的 telepresence

大型开发实践

如果你的公司发展到集团化规模,需要异地协同开发,可以将devopsistio-manifestskubernetes-manifests分开,创建一个独立的 git-repo 进行管理。

并且还可以在src/目录下将不同的微服务分开,创建不同的 git-repos 进行管理。

不同团队需要将开发好的 grpc 接口文档化并发布到网上,所有人员根据网上的接口文档进行开发调试。

相关项目和资料

感谢以下资源的贡献者:


转载请注明来源: https://janrs.com/6rdh

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目结构
  • 实践
  • 大型开发实践
  • 相关项目和资料
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档