zoukankan      html  css  js  c++  java
  • [Kubernetes]CentOS7下Etcd集群搭建

    Etcd简要介绍

    Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息
    Etcd构建自身高可用集群主要有三种形式:
    ①静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址
    ②Etcd动态发现:通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制
    ③DNS动态发现:通过DNS查询方式获取其他节点地址信息
    这篇文章主要介绍第一种方式.后期如果还有时间和精力研究的话,我再来写另外两种,但是目前先介绍第一种方式

    开始前准备

    三台机器,用于部署k8s的运行环境:

    节点 ip
    Master 192.168.22.237
    Node1 192.168.22.235
    Node2 192.168.22.236

    首先,将以上信息添加到三台主机的hosts文件中,编辑/etc/hosts文件,写入下面信息:

    192.168.22.237  master
    192.168.22.235  node1
    192.168.22.236  node2
    
    安装配置Etcd

    使用yum安装

    yum install etcd -y
    

    使用yum安装的etcd默认配置文件会在/etc/etcd/etcd.conf下,安装完之后,我们需要对etcd的配置文件做一些修改
    下面是配置文件的内容:

    #[Member]
    #ETCD_CORS=""
    #数据存放位置
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    #ETCD_WAL_DIR=""
    #监听其他Etcd实例的地址
    ETCD_LISTEN_PEER_URLS="http://localhost:2380"
    #监听客户端地址
    ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
    #ETCD_MAX_SNAPSHOTS="5"
    #ETCD_MAX_WALS="5"
    #节点名称
    ETCD_NAME="default"
    #ETCD_SNAPSHOT_COUNT="100000"
    #ETCD_HEARTBEAT_INTERVAL="100"
    #ETCD_ELECTION_TIMEOUT="1000"
    #ETCD_QUOTA_BACKEND_BYTES="0"
    #ETCD_MAX_REQUEST_BYTES="1572864"
    #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
    #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
    #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
    #
    #[Clustering]
    #通知其他Etcd实例地址
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
    #通知客户端地址
    ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
    #ETCD_DISCOVERY=""
    #ETCD_DISCOVERY_FALLBACK="proxy"
    #ETCD_DISCOVERY_PROXY=""
    #ETCD_DISCOVERY_SRV=""
    #初始化集群内节点地址
    #ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
    #初始化集群token
    #ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
    #初始化集群状态,new表示新建
    #ETCD_INITIAL_CLUSTER_STATE="new"
    #ETCD_STRICT_RECONFIG_CHECK="true"
    #ETCD_ENABLE_V2="true"
    #
    #[Proxy]
    #ETCD_PROXY="off"
    #ETCD_PROXY_FAILURE_WAIT="5000"
    #ETCD_PROXY_REFRESH_INTERVAL="30000"
    #ETCD_PROXY_DIAL_TIMEOUT="1000"
    #ETCD_PROXY_WRITE_TIMEOUT="5000"
    #ETCD_PROXY_READ_TIMEOUT="0"
    #
    #[Security]
    #ETCD_CERT_FILE=""
    #ETCD_KEY_FILE=""
    #ETCD_CLIENT_CERT_AUTH="false"
    #ETCD_TRUSTED_CA_FILE=""
    #ETCD_AUTO_TLS="false"
    #ETCD_PEER_CERT_FILE=""
    #ETCD_PEER_KEY_FILE=""
    #ETCD_PEER_CLIENT_CERT_AUTH="false"
    #ETCD_PEER_TRUSTED_CA_FILE=""
    #ETCD_PEER_AUTO_TLS="false"
    #
    #[Logging]
    #ETCD_DEBUG="false"
    #ETCD_LOG_PACKAGE_LEVELS=""
    #ETCD_LOG_OUTPUT="default"
    #
    #[Unsafe]
    #ETCD_FORCE_NEW_CLUSTER="false"
    #
    #[Version]
    #ETCD_VERSION="false"
    #ETCD_AUTO_COMPACTION_RETENTION="0"
    #
    #[Profiling]
    #ETCD_ENABLE_PPROF="false"
    #ETCD_METRICS="basic"
    #
    #[Auth]
    #ETCD_AUTH_TOKEN="simple"
    

    看着有些头大对吧?其实在实际操作过程中,我们只需要改动几个地方就OK了.在此以192.168.22.237 master为例进行配置,具体根据自己的实际情况来配置

    ETCD_LISTEN_PEER_URLS="http://192.168.22.237:2380"   ->本机ip是多少就写多少
    ETCD_LISTEN_CLIENT_URLS="http://192.168.22.237:2379,http://127.0.0.1:2379"    ->本机ip是多少就写多少,同时加上http://127.0.0.1:2379
    ETCD_NAME="master"    ->自己设置的,在hosts文件里面有,根据配置即可
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.22.237:2380"  ->本机ip是多少就写多少
    ETCD_ADVERTISE_CLIENT_URLS="http://192.168.22.237:2379"   ->本机ip是多少就写多少
    ETCD_INITIAL_CLUSTER="master=http://192.168.22.237:2380,node1=http://192.168.22.235:2380,node2=http://192.168.22.236:2380"    ->自己设置的,在hosts文件里面有,根据配置即可
    

    将三台服务器配置好之后,再分别启动etcd

    启动服务:systemctl start etcd.service
    查看状态:systemctl status etcd.service
    

    如图,可以看到,etcd服务已经起来了
    在这里插入图片描述
    接下来我们可以通过命令查看etcd集群的状态

    etcdctl cluster-health
    

    在这里插入图片描述
    可以看到,etcd集群状态是正常的
    到此,关于CentOS7下Etcd集群搭建,便是结束了,感谢您的阅读~

  • 相关阅读:
    linux安装mongo-c-driver
    DPDK在虚拟机上运行时,报错: Ethdev port_id=0 requested Rx offloads 0xe doesn't match Rx offloads capabilities 0x82a1d in rte_eth_dev_configure()
    用python写xml文件
    openvas在centos中扫描单项的python实现
    ARP协议的报文格式
    python装饰器使用
    openvas漏洞扫描:使用openvas时扫描漏洞时,报告中显示的数据与数据库数据不同
    单链表实现一元多项式乘法与加法运算(C语言)
    Java学习笔记DayN Java高级特性概况
    Java学习笔记Day5 集合
  • 原文地址:https://www.cnblogs.com/zll-0405/p/10786570.html
Copyright © 2011-2022 走看看