我在几个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.
谢谢。
答案 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
你想要一个基本的设置。