首页 > 其他 > 详细

etcdadm使用简介

时间:2020-12-11 16:36:46      阅读:27      评论:0      收藏:0      [点我收藏+]
在搭建k8s集群的时候,我们经常使用kubeadm,这个工具能帮助我们非常方便的快速搭建一个高可用的,线上可用的k8s集群。出于一些原因,我们经常需要etcd集群独立于k8s集群之外,有什么办法能想kubeadm一样快速搭建一个etcd集群呢?今天我们就来介绍一下etcdadm

使用etcdadm非常简单。下载最新版到需要安装etcd的主机上即可。

常用命令

新建一个集群: 
etcdadm init
常用参数:
--certs-dir: 指定etcd证书存放路径,默认为/etc/etcd/pki
--install-dir: 指定etcd命令存放路径,默认为/opt/bin/
--name: 设置节点名称,对应ETCD_NAME
--release-url: 指定下载地址,默认为https://github.com/coreos/etcd/releases/download 此地址会与version参数拼接成下载地址,格式为 https://github.com/coreos/etcd/releases/download/v{version}/etcd-v{version}-linux-amd64.tar.gz
--server-cert-extra-sans: 用于额外指定dns地址,默认包括127.0.0.1,本机地址,ETCD_NAME
--snapshot: 用快照数据初始化一个集群
--version: 指定启动etcd的版本,默认为3.3.8

向现有集群添加一个节点: 
将一个节点加入到集群内。一个新节点加入集群前,必须手动将其他节点的ca证书复制到certs-dir下。
etcdadm join  https://first-etcd-node-ip:2379
参数和上面的一致。

移除一个节点: 
将一个节点从集群中删掉,并会自动清理相关文件
etcdadm reset

问题

etcd很方便,很好用,但是也有一些问题:

  1. 截止到2020-06的v0.1.3版本,etcdadm还不支持etcd v3.4之后到版本。因为etcd v3.4之后,etcd的默认API版本由v2变更为v3, v3 版本的etcdctl 查看version 和v2版本 不一样,导致etcdadm版本验证报错。相关issue
  2. 目前不支持配置额外的etcd 参数,要想增加参数,需要手动修改并维护所有主机上的etcd.env 文件。
  3. 和kubeadm一样,ca证书有效期为10年,其他证书有效期为1年,而且目前还不支持renew证书。
  4. 只支持使用root用户部署

总结

综上所述,我认为etcdadm 还只是非常适合在测试或者要求不高的场景下使用。真的需要在生产环境上部署高可用的etcd集群的话,还是推荐使用saltstack或者ansible 等工具部署,自由度更高一些。

etcdadm使用简介

原文:https://blog.51cto.com/14601432/2562819

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!