Welcome to the Linux Foundation Forum!

is this really necessary: ETCDCTL_API=3


with the goal of making things simpler and save precious time, I wonder if this environment variable that is specified in the doc for etcdctl is really necessary?
In my kubeadm 1.20.2 cluster it looks like that etcd already default to api v3:

kubectl -nkube-system exec pod/etcd-wf-st-cctr1 -- sh -c 'ETCDCTL_API=3 etcdctl --endpoints= --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/peer.crt" --key="/etc/kubernetes/pki/etcd/peer.key" version'
etcdctl version: 3.4.13
API version: 3.4

kubectl -nkube-system exec pod/etcd-wf-st-cctr1 -- sh -c 'etcdctl --endpoints= --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/peer.crt" --key="/etc/kubernetes/pki/etcd/peer.key" version'
etcdctl version: 3.4.13
API version: 3.4


  • chrispokorni
    chrispokorni Posts: 2,208

    Hi @ltosolini,

    With the release of etcd version 3, the export of the v3 variable was necessary early on because it was still supporting both API versions, v2 and v3, and it was defaulting to v2. At this point v3 may be mature enough and the API may already default to v3, in which case the variable export may no longer be needed.



Upcoming Training