在Kubernetes中配置Service对接第三方访问,可以选择以下方案实现:
-
ExternalName Service(基于DNS别名)
- 适用场景:外部服务必须有固定域名
- Service配置文件如下:
bashapiVersion: v1 kind: Service metadata: name: external-service-001 spec: type: ExternalName externalName: www.baidu.com #外部服务域名 ports: - port: 80 #集群内访问端口 targetPort: 80 #外部服务实际端口 name: http - port: 443 targetPort: 443 name: 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