Kubernetes端点IP不在范围内

时间:2016-05-29 11:43:43

标签: kubernetes flannel

我在几个RHEL 7.2 VM中安装了K8s群集。 似乎yum存储库的安装没有插件。

目前,我正在尝试部署的任何服务面临以下问题:Jenkins,Kube-ui,Influxdb-grafana 端点IP不在Flannel定义的范围内,显然服务不可用。

有关如何调试\解决问题的任何想法?

系统详情:

# lsb_release -i -r
Distributor ID: RedHatEnterpriseServer
Release:        7.2

已安装的软件包:

kubernetes.x86_64               1.2.0-0.9.alpha1.gitb57e8bd.el7
etcd.x86_64                     2.2.5-1.el7
flannel.x86_64                  0.5.3-9.el7
docker.x86_64                   1.9.1-25.el7.centos

ETCD网络配置

# etcdctl get /atomic.io/network/config
{"Network":"10.0.0.0/16"}

服务获取正确的IP但错误的端点

# kubectl describe svc jenkinsmaster
Name:                   jenkinsmaster
Namespace:              default
Labels:                 kubernetes.io/cluster-service=true,kubernetes.io/name=JenkinsMaster
Selector:               name=jenkinsmaster
Type:                   NodePort
IP:                     10.254.113.89
Port:                   http    8080/TCP
NodePort:               http    30996/TCP
Endpoints:              172.17.0.2:8080
Port:                   slave   50000/TCP
NodePort:               slave   31412/TCP
Endpoints:              172.17.0.2:50000
Session Affinity:       None
No events.

谢谢。

2 个答案:

答案 0 :(得分:0)

我认为法兰绒网络子网和kubernetes内部网络子网在这里似乎存在冲突。

根据我现在看到的信息量,我可以说的是这里存在冲突。为了验证法兰绒是否正常工作,只需在与法兰绒连接的两台不同的机器上启动contianer,看看他们是否能说话,以及他们得到的IP地址。如果他们被分配范围10.0.0.0/16的IP并且他们可以说话,那么法兰绒就做得很好。与kubernetes集成有问题。

如果你没有得到其他一些范围的IP地址法兰绒效果不佳。

答案 1 :(得分:0)

kubernetes 1.12 ... docker 1.9 ...它们现在是古代版本。所以你没有CNI或kubeadm。我几乎不记得如何设置一个带法兰绒的kubernetes簇。

无论如何,你需要知道端点IP与目标Pod IP相同,即docker容器的IP。因此您的docker容器IP与flannel IP的范围不同,172.17.0.x是默认的docker IP范围。所以我认为你需要改变像--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}这样的泊坞开始参数,你可以使用10.0.0.0/16作为FLANNEL_SUBNET你想要一个基本的设置。