用k8s的ExternalName service定义集群外部资源

有同事提的需求,实现了,作个记录。

使用K8s服务的ExternalName定义集群外部资源

为达到k8s集群内外资源的统一整合,达到后续平稳迁移和集中管理的目的。现测试了service中的ExternalName,用于将集群外的服务映射为集群内的资源。

一, yaml定义(external-name.yaml)

kind: Service
apiVersion: v1
metadata:
  name: demo-extenal-name
  namespace: default
spec:
  type: ExternalName
  externalName: ex-demo.com.cn

二, 应用到集群

Kubectl apply -f external-name.yaml

三, 进入pod测试(curl -H是定义主机名, service需要加上namespace)

/usr/src/app # curl http://ex-demo.com.cn/ip-ngx/get/header
/usr/src/app # curl -H "Host:ex-demo.com.cn" http://demo-extenal-name.default/ip-ngx/get/header

从返回结果可以看到,访问demo-extenal-name.default服务与直接访问ex-demo.com.cn一样效果。

PS:

这是映射端口一样的情况,如果存在端口不一致,则可以再用自定义的EndPoint来对映。

此处不涉。

猜你喜欢

转载自www.cnblogs.com/aguncn/p/12427085.html