我的公司已经运行Kuberenetes一年多了,GitLab已经运行了大约6个月。我们最近升级到GitLab 9.x,并且在尝试找出Kube的CI +应用程序配置决定时会遇到什么问题。这个功能非常棒,并且很想让它在我们的环境中工作。GitLab 9.x Kubernetes集成
看起来好像GitLab期望您只有一个群集设置,并且该群集中的所有环境都由名称空间分解,这将等于您的服务/应用程序和应用程序,这将与您的环境相等。这是什么样子GitLab希望我Kuberenetes环境的样子,你的服务的单个集群分成命名空间:
namespace = hello-world
app = development
app = qa
app = production
其中,在现实世界的例子,我们宁愿这将很好地工作相反有一个群集以及
DEVELOPMENT CLUSTER
namespace = development
app = hello-world
QA CLUSTER
namespace = qa
app = hello-world
PRODUCTION CLUSTER
namespace = production
app = hello-world
具有命名空间是应用程序和应用程序是环境,我们就不会升级到KUBE的最新版本,无需升级所有的能力。也许我错过了一些东西,但是基于我正在阅读的内容,并且在测试完成后,看起来好像这是它的设计方式。
仅供参考这是我的CI貌似现在做出部署板+终端快乐
development:
<<: *deploy_definition
stage: development
environment: hello-world
script:
deploy.sh -a "hello-world"
,但它应该是这样的
development:
<<: *deploy_definition
stage: development
environment: development
script:
deploy.sh -a "hello-world"
要添加到这种混乱,他们只给您一个Kubernetes主机连接到集成选项卡。
这是正确的,还是我错过了什么?
嘿嘿,既然你是我很少能找到谁得到部署工作,你可以扩大一下这个貌似有点主板之一?具体来说,每个阶段需要什么样的环境?现在我们正在运行'review/*'环境和'prod',但在您的示例中,它看起来像只能部署到具有 –
@ north.mister的环境,这是正确的。一旦你用kubernetes集成设置了所有的东西,那么你需要像上面那样配置你的ci。唯一可以实现它的方法是让我的gitlab-ci文件中的环境名称与部署kubernetes模板中的应用程序名称相同,对于https://kubernetes.io/docs/concepts/workloads/控制器/部署/。这可能对您有用,因为您只有一个kubernetes环境,但每个环境都有一个群集,所以对我而言失败了。希望这可以帮助你。 –