0

我在centos 7、3节点集群中配置了kubernetes 1.6.2。当我部署 pod 时,我得到每个 pod 的 uniq ip 地址。我还看到创建了 docker0、flannel.1 和 cni0 的网络 iinterface。但是当我查询 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

4

1 回答 1

1

Kubernetes >1.6 默认使用 etcd v3,据我所知,您正在查询 etcd v2,因此您看不到当前的 kubernetes 键。为了查询 etcd v3,您必须设置ETCDCTL_API=3然后检查特定键。请记住,etcdctl v3 命令与 etcd v2 不同。在这里查看:https ://github.com/coreos/etcd/tree/master/etcdctl

于 2017-05-15T15:30:40.553 回答