K8S单master部署一:环境规划、ETCD部署
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,实验环境规划概述使用VMwork虚拟机部署单master双node的小型集群,并且在master和node上都安装etcd来实现etcd集群。软件采用版本软件名称版本Linux系统Linux vers
千家信息网最后更新 2025年12月01日K8S单master部署一:环境规划、ETCD部署
实验环境规划
概述
使用VMwork虚拟机部署单master双node的小型集群,并且在master和node上都安装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未完待续~~~
节点
证书
文件
地址
配置
名称
生成
通信
之间
脚本
软件
推送
服务
验证
健康
二进制
命令
成员
方面
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
联想服务器通过管理口装系统
砀山网络安全
数据库视图中删除一组数据库
桔子网络技术官网
神经网络技术包括
江西家用软件开发单价
软件工程数据库技术方向专业
巴中市网络安全宣传
打车软件开发难吗
印记(深圳)网络技术
网络技术知识要点
温州运营网络技术市场价格
服务器idc排名2020年
数据库的安全性测试
希望小学生对网络安全的认识
视频综合安防管理平台含服务器
国泰安数据库CEO的任期
php运行的服务器
查找数据库表空间路径
高速服务器组建
北京工业软件开发哪家专业
摩拜互联网科技大会
直销软件开发来问 直销大师
简历软件开发经验
打车软件开发难吗
上海软件开发选自志先科技
米拉奇战记哪个服务器好
深圳dell服务器总代
中华总工会网络安全职业大赛
平顶山软件开发销售价格