Kubernetes高可用部署之etcd

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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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