Kubernetes高可用部署之etcd

举报
长风舞魂 发表于 2018/12/30 08:06:13 2018/12/30
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。