在Kubernetes中配置Service对接第三方访问,可以选择以下方案实现:
- ExternalName Service(基于DNS别名)
- 适用场景:外部服务必须有固定域名
- Service配置文件如下:
apiVersion: v1 kind: Service metadata:name: external-service-001 spec:type: ExternalNameexternalName: www.baidu.com #外部服务域名ports:- port: 80 #集群内访问端口targetPort: 80 #外部服务实际端口name: http- port: 443targetPort: 443name: https
- 验证场景:
- 内部Pod是否正常的直接访问第三方:kubectl exec -it sample001-6cbdd4ffd-qb8hb – curl https://www.baidu.com
- 内部Pod是否正常的通过Service访问第三方:kubectl exec -it sample001-6cbdd4ffd-qb8hb – curl -H “Host: www.baidu.com” http://external-service-001