K8S中Etcd部署

1、制作自签证书SSL证书

使用cfssl来制作证书。

目前环境如下:

192.168.31.63  master     、   192.168.31.65  node01         、 192.168.31.66  node02

在master上操作

随后cat配合EOF生成ca-config.json 、 ca-csr.json 、 server-csr.json  (文件内容参考阿良博客,注意修改server-csr.json 里面的host IP)

通过重定向生成文件,然后使用cfssl来生成ca证书 (.pem结尾的文件)

ca-config.json 和 ca-csr.json

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

此时生成了 ca-key.pem和ca.pem (这里就相当于CA机构,为后续的网站颁发证书)

下面的server-csr.json是关于ETCD的证书 ,蓝框里面写对应的IP

重定向生成server-csr.json,执行指令

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www server-csr.json | cfssljson -bare server

此时生成了 server-key.pem 和 server.pem

2、部署ETCD数据库集群

下载etcd所需的包 ,之后解压,要用到里面的可执行文件为 etcd 和 etcdctl

wget  https://github.com/etcd-io/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz

1、专门创建etcd文件,将 etcd和 etcdctl放到 /opt/etcd/bin下

2、etcd生成配置文件  ,这里会用到 etcd.sh

复制pem证书到 /opt/etcd/ssl (主要会用到 ca.pem 、server-key.pem 、 server.pem)

===========分割线===========

用到是 /opt/etcd/cfg/etcd 和 /usr/lib/systemd/system/etcd.service

下面部署其他node节点 31.65 和  31.66

现在将 /opt/etcd文件拷贝到 31.65 和 31.66

和 /usr/lib/systemd/system/etcd.service

随后修改 /opt/etcd/cfg/etcd 的IP和名称

31.65的操作:

31.66的修改:

启动排错  (将刚才的 ETCD_NAME改成 etcd03即可)

 

============分割线=========

查看ETCD健康状态

2379 是数据状态端口  ,2380 是集群的端口

如果etcd报错了,排查思路。

  1. 查看系统日志/var/log/messages  和  journalctl -u etcd​​​​​​​
  2. cfssl-certinfo - -cert /opt/etcd/ssl/server , 主看IP群有没有设置错误

ETCD到此完成部署

            </div>
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