kubernetes单节点部署ETCD的教程
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章给大家分享的是kubernetes单节点部署ETCD的教程。小编觉得挺实用的,因此分享给大家学习。如下资料是关于部署ETCD的内容。软件采用版本软件名称版本Linux系统Linux versi
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
英雄联盟手游绑定网络安全
中文数据库文献检索
访问部署在云服务器的数据库
地理信息数据库招聘
卸载mysql数据库服务
网络技术员岗位实习内容
cs1.6服务器2017
oracle数据库 索引
同一服务器网站查询
视频会议服务器要求
如何把云端服务器的声音
达州市公安局网络安全支队
数据库的完整性为
字节跳动云服务器怎么升级
NE示例数据库是啥
服务器制作图片推荐
sql 数据库 加密
长沙软件开发招聘ios
未成年人网络安全规定
巴彦淖尔数据库恢复
办公现场网络安全检查
服务器一个区多少人
二型网络安全测评
江苏超频服务器厂家直销
网络安全领域境外学术交流
服务器配置内存怎么选
采用三层架构进行软件开发的优点
linux查服务器型号
数据库形考册答案
怀旧服哪些服务器扩容过