etcd наблюдатели через миникуб - PullRequest
0 голосов
/ 02 июля 2019

Есть ли хороший способ доступа к хранилищу данных etcd кластера мини-кубов?Я пытаюсь создать наблюдателя за событиями на kubernetes pods, но мне нужно посмотреть журнал изменений etcd.До сих пор я запустил kubectl exec -it --namespace kube-system etcd-minikube sh, который отправил меня по ssh-s на хост-машину minikube, но оттуда я не могу получить доступ к etcd, etcdctl раз и даже не могу запустить python,Есть ли чистый способ сделать это?Ссылки кажутся устаревшими.

https://github.com/kubernetes/minikube/blob/master/docs/accessing_etcd.md устарела, как и любые другие источники, ссылающиеся на localkube.

1 Ответ

0 голосов
/ 03 июля 2019

Я смог проверить мини-куб v1.2.0 etcd v3 канал соединения через gRPC протокол обмена сообщениями, и он отлично работает.

Я проверяю соединение двумя способами: непосредственно в etcd-minikube Pod и извне с моего хост-компьютера minikube через etcdctl двоичный файл, введенный туда.

Minikube ETCD Инвентаризация сертификатов находится здесь: /var/lib/minikube/certs/etcd/, и я использовал некоторые из этих сертификатов для аутентификации в хранилище etcd.

Вы можете использовать приведенную ниже строку запроса для подключения из etcd-minikube Pod, но сначала вы должны распространить сертификаты etcd в этот Pod; это можно сделать с помощью команды kubectl cp:

sudo kubectl cp /var/lib/minikube/certs/etcd/ etcd-minikube:/SOME_PATH -n kube-system

ETCDCTL_API=3 etcdctl --cacert=/PATH/TO/ETCD/CERTS/ca.crt --key=/PATH/TO/ETCD/CERTS/server.key --cert=/PATH/TO/ETCD/CERTS/server.crt get / --prefix --keys-only

Строка запроса с моего хоста minikube, обращающегося к конечной точке etcd:

ETCDCTL_API=3 etcdctl --cacert=/PATH/TO/ETCD/CERTS/ca.crt --key=/PATH/TO/ETCD/CERTS/server.key --cert=/PATH/TO/ETCD/CERTS/server.crt --endpoints "https://$(minikube ip):2379" get / --prefix --keys-only

...