在AWS EC2上搭建ETCD集群

一、以http方式搭建etcd集群

 

1、准备好三台机器,三台机器如下:

    IP地址                主机名称      安装服务

    172.31.72.142    master1      Etcd、Maser节点

    172.31.82.187    master2      Etcd、Node节点

    172.31.11.86      master3      Etcd、Node节点

172.31.72.142机器,执行hostnamectl  set-hostname master1

 在172.31.82.187 机器,执行hostnamectl  set-hostname master2

 在172.31.82.187 机器,执行hostnamectl  set-hostname master3

在三台机器,vim /etc/hosts 添加master1,master2,master3

[root@master1 ssl]# cat /etc/hosts

172.31.72.142   master1

172.31.82.187   master2

172.31.11.86    master3

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

2、防火墙打开端口2380,2379。

在3台主机都执行以下命令:

# cat /etc/sysconfig/iptables

Generated by iptables-save v1.4.21 on Thu Jul  5 07:05:39 2018

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [1654:201815]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2379 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2380 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

 

# systemctl reload iptables 

# systemctl restart iptables 

工作中,由于etcd都是内网访问,所以都是关闭防火墙,关闭iptables,利用AWS安全组,控制对外访问端口。

停掉iptables :

systemctl stop iptables 

systemctl disable iptables

3、在三台机器上,分别安装etcd,分别执行yum install -y etcd。我这里安装的版本etcd-3.2.18

 

4、centos7安装etcd的,默认配置文件路径。/etc/etcd/etcd.conf。在三台主机分别执行 vim /etc/etcd/etcd.conf,配置文件修改点如下:

master1(72.31.72.142): 

#[Member]

 ETCD_DATA_DIR=/app/etcd"

 ETCD_LISTEN_PEER_URLS="http://172.31.72.142:2380,http://127.0.0.1:2380”

 ETCD_LISTEN_CLIENT_URLS="http://172.31.72.142:2379,http://127.0.0.1:2379”

ETCD_NAME="etcd1"

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.31.72.142:2380"

ETCD_ADVERTISE_CLIENT_URLS="http://172.31.72.142:2379”

ETCD_INITIAL_CLUSTER="

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个部署 Node.js 服务于 AWS EC2 实例上的简单步骤: 1. 创建 AWS EC2 实例并连接到实例上: 首先,您需要在 AWS 上创建 EC2 实例并连接到实例。您可以使用 SSH 客户端连接到实例。对于 Windows 用户,可以使用 PuTTY 连接到实例。 2. 安装 Node.js: 在连接到实例后,请使用以下命令在 EC2 实例上安装 Node.js: ```bash sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm ``` 3. 上传并运行服务: 将您的 Node.js 服务文件上传到 EC2 实例上。您可以使用 scp 命令将文件从本地系统上传到 EC2 实例上: ```bash scp -i <your-key-pair>.pem app.js ubuntu@<public-dns-name>:~/ ``` 接下来,您可以在 EC2 实例上运行您的 Node.js 服务,使用以下命令: ```bash node app.js ``` 4. 使用 Nginx 部署 Node.js 服务: 为了更好的性能和安全性,建议使用 Nginx 部署您的 Node.js 服务。 首先,安装 Nginx: ```bash sudo apt-get install nginx ``` 然后,配置 Nginx 以反向代理 Node.js 服务。在 /etc/nginx/sites-available/default 文件中,添加以下配置: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 保存并关闭该文件,然后重启 Nginx 服务: ```bash sudo service nginx restart ``` 现在,您的 Node.js 服务已经通过 Nginx 部署在 AWS EC2 实例上了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值