为什么我的Kubernetes服务在不同的子网上运行?

时间:2019-02-22 13:17:34

标签: postgresql spring-boot kubernetes kubectl kubeadm

我在使用服务名称时遇到了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

1 个答案:

答案 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