docker 集群三 (etcd+flannel) 上

挺不喜欢讲原理的东西的,自己看书比谁讲的都好,贴一个集群的图共理解。

  1. . 下载安装包
    首先下载etcd安装包和flannel安装包,如果有人需要下载,请回复后续我上传到百度网 盘提供,当然也可以自己去网上找找。
    etcd-v3.2.10-linux-amd64.tar.gz
    tar zxvf flannel-v0.9.0-linux-amd64.tar.gz
  2. 多机器安装etcd
    上传etcd安装包
    etcd-v3.2.10-linux-amd64.tar.gz
    解压etcd安装包
    tar zxvf etcd-v3.2.10-linux-amd64.tar.gz -C /root
    重命名etcd解压后的文件夹名称
    mv /root/etcd-v3.2.10-linux-amd64/ /root/etcd
    复制etcd的命令工具到/usr/bin目录下面
    cp etcd* /usr/bin
    修改etcd的api版本使用2 ,此处使用api2,是因为在centos6.8环境下使用3,本人测 试问题很多,没有测试通过,因此使用2.
    vi /etc/profile
    最后一行添加?
    export ETCDCTL_API=2
    保存退出 ?source /etc/profile
    etcdctl --version

    配置开放端口 2379 2380
    vi /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2379 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2380 -j ACCEPT
    service iptables restart
  3. 配置etcd的配置文件 (多机器配置,此处我列出来两台机器的。)
    vi /root/etcd/conf.yml
        集群一配置
        name: etcd-1
        data-dir: /root/etcd/data
        listen-client-urls: http://0.0.0.0:2379
        advertise-client-urls: http://172.16.27.133:2379
        listen-peer-urls:? http://0.0.0.0:2380
        initial-advertise-peer-urls: http://172.16.27.133:2380
        initial-cluster: etcd-1=http://172.16.27.133:2380,etcd-2=http://172.16.27.134:2380
        initial-cluster-token: etcd-cluster-token
        initial-cluster-state: new

    或者直接使用主机名称配置
    name: etcd-1
    data-dir: /root/etcd/data
    listen-client-urls: http://0.0.0.0:2379
    advertise-client-urls: http://docker3:2379
    listen-peer-urls:? http://0.0.0.0:2380
    initial-advertise-peer-urls: http://docker3:2380
    initial-cluster: etcd-1=http://docker3:2380,etcd-2=http://docker4:2380
    initial-cluster-token: etcd-cluster-token
    initial-cluster-state: new

    集群二配置
    name: etcd-2
    data-dir: /root/etcd/data
    listen-client-urls: http://0.0.0.0:2379
    advertise-client-urls: http://172.16.27.134:2379
    listen-peer-urls:? http://0.0.0.0:2380
    initial-advertise-peer-urls: http://172.16.27.134:2380
    initial-cluster: etcd-1=http://172.16.27.133:2380,etcd-2=http://172.16.27.134:2380
    initial-cluster-token: etcd-cluster-token
    initial-cluster-state: new

    启动etcd
    两台机器分别执行
    nohup etcd --config-file=/root/etcd/conf.yml >/root/etcd/etcd.log 2>&1 &
    
    可以将启动etcd脚本加到开机启动项就不用每次启动。

    3.测试etcd的安装状态

    查看etcd成员信息
    etcdctl member list

    查看etcd集群状态是否正常
    etcdctl cluster-health

未完待续

原文地址:http://blog.51cto.com/zhanglele/2349791

时间: 2024-08-29 21:57:43

docker 集群三 (etcd+flannel) 上的相关文章

Docker集群(一) —— Docker网络及flannel介绍

[摘要]本文介绍docker网络原理和设置,以及在docker集群中需要解决的问题.最后介绍flannel在解决docker网络问题中的作用. 1   基础 在介绍docker的网络之前,必须先认识docker所依赖的几个linux技术,这对理解docker的网络有帮助.因水平有限这一节仅简单介绍,对linux网络原理感兴趣的TX可以继续深入研究. 1.1 网络命名空间: Linux Namespaces机制提供一种资源隔离方案.PID,IPC,Network等系统资源不再是全局性的,而是属于特

Docker集群(三) —— Kubernetes 简单入门

[摘要]Kubernetes是Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能.本文介绍了kubernetes的重要概念,并通过实例的示例解释了如何应用kubernetes管理docker集群. 因操作系统不同.应用场景不同kubernetes的使用方法有不同,本文只介绍其中一种笔者实践过的切实可行的方法,旨在使读者快速了解Kubernetes,对其有直观的感受.本文以单机版举例,下面的例子都在同一台物理结点上执行,多结点的情况

Docker集群下,如何用Flannel实现容器互联

当您将多台服务器节点组成一个Docker集群时,需要对集群网络进行设置,否则默认情况下,无法跨主机容器互联,接下来我们首先分析一下原因. 跨主机容器互联 下图描述了一个简单的集群网络,在该集群内,有两台服务器甲和乙,每台服务器上都有两张网卡,分别连接公网和私网,两台服务器可以通过私网互联,在两个服务器节点上分别安装了Docker,并且运行了A/B/C/D 4个容器. 每台服务器节点上都有一个 docker0 网桥,这是docker启动后初始化的虚拟设备,每个容器都与docker0网桥连接,并且,

k8s docker集群搭建

?Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是kubernetes 首先,他是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性

Docker 集群环境实现方式

Docker 集群环境实现的新方式 近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行

Docker 集群环境实现的新方式

近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行之有效的管理大型容器集群的整体解决方

05 Docker集群/基础设施 - DevOps之路

05 Docker集群/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Docker的集群目前主流的方案: Swarm Kubernetes Docker Swarm 集群 是用Swarm集群来部署一个无状态的服务: 目前有三台物理机node01.node02.node03,在node01上初始化Swarm: docker swarm init --advertise-addr 192.168.0

hadoop docker集群搭建

获取镜像 #本机内 docker pull ubuntu:16.04 编排镜像 启动一个容器 #本机内 docker run -i -t --name master ubuntu:16.04 在容器内进行安装配置 #容器内 apt update apt install openjdk8-jdk, ssh, net-tools,iputils-ping echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/' >> ~/.bashrc

Elk+filebeat收集docker集群swarm中的nginx和tomcat容器的日志信息

前言: 之前有说过elk收集nginx日志, 现在来说一下收集容器集群的日志收集Elk的安装这里不在说了,上来直接怼, 这里是elk的服务器:的服务状态:以及端口 Logstash是主要的配置内容这里: 如下 input { beats { port => 5044 } } filter { if "nginx-accesslog" in [tags] { grok { match => { "message" => "%{HTTPDAT