最近业务上有一个奇葩的需求,在原生态的k8s集群中,作为k8s的服务发现组建kube-dns,扮演着servicename-clusterip的映射关系,现在有一个project依赖的环境变量如下
env:
- name: SERVER_CLOUDOS
value: http://cloud-service:9980
现在有如下需求,ci集群的k8s没有这个服务,测试环境有这个服务,线上环境有这个服务,开发环境依赖测试环境,并且此project的k8s配置文件不能改变,
ci->test=online
解决方案想到了2个
1,修改kube-dns,etcd
2, service
第一种方式改的东西有点多,考虑第二种
service+endpoint
apiVersion: v1
kind: Service
metadata:
name: cloud-service
spec:
ports:
- port: 9980
targetPort: 9980
protocol: TCP
kind: Endpoints
apiVersion: v1
metadata:
name: cloud-service
subsets:
- addresses:
- ip: testip
ports:
- port: 9980