Kubectl shell commands
· One min read
查看可用的 api 版本:
kubectl api-versions
查看可用的 api 版本:
kubectl api-versions
Kubernetes 配置过程中如果出了问题, 可以用 kubeadm reset 重置 Kubernetes cluster 状态, 但如果使用了外部 etcd cluster, 则执行 kubeadm reset 不会清除外部 etcd cluster 中的数据, 也就意味着如果再次执行 kubeadm init, 则会看到上一个 kubenetes cluster 中的数据。
查询和手动清除外部 etcd cluster 的方式如下(以 Kubernetes 1.13.3 为例):
1. 查询所有数据:
docker run --rm -it --net host -v /etc/kubernetes:/etc/kubernetes -e ETCDCTL_API=3 k8s.gcr.io/etcd:3.2.24 etcdctl --cert="/etc/kubernetes/pki/etcd/healthcheck-client.crt" --key="/etc/kubernetes/pki/etcd/healthcheck-client.key" --cacert="/etc/kubernetes/pki/etcd/ca.crt" --endpoints https://etcd1.cloud.k8s:2379 get "" --prefix
2. 删除所有数据:
docker run --rm -it --net host -v /etc/kubernetes:/etc/kubernetes -e ETCDCTL_API=3 k8s.gcr.io/etcd:3.2.24 etcdctl --cert="/etc/kubernetes/pki/etcd/healthcheck-client.crt" --key="/etc/kubernetes/pki/etcd/healthcheck-client.key" --cacert="/etc/kubernetes/pki/etcd/ca.crt" --endpoints https://etcd1.cloud.k8s:2379 del "" --prefix
指令中的几个关键点:
参考:
External etcd clean up: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-reset/#external-etcd-clean-up