从预览环境中,我想访问位于临时环境(在命名空间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
答案 0 :(得分:1)
解决方案是将mysql.yaml
从resources
移到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