kubernetes单节点部署ETCD的教程
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家分享的是kubernetes单节点部署ETCD的教程。小编觉得挺实用的,因此分享给大家学习。如下资料是关于部署ETCD的内容。软件采用版本软件名称版本Linux系统Linux versi
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
软件开发毕业论文代码
手机总提示无法连接网络服务器
山西服务器机柜哪种好
软件开发模型的理解
土豆服务器真的好吗
阿里巴巴服务器怎么注册
四川省软件开发定制
蔚来软件开发团队人数
电信的网络安全类型
联想服务器usb接口灯不亮
网络安全监督检查考核制度
金山区口碑好的软件开发销售方法
校园服务器如何设置
什么是web服务器地址
建立案例数据库好处
网络安全的目标及其关键技术
为网络安全工作
mirna比对数据库
dell服务器虚拟化优化
手机网络安全测试
怎样进入服务器的计算机管理
3级网络技术考试软件
羲和数据库
与数据库访问技术
广州弘泽网络技术有限公司工资
辅助服务器怎么加入dnf
服务器tcp和udp有什么区别
成都慕课网络技术有限公司
零猫互联网科技有限公司
网络安全工程师去哪学