二进制安装部署etcd集群

网友投稿 274 2022-11-05

二进制安装部署etcd集群

安装cfssl

wget +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64

mv cfssl_linux-amd64 /usr/local/bin/cfsslmv cfssljson_linux-amd64 /usr/local/bin/cfssljsonmv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

CA证书配置文件和CA签名文件

[root@master ~]# mkdir k8s[root@master ~]# cd k8s

CA证书配置文件

cat > ca-config.json <

CA签名文件

cat > ca-csr.json <

生成ca-key.pem密钥和ca.pem证书

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

[root@master k8s]# lsca-config.json ca.csr ca-csr.json ca-key.pem ca.pem

制作etcd server端的签名,其它组件签名类似

cat > etcd-csr.json <

为etcd制作证书

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

① 首先,必须先向CA机构申请证书,并且说明申请证书的用途(ca-config.json ——》制作CA官方的证书文件,包含ca-Key.pem 密钥文件+ ca.pem 证书文件 ——————》官方的

③ 再根据官方认证的CA.PEM + CA-KEY.PEM 来制作server端的证书

[root@master k8s]# lsca-config.json ca.csr ca-csr.json ca-key.pem ca.pem etcd.csr etcd-csr.json etcd-key.pem etcd.pem

准备ETCD包

etcd-v3.3.10-linux-amd64.tar.gz

创建配置文件,命令文件

[root@localhost k8s]# mkdir /opt/etcd/{cfg,bin,ssl} -p

拷贝命令文件至相应目录

[root@localhost k8s]# mv etcd-v3.3.10-linux-amd64/etcd etcd-v3.3.10-linux-amd64/etcdctl /opt/etcd/bin/

拷贝证书文件至相应目录

root@localhost k8s]# cp *.pem /opt/etcd/ssl/

制作etcd配置文件

cat </opt/etcd/cfg/etcd #在指定工作目录创建ETCD的配置文件#[Member]ETCD_NAME="etcd01" #etcd名称ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS=" #etcd IP地址:2380端口。用于集群之间通讯ETCD_LISTEN_CLIENT_URLS=" #etcd IP地址:2379端口,用于开放给外部客户端通讯#[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS=" #对外提供的url使用 #tokens 令牌环名称:etcd-clusterETCD_INITIAL_CLUSTER_STATE="new" #状态,重新创建EOF

定义etcd启动脚本

cat </usr/lib/systemd/system/etcd.service[Unit] #基本项Description=Etcd ServerAfter=network.targetAfter=network-online.targetWants=network-online.target[Service] #服务项Type=notifyEnvironmentFile=/opt/etcd/cfg/etcd #etcd文件位置 ExecStart=/opt/etcd/bin/etcd \ #准启动状态及以下的参数--name=${ETCD_NAME} \--data-dir=${ETCD_DATA_DIR} \--listen-peer-urls=${ETCD_LISTEN_PEER_URLS} \--listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},\--advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} \ #以下为群集内部的设定--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \--initial-cluster=${ETCD_INITIAL_CLUSTER} \--initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} \ #群集内部通信,也是使用的令牌,为了保证安全(防范中间人窃取)--initial-cluster-state=new \--cert-file=/opt/etcd/ssl/etcd.pem \ #证书相关参数--key-file=/opt/etcd/ssl/etcd-key.pem \--peer-cert-file=/opt/etcd/ssl/etcd.pem \--peer-key-file=/opt/etcd/ssl/etcd-key.pem \--trusted-ca-file=/opt/etcd/ssl/ca.pem \--peer-trusted-ca-file=/opt/etcd/ssl/ca.pemRestart=on-failureLimitNOFILE=65536 #开放最多的端口号[Install]WantedBy=multi-user.target #进行启动EOF

重载参数

systemctl daemon-reload #参数重载systemctl enable etcdsystemctl restart etcd

拷贝证书去其他节点

[root@localhost k8s]# scp -r /opt/etcd/ root@192.168.226.130:/opt/[root@localhost k8s]# scp -r /opt/etcd/ root@192.168.226.131:/opt

启动脚本拷贝其他节点

[root@localhost k8s]# scp /usr/lib/systemd/system/etcd.service root@192.168.226.130:/usr/lib/systemd/system/[root@localhost k8s]# scp /usr/lib/systemd/system/etcd.service root@192.168.226.131:/usr/lib/systemd/system/

修改node节点

[root@localhost ~]# vim /opt/etcd/cfg/etcdETCD_NAME="etcd02"ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="ssl]# systemctl start etcd[root@localhost ssl]# systemctl status etcd

查看etcd集群状态

cd /root/k8s//opt/etcd/bin/etcdctl --ca-file=ca.pem --cert-file=etcd.pem --key-file=etcd-key.pem --endpoints="cluster-healthmember 71154e5294d6d635 is healthy: got healthy result from 8128486024ec0d26 is healthy: got healthy result from e1442f621f4321d9 is healthy: got healthy result from is healthy

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:暴力creak及端口扫描详解
下一篇:mybatis实现遍历Map的key和value
相关文章

 发表评论

暂时没有评论,来抢沙发吧~