`
crabdave
  • 浏览: 1294828 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Docker镜像部署etcd集群

 
阅读更多

使用Docker镜像部署etcd集群

 

参考:

官方参考

https://github.com/coreos/etcd/blob/master/Documentation/op-guide/container.md#docker

etcd使用

http://blog.csdn.net/u010424605/article/details/44592533

docker网络配置

http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice/

 

etcd版本,当前最新版v3.1.0

Docker启动脚本

启动三个容器,指定每个容器的IP

本样例是将三个容器放在同一台物理机上进行实验,实际应用中需要部署到各自不同的物理机上(可使用--net=host标记让容器使用宿主机网络)。

使用docker inspect命令查看物理机上docker0的网关,然后配置三个ip地址HOST_1~3

使用三个容器别名etcd1~3

 

 

# For each machine

ETCD_VERSION=v3.1.0

TOKEN=my-etcd-token

CLUSTER_STATE=new

NAME_1=etcd-node-0

NAME_2=etcd-node-1

NAME_3=etcd-node-2

HOST_1=172.17.0.2

HOST_2=172.17.0.3

HOST_3=172.17.0.4

CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380

 

# For node 1

THIS_NAME=${NAME_1}

THIS_IP=${HOST_1}

docker run -d --name etcd1 quay.io/coreos/etcd:${ETCD_VERSION} \

    /usr/local/bin/etcd \

    --data-dir=data.etcd --name ${THIS_NAME} \

    --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \

    --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \

    --initial-cluster ${CLUSTER} \

    --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

 

# For node 2

THIS_NAME=${NAME_2}

THIS_IP=${HOST_2}

docker run -d --name etcd2 quay.io/coreos/etcd:${ETCD_VERSION} \

    /usr/local/bin/etcd \

    --data-dir=data.etcd --name ${THIS_NAME} \

    --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \

    --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \

    --initial-cluster ${CLUSTER} \

    --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

 

# For node 3

THIS_NAME=${NAME_3}

THIS_IP=${HOST_3}

docker run -d --name etcd3 quay.io/coreos/etcd:${ETCD_VERSION} \

    /usr/local/bin/etcd \

    --data-dir=data.etcd --name ${THIS_NAME} \

    --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \

    --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \

    --initial-cluster ${CLUSTER} \

    --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

    

 

通过HTTP接口访问etcd接口

 

查看版本

curl -L http://172.17.0.2:2379/version

*设置一个key的value

curl http://172.17.0.2:2379/v2/keys/message -XPUT -d value="Hello world"

*获取一个key的value

curl http://172.17.0.2:2379/v2/keys/message

 

分享到:
评论

相关推荐

    一套完整的K8s高可用集群二进制部署(-V1.20)

    本文档将指导您部署一套完整的 Kubernetes 高可用集群,我们将从基础知识点开始,介绍 Kubernetes 集群的两种部署方式,然后详细介绍如何准备环境、部署 Etcd 集群、安装 Docker、部署 Kubernetes 集群等。...

    基于docker使用kubespray工具部署高可用K8S集群(国内互联网方案二)部署资源包

    这篇博客文章提供了基于Docker在国内互联网环境下使用Kubespray部署高可用K8S集群的具体步骤。下面将详细介绍这个过程中的关键知识点。 1. **Kubernetes(K8S)**:Kubernetes是一个开源的容器编排系统,用于自动化...

    Proxmox LXC 容器安装docker

    然后,我们可以使用 Docker 运行 Rancher 镜像,并将其映射到 80 和 443 端口上,以便访问 Rancher web 界面。 在安装 Rancher 之前,我们需要配置主机名、IP 地址和时区设置。然后,我们可以使用 NTP 服务器来同步...

    Kubernetes v1.12 手动二进制部署集群.pdf

    Etcd 集群部署前需要准备自签证书,这里使用 cfssl 工具来生成证书。 1. **下载 cfssl 工具**:从 cfssl 官方提供的地址下载 cfssl、cfssljson 和 cfssl-certinfo 工具,并进行安装和配置。 2. **生成证书**:创建...

    Kubernetes部署指南.pdf

    4. 集群部署:介绍了集群部署的详细步骤,包括创建计算资源、配置证书、生成配置、生成密钥、部署 Etcd 群集、部署控制节点、部署计算节点等。 5. 部署测试:介绍了部署测试的方法,包括使用 Sonobuoy scanner 工具...

    二进制部署kubernetes多master集群

    #### 四、部署etcd集群 ##### Etcd简介 Etcd是一个分布式的键值存储系统,被Kubernetes用于存储集群数据。为了提高数据可靠性和可用性,建议以集群方式部署Etcd。本案例中使用3台服务器构建etcd集群,可以容忍1台...

    具有有用的网络和容器工具以及 SSH 的 docker映像_shell_代码_下载

    这是一个带有大量通用容器...这是一个查看 BoltDB 格式数据库的工具(由 etcd 使用) 用于分析 RBAC 权限的工具 用于渗透测试 Kubernetes 集群的工具 许多有用的 RBAC 工具 容器的上下文发现,产生大量有用的信息。

    云原生大规模集群资源管理Docker+K8S

    该技术通过使用容器化技术(如Docker)和集群管理技术(如Kubernetes),实现了资源的动态分配、自动扩展和高可用性。 在云原生大规模集群资源管理中,Docker和Kubernetes扮演着重要的角色。Docker是一个开源的应用...

    部署一套完整的K8s高可用集群(kubeadm-V1.20) .docx

    因此,我们需要独立地部署一个由多个节点组成的Etcd集群,以实现数据的冗余和高可用性。 总体来说,这个过程包括但不限于以下几个步骤: 1. 安装和配置Docker、Kubernetes和相关组件(如etcd、Nginx、Keepalived)...

    k8s(kubernetes)相关重要知识点-详细文档

    为解决 etcd 单点故障,应采用集群方式部署,一般使用 3 台组建集群,可容忍 1 台机器故障,当然也可以用 5 台组建集群,可容忍 2 台机器故障。注意事项:为了节省机器,一般 etcd 可以与 k8s 节点机器复用,但是也...

    完整kubernetes v1.20.x二进制部署

    部署Etcd集群的过程如下: 1. **准备cfssl证书生成工具**:首先需要准备用于生成SSL/TLS证书的工具cfssl。 2. **生成Etcd证书**: - 自签名证书颁发机构(CA)。 - 使用自签名的CA签发Etcd的HTTPS证书。 3. **从...

    KubeKey 实践-部署高可用 Kubernetes 集群.pdf

    KubeKey 支持多种高可用集群的部署方案,如使用 External LoadBalancer 和 Internal LoadBalancer 等。 ##### 1. Control Plane 高可用性 Control Plane 是 Kubernetes 的核心组件之一,负责集群的状态管理与协调...

    二进制高可用k8s集群一键部署脚本

    首先,了解二进制部署意味着不依赖于预打包的镜像或者自动化工具,而是手动下载k8s的各个组件(如kubelet、kube-apiserver等)的二进制文件,并在每台节点上进行安装和配置。这种方式对理解k8s的工作原理非常有帮助...

    k8s-for-docker-desktop.zip

    1. **预配置的Kubernetes镜像**:这些镜像是Kubernetes集群运行所必需的,包括etcd、kube-apiserver、kube-controller-manager、kube-scheduler等核心组件的镜像,以及calico、flannel等网络插件的镜像。 2. **配置...

    二进制包etcd-v3.4.18-linux-amd64.tar.gz

    etcd二进制包,版本3.4.18,系统架构amd64,适用服务器linux操作系统,docker容器。...此文件主要可以用于在Linux服务器上安装或者使用二进制构建docker容器镜像,部署在k8s集群或者docker-compose集群内。

    Kubernetes部署指南.docx

    - 部署Etcd集群,它是Kubernetes的核心组件,负责存储集群的状态。 - 部署控制节点,包括API服务器、控制器管理器和调度器。 - 部署计算节点,它们是运行Pods的工作机器。 - 配置Kubectl,确保能正确地与集群...

    kubernetes 1.19 二进制安装 zy 20220527

    包括使用etcd备份集群的状态信息、使用harbor备份镜像、使用backup工具备份数据等。 十、kubernetes 集群监控 kubernetes 集群的监控非常重要。包括使用 metrics-server 监控集群的性能、使用 kubernetes-...

    Rancher平台部署与运维.docx

    2.2.2. 生产环境拓扑(多Etcd、Control集群) 6 2.3. Docker安装配置 7 2.3.1. Docker安装 7 2.3.2. 设置docker开机自启 8 2.3.3. 配置docker 8 2.4. 设置时钟同步 8 2.5. Harbor安装配置 9 2.5.1. Harbor安装 9 ...

    K8s安装部署文档说明记录

    - **内容概述:** TLS证书的使用可以增强ETCD集群的安全性。 - **操作步骤:** 1. 生成CA证书和秘钥。 2. 为每个ETCD节点生成证书和秘钥。 3. 配置ETCD使用TLS证书进行通信。 4. 启动ETCD集群。 - **集群健康...

Global site tag (gtag.js) - Google Analytics