Kubeadm 部署 使用flannel无法连接service/kubernetes
最近在看cncf,PV/PVC这块之前使用kubernetes时候还不成熟,准备复习下,准备使用nfs 来学习下,在使用dynamic 模式,部署nfs-client-provisioner 失败,使用kubectl logs 查看对应对应pod,报如下错误:1 provisioner.go:180] Error getting server version: Get https://10.96.
最近在看cncf,PV/PVC这块之前使用kubernetes时候还不成熟,准备复习下,准备使用nfs 来学习下,在使用dynamic 模式,部署nfs-client-provisioner 失败,使用kubectl logs 查看对应对应pod,报如下错误:
1 provisioner.go:180] Error getting server version: Get https://10.96.0.1:443/version?timeout=32s: dial tcp 10.96.0.1:443: i/o timeout
查看provisioner.go 代码,发现是
serverVersion, err := clientset.Discovery().ServerVersion()
if err != nil {
glog.Fatalf("Error getting server version: %v", err)
}
发现是标准访问kubernetes api的连接,理论上应该不会有问题,进一步查看发现这个ip是
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 41m
再查看kubernetes 启动的进程
[root@master ~]# ps -ef|grep kube|grep 10.96
root 17570 17507 1 06:15 ? 00:00:33 kube-apiserver --advertise-address=192.168.157.132 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-allowed-names=front-proxy-client --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6443 --service-account-key-file=/etc/kubernetes/pki/sa.pub --service-cluster-ip-range=10.96.0.0/12 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
感觉也没有问题,突然想到是否由于flannel网络问题导致呢,查到如下blog
https://gravitational.com/blog/kubernetes-flannel-dashboard-bomb/
发现果然如此,使用 kubectl edit cm -n kube-system kube-flannel-cfg 查看到如下内容:
apiVersion: v1
data:
cni-conf.json: |
{
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
net-conf.json: |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}
重新安装kubernetes 使用默认–pod-network-cidr=10.244.0.0/16 ,done.
更多推荐
所有评论(0)