文档章节

k8s集群部署三(部署Etcd集群)

算法之名
 算法之名
发布于 02/16 17:14
字数 627
阅读 64
收藏 1

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

由图中可以看出,Etcd是kube-apiserver用于存储的一个集群。

安装的下载地址为https://github.com/etcd-io/etcd/releases/tag/v3.2.12,找到其中的

etcd-v3.2.12-linux-amd64.tar.gz

在三台机依次解压,执行以下命令

tar -xzvf etcd-v3.2.12-linux-amd64.tar.gz

cd etcd-v3.2.12-linux-amd64

mkdir -p /opt/kubernetes/{bin,cfg,ssl}

mv etcd /opt/kubernetes/bin/

mv etcdctl /opt/kubernetes/bin/

cd /opt/kubernetes/cfg

touch etcd

vim etcd

内容如下

#[Member]
ETCD_NAME="etcd01"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PFER_URLS="https://172.18.98.48:2380"
ETCD_LISTEN_CLIENT_URLS="https://172.18.98.48:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://172.18.98.48:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://172.18.98.48:2379"
ETCD_INITIAL_CLUSTER="etcd01=https://172.18.98.48:2380,etcd02=https://172.18.98.47:2380,etcd03=https://172.18.98.46:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

以上的IP地址根据你自己的IP地址来定。不同的服务器需要修改

ETCD_NAME,ETCD_LISTEN_PFER_URLS,ETCD_LISTEN_CLIENT_URLS,ETCD_INITIAL_ADVERTISE_PEER_URLS,ETCD_ADVERTISE_CLIENT_URLS

cd /usr/lib/systemd/system/

touch etcd.service

vim etcd.service

内容如下

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=-/opt/kubernetes/cfg/etcd
ExecStart=/opt/kubernetes/bin/etcd \
--name=${ETCD_NAME} \
--data-dir=${ETCD_DATA_DIR} \
--listen-peer-urls=${ETCD_LISTEN_PFER_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} \
--initial-cluster-state=new \
--cert-file=/opt/kubernetes/ssl/server.pem \
--key-file=/opt/kubernetes/ssl/server-key.pem \
--peer-cert-file=/opt/kubernetes/ssl/server.pem \
--peer-key-file=/opt/kubernetes/ssl/server-key.pem \
--trusted-ca-file=/opt/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/opt/kubernetes/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

进入之前存储证书文件的目录

cd ssl

cp server*pem ca*.pem /opt/kubernetes/ssl/

systemctl daemon-reload & systemctl start etcd进行启动

如果启动中有错误,可以通过journalctl -u etcd或者tail -100f /var/log/messages来查看错误日志。

启动成功,查看进程

# ps -ef | grep etcd
root      5243     1  3 16:42 ?        00:00:00 /opt/kubernetes/bin/etcd --name=etcd01 --data-dir=/var/lib/etcd/default.etcd --listen-peer-urls=https://172.18.98.48:2380 --listen-client-urls=https://172.18.98.48:2379,http://127.0.0.1:2379 --advertise-client-urls=https://172.18.98.48:2379 --initial-advertise-peer-urls=https://172.18.98.48:2380 --initial-cluster=etcd01=https://172.18.98.48:2380,etcd02=https://172.18.98.47:2380,etcd03=https://172.18.98.46:2380 --initial-cluster-token=etcd01=https://172.18.98.48:2380,etcd02=https://172.18.98.47:2380,etcd03=https://172.18.98.46:2380 --initial-cluster-state=new --cert-file=/opt/kubernetes/ssl/server.pem --key-file=/opt/kubernetes/ssl/server-key.pem --peer-cert-file=/opt/kubernetes/ssl/server.pem --peer-key-file=/opt/kubernetes/ssl/server-key.pem --trusted-ca-file=/opt/kubernetes/ssl/ca.pem --peer-trusted-ca-file=/opt/kubernetes/ssl/ca.pem

测试Etcd集群

vim /etc/profile

在最末尾增加

PATH=$PATH:/opt/kubernetes/bin

