我在使用服务名称时遇到了Spring Boot和PostgreSQL通讯问题。
我已经使用Calico创建了一个用于联网的集群,如下所示:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=178.12.1.10
,并使用上述命令产生的输出加入到工作节点。
当我部署Pod和服务时,它们都在不同的子网中运行。我想念什么吗?
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
backend-service ClusterIP 10.110.149.43 <none> 8091/TCP 12s
postgres ClusterIP 10.108.1.52 <none> 5432/TCP 14m
服务端点未生成。
kubectl get endpoints
NAME ENDPOINTS AGE
backend-service 20m
postgres <none> 21m
kubectl get pods --all-namespaces
default backend-service-6dbd64ff4d-gqkq8 0/1 CrashLoopBackOff 12 57m
default postgres-7564bcc778-578fx 1/1 Running 0 57m
kube-system calico-etcd-b7wqf 1/1 Running 1 2d3h
kube-system calico-kube-controllers-74887d7bdf-wxhkd 1/1 Running 1 2d3h
kube-system calico-node-689b5 0/1 Running 0 47h
kube-system calico-node-smkq5 0/1 Running 1 47h
kube-system coredns-86c58d9df4-7ncdk 1/1 Running 1 2d3h
kube-system coredns-86c58d9df4-g4jcp 1/1 Running 1 2d3h
kube-system etcd-kmaster 1/1 Running 1 2d3h
kube-system kube-apiserver-kmaster 1/1 Running 1 2d3h
kube-system kube-controller-manager-kmaster 1/1 Running 3 2d3h
kube-system kube-proxy-njx5c 1/1 Running 1 2d3h
kube-system kube-proxy-pkxx5 1/1 Running 1 2d3h
kube-system kube-scheduler-kmaster 1/1 Running 3 2d3h
kube-system kubernetes-dashboard-57df4db6b-zcvcc 1/1 Running 1 2d3h
答案 0 :(得分:1)
您需要检查API服务器的标志所指定的service-cluster-ip-range CIDR。服务clusterIP是从service-cluster-ip-range分配的。
您已使用初始化集群 --pod-network-cidr = 192.168.0.0 / 16
请注意,pod-network-cidr范围用于将IP地址分配给pod。它不同于服务clusterIP
您应该检查api服务器启动参数中定义的service-cluster-ip-range