etcdadm init 3.4.7 版本,命令失败,标志未知

etcdadm init with 3.4.7 version, command fails with unknown flag

我正在使用 etcdadm 命令创建 etcd 集群,初始化失败并显示 --version unkown 标志。

如何使用最新的 etcd 版本创建 etcd 集群?

# ./etcdadm --version "3.4.7" init
INFO[0000] [install] extracting etcd archive /var/cache/etcdadm/etcd/v3.4.7/etcd-v3.4.7-linux-amd64.tar.gz to /tmp/etcd809914410
INFO[0000] [install] verifying etcd 3.4.7 is installed in /opt/bin/
FATA[0000] [install] Error: command "/opt/bin/etcdctl" failed: "Error: unknown flag: --version\n\nError: unknown flag: --version\n"

配置3.4.7版本,需要设置ETCDCTL_API环境变量

这样编译:

git clone https://github.com/kubernetes-sigs/etcdadm.git
cd etcdadm/
docker run --rm -it --name golang -v $PWD:/v golang
cd /v
make
ls

可以这样创建数据库:

# ETCDCTL_API=3 ./etcdadm --version "3.4.7" init
INFO[0000] [install] extracting etcd archive /var/cache/etcdadm/etcd/v3.4.7/etcd-v3.4.7-linux-amd64.tar.gz to /tmp/etcd129983779
INFO[0000] [install] verifying etcd 3.4.7 is installed in /opt/bin/
INFO[0000] [certificates] creating PKI assets
INFO[0000] creating a self signed etcd CA certificate and key files
[certificates] Generated ca certificate and key.
INFO[0000] creating a new server certificate and key files for etcd
[certificates] Generated server certificate and key.
[certificates] server serving cert is signed for DNS names [node01] and IPs [x.x.x.x  127.0.0.1]
INFO[0000] creating a new certificate and key files for etcd peering
[certificates] Generated peer certificate and key.
[certificates] peer serving cert is signed for DNS names [node01] and IPs [x.x.x.x ]
INFO[0001] creating a new client certificate for the etcdctl
[certificates] Generated etcdctl-etcd-client certificate and key.
INFO[0001] creating a new client certificate for the apiserver calling etcd
[certificates] Generated apiserver-etcd-client certificate and key.
[certificates] valid certificates and keys now exist in "/etc/etcd/pki"
INFO[0002] [health] Checking local etcd endpoint health
INFO[0002] [health] Local etcd endpoint is healthy