Kubernetes高可用部署之etcd
【摘要】 etcd是key-value类型的数据库,用来存储K8S的各类配置和资源信息的,如pod状态表,node,flannel等信息都存在里面。这款数据库由CoreOS开发。CoreOS和Docker公司曾经是合作关系,后类因为容器化标准而分手,CoreOS拉上GOOGLE等大公司进来参考竞争,IT领域只有广泛被大型IT企业使用和认可的技术才能发扬广大,所以K8S进来了。 ...
etcd是key-value类型的数据库,用来存储K8S的各类配置和资源信息的,如pod状态表,node,flannel等信息都存在里面。这款数据库由CoreOS开发。CoreOS和Docker公司曾经是合作关系,后类因为容器化标准而分手,CoreOS拉上GOOGLE等大公司进来参考竞争,IT领域只有广泛被大型IT企业使用和认可的技术才能发扬广大,所以K8S进来了。
本文把etcd放到node1、node2和node3上面去,实行高可用。节点就是我们前面说的192.168.99.110、192.168.99.111和192.168.99.112
下面我们是在node1上面的操作:
下载
wget https://github.com/coreos/etcd/releases/download/v3.3.7/etcd-v3.3.7-linux-amd64.tar.gz tar -xvf etcd-v3.3.7-linux-amd64.tar.gz
然后把etcd数据库复制到192.168.99.111和192.168.99.112节点。
创建证书请求文件etcd-csr.json
{ "CN": "etcd", "hosts": [ "127.0.0.1", "192.168.99.110", #这里的IP地址不能写错,证书说到底是身份信息的说明,如果不一样,通过不了的 "192.168.99.111", "192.168.99.112" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "k8s", "OU": "4Paradigm" } ] }
按上面的请求文件生成证书和私钥
cfssl gencert -ca=/etc/kubernetes/cert/ca.pem \ -ca-key=/etc/kubernetes/cert/ca-key.pem \ -config=/etc/kubernetes/cert/ca-config.json \ -profile=kubernetes etcd-csr.json | cfssljson -bare etcd
把证明复制到node2和node3上面去
写etcd配置:这里面有习惯问题,有人喜欢把证书及配置放到systemd/system/etcd.service,也有人喜欢把证书和配置写到etcd配置里面。这里我们就不写了。大家按自己喜好吧。
启动etcd
systemctl daemon-reload && systemctl enable etcd && systemctl restart etcd &&systemctl status etcd
检查:
etcdctl cluster-info
有个网址出现,表示正常。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)