首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Kubernetes和Gitlab CI/CD在Google Cloud平台中部署多个环境?

如何使用Kubernetes和Gitlab CI/CD在Google Cloud平台中部署多个环境?
EN

Stack Overflow用户
提问于 2018-08-21 03:11:27
回答 2查看 1.5K关注 0票数 1

我想部署我的项目(api rest、webapp、backoffice等)在使用gitlab-ci、Kubernetes和Google Kubernetes Engine的多个环境中(开发、试运行和生产)。

所有项目在gitlab存储库中是分开的

我在gitlab上有两个分支:掌握和开发。主服务器必须部署在暂存和生产环境中,开发人员必须部署在开发环境中

两天以来,我阅读了很多教程和博客,但我没有找到使用kubernetes管理多个环境的最佳方法。

我必须在GKE中创建3个集群(开发、试运行、生产)?或者我必须只创建一个群集并使用命名空间来管理我的环境?或者其他解决方案?

1/在gitlab-ci (免费账号)中创建3个集群,如何在dev集群上部署dev分支,在staging/production集群上部署master分支?执行此操作所需的配置是什么?可以在gitlab-ci.yml中设置特定的集群吗?怎么做到的?(kubectl config use-context?

2/创建1个集群和3个命名空间(开发、升级、生产)出于安全性和性能考虑,我认为这不是最好的方法,对吧?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-02-05 01:31:29

问:我必须在GKE中创建3个集群(开发、试运行、生产)?或者我必须只创建一个群集并使用命名空间来管理我的环境?或者其他解决方案?

Ans:使用一个集群并将其命名为dev、staging、production等名称空间,这样就很容易管理。

票数 2
EN

Stack Overflow用户

发布于 2018-08-21 08:37:49

我想部署我的项目(api rest、webapp、backoffice等)在使用gitlab-ci、Kubernetes和Google Kubernetes Engine的多个环境中(开发、试运行和生产)。

对于这些项目中的每一个,我都会将它们作为单独的git存储库托管,以便能够单独部署它们。

我在gitlab上有两个分支:掌握和开发。主服务器必须部署在暂存和生产环境中,开发人员必须部署在开发环境中

在Kubernetes中,您将使用名称空间来隔离不同的环境,每个api将从相同的名称空间调用其他api。在Jenkins中,您可以创建多分支项目来相应地部署每个分支。YOu还可以注入某种环境变量,以便每个api知道它属于哪个环境,例如,您可以相应地使用数据存储区等资源。例如,Foo.Production.Kind1与Foo.Development.Kind1

代码语言:javascript
运行
复制
1 / Create 3 clusters In gitlab-ci (free account), how can I deploy dev branch on dev cluster, master branch on staging/production cluster ? what will be the config to do it ?

2 / Create 1 cluster and 3 namespace (dev,staging, production) I don't think that is the best approach for security and performance reason, right ?

如果成本没有问题,你可以选择3个gcp项目,每个项目对应于特定的环境(保持相同的脚本),或者你可以只使用一个集群,并根据命名空间和环境变量来区分它们。

在这里有更多详细信息:https://cloud.google.com/solutions/continuous-delivery-jenkins-kubernetes-engine

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51937118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档