ETCD集群安装
本文使用vultr虚拟主机实现
邀请注册链接:http://www.vultr.com/?ref=6940267
购买三台位于东京的主机,东京的主机下载速度比较快
每个主机安装一下常用的软件
yum upgrade -y
yum install -y tree git wget p7zip bridge-utils net-tools vim unzip
配置这三台主机的内网IP地址
参考 www.vultr.com 页面中 Sample Network Configuration
修改主机名
修改/etc/sysconfig/network 不生效
配置各机器的主机名
echo "HOSTNAME=vultr.guest-10" >> /etc/sysconfig/network
echo "HOSTNAME=vultr.guest-11" >> /etc/sysconfig/network
echo "HOSTNAME=vultr.guest-12" >> /etc/sysconfig/network
三台机器同时配置
echo "10.99.0.10 vultr.guest-10" >> /etc/hosts
echo "10.99.0.11 vultr.guest-11" >> /etc/hosts
echo "10.99.0.12 vultr.guest-12" >> /etc/hosts
直接修改各机器的以下这两个文件让hostname生效
echo "vultr.guest-10" >/proc/sys/kernel/hostname
echo "vultr.guest-10" >/etc/hostname
echo "vultr.guest-11" >/proc/sys/kernel/hostname
echo "vultr.guest-11" >/etc/hostname
echo "vultr.guest-12" >/proc/sys/kernel/hostname
echo "vultr.guest-12" >/etc/hostname
hostname
创建工作目录
mkdir -p /opt/etcd/
download etcd
wget https://github.com/coreos/etcd/releases/download/v3.1.3/etcd-v3.1.3-linux-amd64.tar.gz
tar -xvf etcd-v3.1.3-linux-amd64.tar.gz
cp -r etcd-v3.1.3-linux-amd64/etcd /opt/etcd/
cp -r etcd-v3.1.3-linux-amd64/etcdctl /opt/etcd/
ls -l /opt/etcd/
在三个节点机器上创建etcd启动文件
cat <<EOF >/lib/systemd/system/etcd.service
[Unit]
Description=ETCD
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/etcd
ExecStart=/opt/etcd/etcd \$ETCD_NAME \\
\$INITIAL_ADVERTISE_PEER_URLS \\
\$LISTEN_PEER_URLS \\
\$ADVERTISE_CLIENT_URLS \\
\$LISTEN_CLIENT_URLS \\
\$INITIAL_CLUSTER_TOKEN \\
\$INITIAL_CLUSTER \\
\$INITIAL_CLUSTER_STATE \\
\$ETCD_OPTS
Restart=on-failure
EOF
more /lib/systemd/system/etcd.service
设置etcd配置
三台机器各配置一遍(修改一个IP,使用内网IP)该文件为服务的配置文件,三台主机的ETCD_NAME、INITIAL_ADVERTISE_PEER_URLS和ADVERTISE_CLIENT_URLS参数各不相同
ETCD_NAME注意与INITIAL_CLUSTER中的配置一致
cat <<EOF >/etc/sysconfig/etcd
# configure file for etcd
# -name
ETCD_NAME='-name k8sETCD0'
# -initial-advertise-peer-urls
INITIAL_ADVERTISE_PEER_URLS='-initial-advertise-peer-urls http://10.99.0.10:2379'
# -listen-peer-urls
LISTEN_PEER_URLS='-listen-peer-urls http://0.0.0.0:2379'
# -advertise-client-urls
ADVERTISE_CLIENT_URLS='-advertise-client-urls http://10.99.0.10:2378,http://10.99.0.10:2380'
# -listen-client-urls
LISTEN_CLIENT_URLS='-listen-client-urls http://0.0.0.0:2378,http://0.0.0.0:2380'
# -initial-cluster-token
INITIAL_CLUSTER_TOKEN='-initial-cluster-token k8s-etcd-cluster'
# -initial-cluster
INITIAL_CLUSTER='-initial-cluster k8sETCD0=http://10.99.0.10:2379,k8sETCD1=http://10.99.0.12:2379,k8sETCD2=http://10.99.0.11:2379'
# -initial-cluster-state
INITIAL_CLUSTER_STATE='-initial-cluster-state new'
# other parameters
ETCD_OPTS=''
EOF
more /etc/sysconfig/etcd
--------
cat <<EOF >/etc/sysconfig/etcd
# configure file for etcd
# -name
ETCD_NAME='-name k8sETCD1'
# -initial-advertise-peer-urls
INITIAL_ADVERTISE_PEER_URLS='-initial-advertise-peer-urls http://10.99.0.11:2379'
# -listen-peer-urls
LISTEN_PEER_URLS='-listen-peer-urls http://0.0.0.0:2379'
# -advertise-client-urls
ADVERTISE_CLIENT_URLS='-advertise-client-urls http://10.99.0.11:2378,http://10.99.0.11:2380'
# -listen-client-urls
LISTEN_CLIENT_URLS='-listen-client-urls http://0.0.0.0:2378,http://0.0.0.0:2380'
# -initial-cluster-token
INITIAL_CLUSTER_TOKEN='-initial-cluster-token k8s-etcd-cluster'
# -initial-cluster
INITIAL_CLUSTER='-initial-cluster k8sETCD0=http://10.99.0.10:2379,k8sETCD1=http://10.99.0.11:2379,k8sETCD2=http://10.99.0.12:2379'
# -initial-cluster-state
INITIAL_CLUSTER_STATE='-initial-cluster-state new'
# other parameters
ETCD_OPTS=''
EOF
more /etc/sysconfig/etcd
----------
cat <<EOF >/etc/sysconfig/etcd
# configure file for etcd
# -name
ETCD_NAME='-name k8sETCD2'
# -initial-advertise-peer-urls
INITIAL_ADVERTISE_PEER_URLS='-initial-advertise-peer-urls http://10.99.0.12:2379'
# -listen-peer-urls
LISTEN_PEER_URLS='-listen-peer-urls http://0.0.0.0:2379'
# -advertise-client-urls
ADVERTISE_CLIENT_URLS='-advertise-client-urls http://10.99.0.12:2378,http://10.99.0.12:2380'
# -listen-client-urls
LISTEN_CLIENT_URLS='-listen-client-urls http://0.0.0.0:2378,http://0.0.0.0:2380'
# -initial-cluster-token
INITIAL_CLUSTER_TOKEN='-initial-cluster-token k8s-etcd-cluster'
# -initial-cluster
INITIAL_CLUSTER='-initial-cluster k8sETCD0=http://10.99.0.10:2379,k8sETCD1=http://10.99.0.11:2379,k8sETCD2=http://10.99.0.12:2379'
# -initial-cluster-state
INITIAL_CLUSTER_STATE='-initial-cluster-state new'
# other parameters
ETCD_OPTS=''
EOF
more /etc/sysconfig/etcd
-----------
启动时出现 “没有到主机的路由” 错误
centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
firewall-cmd --state
systemctl stop firewalld.service
参考:
http://www.bubuko.com/infodetail-1013314.html
启动ETCD集群
systemctl daemon-reload
systemctl start etcd
检查etcd版本号
curl -L http://10.99.0.10:2380/version
curl -L http://10.99.0.11:2380/version
curl -L http://10.99.0.12:2380/version
相关推荐
本资料包重点讲解如何使用kubeadm来初始化一个高可用的Kubernetes 1.20.4集群,同时将etcd集群独立设置在Kubernetes集群之外,以增强系统的稳定性和可管理性。 **一、etcd集群** etcd是CoreOS开发的一个分布式的、...
**etcd集群部署详解** etcd是一个分布式的、高可用的键值存储系统,用于共享配置和服务发现。在Kubernetes(k8s)环境中,etcd扮演着核心角色,存储了集群的所有状态信息,包括Pod、Service、Deployment等对象的...
k8s二进制安装文档--etcd集群配置.txt
etcd集群备份和数据恢复
使用RKE构建企业生产Kubernetes集群 内容包含: 1.集群主机准备 2.daocker部署 3.docker compose安装 4.添加rancher用户 5.生成ssh证书用户部署集群 6.rke工具下载 7.初始化rke配置文件 ....
`ansible-role-etcd` 是一个专门为安装和配置etcd集群而设计的Ansible角色。Etcd是一个分布式键值存储系统,常用于分布式系统中的数据存储,特别是在Kubernetes等容器编排系统中作为数据存储和通信的核心组件。 ###...
在本主题中,我们将深入探讨如何使用`kubeadm`工具来初始化一个高可用性的Kubernetes(k8s)1.20.4集群,其中etcd集群独立于k8s集群之外运行。这对于确保数据存储的稳定性和可扩展性至关重要。etcd是Kubernetes的...
总之,安装etcd 3.5.1涉及到下载二进制文件、配置集群、启动服务、集群部署、安全备份以及监控维护等多个环节。理解并掌握这些步骤对于构建和维护高可用的Kubernetes集群至关重要。在实际操作中,还需要根据具体环境...
首先,你需要通过运行`etcdctl cluster-health`命令来检查整个etcd集群的健康状态。这会返回每个节点的状态信息。如果发现有节点状态异常,记下该节点的ID。 ### 步骤2: 移除问题节点 确定了问题节点后,需要将其...
利用k8s部署etcd集群教程
使用prometheus监控二进制部署k8s的etcd集群 监控模版
# 一键安装高可用etcd集群(TLS) # qq/wx: 48092788 e-mail: gcode@qq.com # blog: https://blog.csdn.net/guestcode # create: 2018-11-21 ############################################################ #...
综上所述,这个k8s etcd集群UI界面查看工具对于理解和管理k8s集群的底层数据具有很大的价值,特别是对于那些不熟悉命令行操作或者希望提升效率的管理员来说,它提供了更为友好的用户体验。通过这个工具,可以更有效...
使用时,编辑etcd-host.txt,将要部署etcd集群的集群主机名或者IP写入,组名为etcd [etcd] etcd-1 etcdname=etcd1 etcd-2 etcdname=etcd2 etcd-3 etcdname=etcd3 然后执行 ansible-playbook -i etcd-host.txt ...
1. **测试ETCD集群间的数据同步**:验证通过ETCD集群之间的数据同步是否能够正常工作。 2. **跨DC高可用环境测试**:测试基于Patroni+ETCD搭建的跨DC的PG数据库集群,在DC1或DC2整体故障时能否快速进行故障转移,并...
kubeadm初始化高可用k8s1.20.4集群-etcd集群在k8s内部,详细笔记资料包
etcd是CoreOS开发的一个分布式的、高可用的键值存储系统,用于共享配置和服务发现。它是基于Go语言实现的,并且设计为集群模式运行,提供了强...对于需要搭建和管理etcd集群的IT专业人士来说,这是一个非常实用的资源。
kubeadm初始化高可用k8s1.20.4集群-etcd集群在k8s内部-kubernetes安装包和详细文档笔记整理