statefulset部署etcd v3.5.4集群

本文目的是使用statefulset部署3节点的etcd集群

一。准备双AZ 4节点的集群

构建集群参考另一篇帖子CentOS7安装k8s v1.23.4集群

k8s-node1,k8s-node2打上标签topology.kubernetes.io/zone=az1,表示AZ1;

k8s-node3,k8s-node4打上标签topology.kubernetes.io/zone=az2,表示AZ2;

 二。构建etcd v3.5.4镜像

自行构建docker镜像,从etcd官网下载etcd-v3.5.4-linux-amd64.tar.gz并解压,

 Dockerfile配置:

FROM centos:7

USER root

ADD etcd-v3.5.4-linux-amd64/etcd* /usr/bin/

COPY etcd.sh /

RUN chmod 777 /etcd.sh

RUN chmod 777 /usr/bin/etcd

CMD ["/etcd.sh"]

容器启动脚本etcd.sh,环境变量由pod注入,见statefulset中的配置

#!/bin/bash
echo ${MY_POD_NAME}
echo ${MY_POD_IP}
echo ${HEADLESS_SERVICE_NAME}
echo ${CLUSTER_NAMESPACE}
echo ${INITIAL_CLUSTER}

/usr/bin/etcd --data-dir=/var/lib/etcd --name=${MY_POD_NAME} --listen-peer-urls=http://0.0.0.0:2380 --listen-client-urls=http://0.0.0.0:2379 --advertise-client-urls=http://${MY_POD_NAME}.${HEADLESS_SERVICE_NAME}.${CLUSTER_NAMESPACE}.svc.cluster.local:2379 --initial-advertise-peer-urls=http://${MY_POD_NAME}.${HEADLESS_SERVICE_NAME}.${CLUSTER_NAMESPACE}.svc.cluster.local:2380 --initial-cluster-state='new' --initial-cluster-token='etcd-cluster-token' --initial-cluster=${INITIAL_CLUSTER}

 构建镜像并推送到阿里个人镜像仓库

也可直接docker pull registry.cn-shenzhen.aliyuncs.com/k8s_go_java/etcd:v1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值