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

问题描述 投票:6回答:1

我使用服务名称有一个Spring Boot和PostgreSQL通信问题。

我使用Calico创建了一个用于网络的集群,如下所示:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16  --apiserver-advertise-address=178.12.1.10

并使用上述命令生成的输出连接到worker节点。

当我部署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
postgresql spring-boot kubernetes kubectl kubeadm
1个回答
1
投票

您需要检查由flag指定给API服务器的service-cluster-ip-range CIDR。 service cluster是从service-cluster-ip-range分配的。

您已使用--pod-network-cidr = 192.168.0.0 / 16初始化群集

请注意,pod-network-cidr范围用于将pod地址分配给pod。它与服务clusterIP不同

您应该检查api服务器启动参数中定义的service-cluster-ip-range

© www.soinside.com 2019 - 2024. All rights reserved.