Jenkins-X:如何在预览环境中链接外部服务

时间:2019-01-03 18:04:02

标签: kubernetes jenkins--x

从预览环境中,我想访问位于临时环境(在命名空间jx-staging中)的数据库。

我正在尝试遵循Jenkins-X文档中的Service Linking,但没有成功。文档尚不清楚将服务链接定义放在何处。

我创建了具有以下内容的服务文件charts/preview/resources/mysql.yaml,但是未创建服务链接。

kind: Service
apiVersion: v1
metadata:
  name: mysql
spec:
  type: ExternalName
  externalName: mysql.jx-staging.svc.cluster.local
  ports:
  - port: 3306

JX环境:

jx version:
NAME               VERSION
jx                 1.3.688
jenkins x platform 0.0.3125
Kubernetes cluster v1.10.9-gke.5
kubectl            v1.10.7
helm client        v2.12.1+g02a47c7
helm server        v2.12.0+gd325d2a
git                git version 2.11.0
Operating System   Debian GNU/Linux 9.6 (stretch)

在哪里以及如何定义服务链接?

GitHub问题:How to link external service in preview environment

2 个答案:

答案 0 :(得分:1)

解决方案是将mysql.yamlresources移到templates子文件夹:

charts/preview/templates/mysql.yaml

问题是由Service Linking文档中的错字引起的,现已纠正。

答案 1 :(得分:0)

顺便说一句,还有一个FAQ entry on adding more resources to a preview

您的Service YAML对我来说很好。创建预览环境时,您看到创建的Service吗?

您可以通过键入jx get preview来找到名称空间,然后查看您的环境中是否存在Service,请尝试kubectl get service -n jx-myuser-myapp-pr-1