前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s集群部署三(部署Etcd集群) 顶

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

作者头像
算法之名
发布2019-08-20 10:09:49
1.7K0
发布2019-08-20 10:09:49
举报
文章被收录于专栏:算法之名算法之名

由图中可以看出,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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档