Kubernetes flannel etcd 不更新
Kubernetes flannel etcd not upading
我已经在 centos 7、3 节点集群中配置了 kubernetes 1.6.2。当我部署 pods 时,我得到了每个 pod 的 uniq ip 地址。我还看到网络 ineterface 创建了 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
Api 配置为与 etcd 通信的进程。
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
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
我已经在 centos 7、3 节点集群中配置了 kubernetes 1.6.2。当我部署 pods 时,我得到了每个 pod 的 uniq ip 地址。我还看到网络 ineterface 创建了 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
Api 配置为与 etcd 通信的进程。
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
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