保存退出

source /etc/profile

cd /opt/kubernetes/ssl/

# etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https://172.18.98.48:2379,https://172.18.98.47:2379,https://172.18.98.46:2379" cluster-health
member 617854a0804804e is healthy: got healthy result from https://172.18.98.47:2379
member 93b5038b85e12bf7 is healthy: got healthy result from https://172.18.98.48:2379
member d848850d091a45de is healthy: got healthy result from https://172.18.98.46:2379
cluster is healthy

为了方便三台服务器安装,可以给它们安装免密码登录,具体可以参考如何在多台服务器添加ssh的免密码登录

© 著作权归作者所有

算法之名
粉丝 68
博文 197
码字总数 352673
作品 0
广州
私信 提问
基于Kubernetes构建和部署企业容器云

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/English0523/article/details/99417431 目录 第一章:Kubernetes介绍...

天府云创
08/13
0
0
手动部署kubernetes集群(1.13.1最新版)

一、机器规划 使用五台机子部署k8s集群,规划如下: master节点3台(同时也是etcd节点) node节点2台 ip分配如下: ip:192.168.10.101,主机名:k8s-etcd01 ip:192.168.10.102,主机名:k8s...

人在艹木中
2018/12/15
1K
1
K8s(Kubernetes)架构学习笔记

K8s满足的需求 K8s的主要职责是容器编排(Container Orchestration),即在一组服务器上启动、监控、回收容器,在满足排程的同时,保证容器可以健康的运行。 K8s架构的概念/术语 学习K8s架构之...

店家小二
2018/12/15
0
0
高可用 kubernetes 集群部署实践

前言 Kubernetes(k8s) 凭借着其优良的架构,灵活的扩展能力,丰富的应用编排模型,成为了容器编排领域的事实标准。越来越多的企业拥抱这一趋势,选择 k8s 作为容器化应用的基础设施,逐渐将...

吴波bruce_wu
06/10
0
0
Kubernetes集群的详细部署

一、集群机器 二、环境准备 三、正式安装 1.安装Docker(三台机器都要操作) 2.安装k8s 3.手动制作CA证书(只在master上进行即可) 4.手动部署ETCD集群 5.Master节点部署 部署Kubernetes API服...

店家小二
2018/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringCloud----ribbon重试机制和Hystrix熔断器

1.重试机制Ribbon 1.1 概述: 服务B访问集群环境下的服务A,某一个服务A宕机,服务B将尝试访问其他可以使用的服务A. 1.2 实现步骤: • 步骤一 : 修改pom.xml文件,添加重试机制的依赖 <!--重试机...

苗小喵
29分钟前
7
0
保护PHP密码的哈希和盐值

当前据说MD5部分不安全。 考虑到这一点,我想知道使用哪种机制进行密码保护。 这个问题, “双重哈希”密码是否比仅哈希一次密码安全? 建议多次散列可能是一个好主意,而如何对单个文件实施...

javail
29分钟前
7
0
一个好的在线客服系统需要有什么功能模块?

一个好的客服系统首先会帮助客户理清自己的需求,客户选择呼叫中心或者客服系统主要是用于外呼还是接听还是两者都需要具备;是集中式还是分布在各个城市;客户构成是什么样的,交流的形式,意...

唯喏
30分钟前
5
0
看完上汽制动的数字化,才发现以前的数据可视化大屏都白做了

2019年,汽车行业正在发生巨大的变化。 市场竞争也变得更为激烈。去年以来一批重大的国家政策和汽车行业政策出台,对汽车市场产生了重大影响。如何应对如此复杂的局面,各车企及相关产业链都...

帆软
32分钟前
4
0
ForeSpider采集教程:如何采集图片及链接地址

一. 网站结构 1. 网站截图说明 采集昵图网某页面中所有图片及链接地址 【昵图网某页面】 2. 采集结果截图 【检索列表链接】 【检索数据结果】 二. 配置模板 1.新建任务 点击【下一步】,需要...

forespider
34分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部