Tired of typing etcdctl
? why not mount it to local filesystem and open in your favorite editors?
Wondering how Kubernetes organizes data in etcd? After mounting it locally, we can use VS Code to get the whole picture:
Hint: steps to mount Kubernetes etcd locally:
$ # scp etcd certificates to a local directory (keep them carefully)
$ scp -r <kubernetes-master-ip>:/etc/kubernetes/pki/etcd .
$ # mount to a local directory
$ etcdfs --endpoints=<kubernetes-master-ip>:2379 --cacert etcd/ca.crt --key etcd/server.key --cert etcd/server.crt mnt
$ # open it in VS code
$ code mnt
# WIP
curl | bash
style downloads to /usr/local/bin
$ curl -sfL https://raw.githubusercontent.com/polyrabbit/etcdfs/master/.godownloader.sh | bash -s -- -d -b /usr/local/bin
$ go get -u github.com/polyrabbit/etcdfs
$ etcdfs
Mount etcd to local file system - find help/update from https://github.com/polyrabbit/etcdfs
Usage:
etcdfs [mount-point] [flags]
Flags:
--endpoints strings etcd endpoints (default [127.0.0.1:2379])
--dial-timeout duration dial timeout for client connections (default 2s)
--read-timeout duration timeout for reading and writing to etcd (default 3s)
-v, --verbose verbose output
--enable-pprof enable runtime profiling data via HTTP server. Address is at "http://localhost:9327/debug/pprof"
--cert string identify secure client using this TLS certificate file
--key string identify secure client using this TLS key file
--cacert string verify certificates of TLS-enabled secure servers using this CA bundle
--mount-options strings options are passed as -o string to fusermount (default [nonempty])
-h, --help help for etcdfs
Notice: etcdfs
has a very similar CLI syntax to etcdctl
.
yum/apt-get install -y fuse
/
(the same as *nix), more will be supported in the future. Most commonly used POSIX operations are supported:
/
in etcdThe MIT License (MIT) - see LICENSE.md for more details