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)