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
相关推荐
k8s二进制安装文档--etcd集群配置.txt
etcd集群备份和数据恢复
k8s etcd 集群部署包
使用RKE构建企业生产Kubernetes集群 内容包含: 1.集群主机准备 2.daocker部署 3.docker compose安装 4.添加rancher用户 5.生成ssh证书用户部署集群 6.rke工具下载 7.初始化rke配置文件 ....
ansible-role-etcd:安装etcd集群的角色
kubeadm初始化高可用k8s1.20.4集群-etcd集群独立在k8s集群外详细笔记资料包
# 一键安装高可用etcd集群(TLS) # qq/wx: 48092788 e-mail: gcode@qq.com # blog: https://blog.csdn.net/guestcode # create: 2018-11-21 ############################################################ #...
使用时,编辑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 ...
集群搭建3.API操作4.API说明和etcdctl命令说明etcd是CoreOS团队发起的一个开源项目(Go语言,其实很多这类项目都是Go语言实现的,只能说很强大),实现了分布式键值存储和服务发现,etcd和ZooKeeper/Consul非常相似...
kubeadm初始化高可用k8s1.20.4集群-etcd集群在k8s内部,详细笔记资料包
1.从集群中删除坏掉的节点 1.查看集群健康状态,找到坏掉的节点ID: 2.将此节点从集群中移除 2. 修改坏掉节点的配置文件 3.将此节点作为新成员添加入集群
1. 搭建 etcd 集群 1. 下载 2. 配置文件 2. 简单测试
因此对于快速部署一套高可用的Etcd集群的需求也越来越强烈,本次就带领大家一起使用Kubernetes的Statefulset特性快速部署一套Etcd集群。什么是Kubernetes?Kubernetes 是一个用于容器集群的自动化部署、扩容以及运维...
k8s etcd 集群 ui界面查看工具,已经对乱码问题进行解决。可以直观的看到k8s的核心数据
安装了MacOS的Docker需要满足以下条件 使用以下命令更新主机文件: 172.16.238.11 etcd-0 172.16.238.12 etcd-1 172.16.238.13 etcd-2 添加别名 $ sudo ifconfig lo0 alias 172.16.238.11 $ sudo ifconfig lo0 ...
用于centos快速安装etcd集群,只需要简单的执行yum install etcd.rpm即可完成安装
这是一个Go二进制文件,可在AWS Autoscaling Group中引导ETCD集群 我们为什么这样做: 维护和管理ETCD集群具有巨大的运营成本。 我们希望使其尽可能简单。 因此,我们决定编写此应用程序,以使其更容易在AWS Auto...
etcd操作员管理部署到etcd集群,并自动执行与操作etcd集群相关的任务。 有关使用不同配置设置集群的 阅读,以获取有关如何更好地使用etcd运算符的更多信息。 阅读以了解如何在存在RBAC的情况下为etcd运算符设置RBAC...
Benchmark etcd性能测试工具