我正在使用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