kubernetes单节点部署ETCD的教程
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是kubernetes单节点部署ETCD的教程。小编觉得挺实用的,因此分享给大家学习。如下资料是关于部署ETCD的内容。软件采用版本软件名称版本Linux系统Linux versi
千家信息网最后更新 2026年11月01日kubernetes单节点部署ETCD的教程
这篇文章给大家分享的是kubernetes单节点部署ETCD的教程。小编觉得挺实用的,因此分享给大家学习。如下资料是关于部署ETCD的内容。
软件采用版本
| 软件名称 | 版本 |
|---|---|
| Linux系统 | Linux version 4.8.5 |
| Kubernetes | 1.9 |
| Docker | Docker version 19.03.5 |
| Etcd | v3.3.10 |
服务器角色分配
| 角色 | 地址 | 安装组件 |
|---|---|---|
| master | 192.168.142.220 | kube-apiserver kube-controller-manager kube-scheduler etcd |
| node1 | 192.168.142.136 | kubelet kube-proxy docker flannel etcd |
| node2 | 192.168.142.132 | kubelet kube-proxy docker flannel etcd |
前期注意
所有实验虚拟机均已关闭selinux核心防护功能
建立工作目录用于存放二进制软件包
[root@master ~]# cd /[root@master /]# mkdir k8s安装ETCD数据库(三节点备份)
master端方面
下载ca证书创建、管理工具cfssl
[root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl[root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson[root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo[root@master k8s]# chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo生成ca证书
//定义ca证书,生成ca证书配置文件[root@master k8s]# cat > ca-config.json < ca-csr.json < 生成etcd各节点之间通信证书
(注意IP地址的变化)
//生成etcd节点之间的通信验证签名//节点地址必须要更改[root@master k8s]# cat > server-csr.json <配置etcd二进制文件包
//解压安装etcd[root@master k8s]# tar zxf etcd-v3.3.10-linux-amd64.tar.gz//建立存放etcd配置文件、命令、证书的目录[root@master k8s]# mkdir -p /opt/etcd/{cfg,bin,ssl}[root@master k8s]# ls /opt/etcd/bin cfg ssl//将etcd中的文件分门别类存放[root@master k8s]# mv etcd-v3.3.10-linux-amd64/etcd /opt/etcd/bin/[root@master k8s]# mv etcd-v3.3.10-linux-amd64/etcdctl /opt/etcd/bin/[root@master k8s]# cp -p *.pem /opt/etcd/ssl///etcd命令文件[root@master k8s]# ls /opt/etcd/bin/etcd etcdctl//etcd证书[root@master k8s]# ls /opt/etcd/ssl/ca-key.pem ca.pem server-key.pem server.pem建立etcd配置文件
[root@master k8s]# cat </opt/etcd/cfg/etcd//[Member]ETCD_NAME="etcd01"ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="https://192.168.142.220:2380"ETCD_LISTEN_CLIENT_URLS="https://192.168.142.220:2379"//[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.142.220:2380"ETCD_ADVERTISE_CLIENT_URLS="https://192.168.142.220:2379"ETCD_INITIAL_CLUSTER="etcd01=https://192.168.142.220:2380,etcd02=https://192.168.142.136:2380,etcd03=https://192.168.142.132:2380"ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"ETCD_INITIAL_CLUSTER_STATE="new"EOF 建立etcd启动脚本
[root@master k8s]# 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/etcdExecStart=/opt/etcd/bin/etcd \--name=etcd01 \--data-dir=\${ETCD_DATA_DIR} \--listen-peer-urls=\${ETCD_LISTEN_PEER_URLS} \--listen-client-urls=\${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \--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/server.pem \--key-file=/opt/etcd/ssl/server-key.pem \--peer-cert-file=/opt/etcd/ssl/server.pem \--peer-key-file=/opt/etcd/ssl/server-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.targetEOF 推送证书、配置文件、启动脚本至node节点上
//将证书、配置文件推送至其它节点[root@master ~]# scp -r /opt/etcd/ root@192.168.142.136:/opt/[root@master ~]# scp -r /opt/etcd/ root@192.168.142.132:/opt///推送启动脚本[root@master ~]# scp /usr/lib/systemd/system/etcd.service root@192.168.142.136:/usr/lib/systemd/system/[root@master ~]# scp /usr/lib/systemd/system/etcd.service root@192.168.142.132:/usr/lib/systemd/system/node端方面
更改各node节点收到的配置文件
node1
[root@node1 etcd]# vim /opt/etcd/cfg/etcd//[Member]ETCD_NAME="etcd02" //节点名称ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="https://192.168.142.136:2380" //节点地址ETCD_LISTEN_CLIENT_URLS="https://192.168.142.136:2379" //节点地址//[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.142.136:2380" //节点地址ETCD_ADVERTISE_CLIENT_URLS="https://192.168.142.136:2379" //节点地址node 2
[root@node2 ~]# vim /opt/etcd/cfg/etcd//[Member]ETCD_NAME="etcd03"ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="https://192.168.142.132:2380" //节点名称ETCD_LISTEN_CLIENT_URLS="https://192.168.142.132:2379" //节点名称//[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.142.132:2380" //节点名称ETCD_ADVERTISE_CLIENT_URLS="https://192.168.142.132:2379" //节点名称所有节点
开启服务
//各节点关防火墙[root@node1 etcd]# systemctl stop firewalld.service[root@node1 etcd]# setenforce 0[root@node1 etcd]# systemctl disable firewalld.service//开启etcd服务[root@node1 etcd]# systemctl start etcd[root@node1 etcd]# systemctl enable etcd群集健康检查,查看群集成员
//群集各节点健康检查[root@master ~]# /opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem \--cert-file=/opt/etcd/ssl/server.pem --key-file=/opt/etcd/ssl/server-key.pem \--endpoints="https://192.168.142.220:2379,https://192.168.142.136:2379,https://192.168.142.132:2379" \cluster-health//查看etcd群集成员[root@master ~]# /opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem \--cert-file=/opt/etcd/ssl/server.pem --key-file=/opt/etcd/ssl/server-key.pem \--endpoints="https://192.168.142.220:2379,https://192.168.142.136:2379,https://192.168.142.132:2379" member list以上就是kubernetes单节点部署ETCD的教程,内容较为全面,而且我也相信有相当的一些工具可能是我们日常工作可能会见到或用到的。通过这篇文章,希望你能收获更多。
节点
证书
文件
地址
配置
名称
生成
通信
之间
脚本
软件
推送
服务
验证
教程
健康
二进制
内容
命令
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
互联网科技卖菜
互联网中国科技
万易互联网科技
唐信互联网科技
时间互联网络科技
长亮科技 互联网金融
互联网科技汛
新华互联网科技校企合作
互联网科技产品
银川新华互联网科技职业技术培训学校图片
注册互联网科技公司经营范围大全
互联网媒体平台算高科技产业
互联网科技和信息
互联网公司黑科技创始人
互联网科技和法律行业
徐州市互联网科技有限公司
湖北辰鑫科技互联网
求路客互联网科技电话
唐山双旺合互联网科技产业园
新华互联网科技
A股互联网金融科技公司
科技互联网公司装修
美国互联网科技巨头监管
互联网科技资迅
哈尔滨新华互联网科技
国大互联网教育科技有限公司工作
风投北京互联网科技
科技信息时代互联网发展
科技互联网企业在行动