Kubernetes服务externalTrafficPolicy重置为本地



在我的Kubernetes集群设置中,我有一个带有LoadBlanacer服务的Greenplum DB集群(一个主节点和8个分段节点(。请参阅下面的服务配置。

apiVersion: v1
kind: Service
metadata:
labels:
app: greenplum
greenplum-cluster: greenplum-cluster
name: greenplum
spec:
clusterIP: 10.101.251.127
clusterIPs:
- 10.101.251.127
externalIPs:
- 11.4.8.141
externalTrafficPolicy: Cluster
healthCheckNodePort: 32572
ports:
- name: psql
nodePort: 32198
port: 5432
protocol: TCP
targetPort: 5432
selector:
statefulset.kubernetes.io/pod-name: master-0
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}

但是,在部署几小时后,externalTrafficPolicy值被设置为Local而不是Cluster,这使得服务无法通过定义的外部IP访问。这有什么原因吗?即使在我编辑服务配置之后,它也会自动更改。

或者有没有其他方式可以访问这个Greenplum DB(TCP 5432(,比如入口?

您能提供有关Kubernetes集群设置的更多详细信息吗?这是裸金属的,云管理的,kubeadm吗?

当您尝试连接到数据库时,查看日志以及一些跟踪是否有用?

externalTrafficPolicyLocalCluster之间的唯一区别是,Cluster将平衡集群中所有pod之间的流量,并在您的pod之间实现良好的分布。Local将仅在已经部署在请求从LB着陆的节点上的吊舱之间分配流量

此外,使用Local将保留请求的客户端IP,但不保留Cluster选项。

有一个很好的视频,他真的在这里详细解释了这一点。

相关内容

  • 没有找到相关文章

最新更新