我在centos 7,3节点集群中配置了kubernetes 1.6.2。当我部署pod时,我得到每个pod的uniq ip地址。我也看到网络接口创建了docker0,flannel.1和cni0。但是当我查询etcd时,我没有看到任何价值。
# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
node-hello-3045857680-fg1b4 1/1 Running 0 1h 10.244.1.3 node-01
node-hello-3045857680-q84jt 1/1 Running 0 1h 10.244.2.4 node-02
node-hello-3045857680-sbcz0 1/1 Running 0 2h 10.244.2.3 node-02
node-hello-3045857680-tmjgr 1/1 Running 0 1h 10.244.2.5 node-02
node-hello-3045857680-wwhn4 1/1 Running 0 2h 10.244.1.2 node-01
我将这些部署到yaml文件中。
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# etcdctl get /atomic.io/network/config
{"Network":"10.20.0.0/16"}
# etcdctl ls / --recursive
/atomic.io
/atomic.io/network
/atomic.io/network/config
配置为与etcd通信的Api进程。
root 4597 4571 1 20:52 ? 00:02:29 kube-apiserver --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,ResourceQuota,DefaultTolerationSeconds --requestheader-username-headers=X-Remote-User --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-allowed-names=front-proxy-client --service-cluster-ip-range=10.96.0.0/12 --client-ca-file=/etc/kubernetes/pki/ca.crt --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --insecure-port=0 --storage-backend=etcd3 --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --service-account-key-file=/etc/kubernetes/pki/sa.pub --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --allow-privileged=true --experimental-bootstrap-token-auth=true --requestheader-group-headers=X-Remote-Group --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --secure-port=6443 --tls-private-key-file=/etc/kubernetes/pki/apiserver.key --authorization-mode=RBAC --advertise-address=192.168.15.101 --etcd-servers=http://127.0.0.1:2379
我希望在etcd数据库中看到新创建的IP地址,不确定为什么它不会更新到etcd。
解决此问题的任何帮助。
由于 -SR
答案 0 :(得分:1)
Kubernetes> 1.6默认使用etcd v3,从我可以看到你正在查询etcd v2,所以你没有看到当前的kubernetes键。要查询etcd v3,您必须设置$work->types()->name
,然后检查特定密钥。请记住,etcdctl v3命令与etcd v2不同。请在此处查看:https://github.com/coreos/etcd/tree/master/etcdctl