Comment obtenir les clés liées à Kubernetes depuis etcd? J'ai essayé de répertorier les clés dans etcd mais je n'ai pas pu voir les clés associées. Où est également installé etcdctl?
$ etcdctl
bash: etcdctl: command not found..
$ Sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2379 0.0.0.0:* LISTEN 386/etcd
tcp 0 0 127.0.0.1:2380 0.0.0.0:* LISTEN 386/etcd
$ curl -s http://localhost:2379/v2/keys | python -m json.tool
{
"action": "get",
"node": {
"dir": true
}
}
Installé Kubernetes 1.8.5 en suivant tilisation de kubeadm pour créer un cluster sur CentOS 7. Quand j'ai regardé Pour commencer avec etcd , v2/keys semble être le point final.
En général, vous devez obtenir etcdctl
par vous-même. Téléchargez simplement la dernière archive etcdctl
depuis page des versions etcd .
De plus, à partir de Kubernetes version 1.6, il utilise etcd version 3, donc pour obtenir une liste de toutes les clés, c'est:
ETCDCTL_API=3 etcdctl --endpoints=<etcd_ip>:2379 get / --prefix --keys-only
Vous pouvez trouver tous les etcdctl v3
actions utilisant:
ETCDCTL_API=3 etcdctl --endpoints=<etcd_ip>:2379 --help
[~ # ~] éditez [~ # ~] (merci à @leodotcloud):
Dans le cas où ETCD est configuré avec la prise en charge des certificats TLS:
ETCDCTL_API=3 etcdctl --endpoints <etcd_ip>:2379 --cacert <ca_cert_path> --cert <cert_path> --key <cert_key_path> get / --prefix --keys-only
Accédez au conteneur Docker et exécutez la commande suivante:
ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key get / --prefix --keys-only
J'avais besoin d'utiliser etcdctl avec etcd installé sur CoreOS (Container Linux). Dans mon cas, les éléments suivants ont fonctionné (exécutés à partir de CoreOS Shell Prompt):
$ Sudo ETCDCTL_API=3 etcdctl --cacert /etc/ssl/etcd/etcd/peer-ca.crt --cert /etc/ssl/etcd/etcd/peer.crt --key /etc/ssl/etcd/etcd/peer.key get --prefix / --keys-only
J'ai utilisé Sudo
comme solution rapide au problème d'autorisation "Erreur: ouvrez /etc/ssl/etcd/etcd/peer.crt: autorisation refusée".