美文网首页
kubernetes高可用集群部署 - 2. ETCD集群

kubernetes高可用集群部署 - 2. ETCD集群

作者: 殷临风 | 来源:发表于2017-09-28 11:10 被阅读898次

    一般而言, 单台etcd性能已经很稳定了, 但有时候, 还是担心意外的宕机情况, 所以在生产环境部署etcd集群还是很有必要的. 如果服务器紧张, 可以直接利用master主机, 当然最好的解决方案还是单独拿两台以上的服务器安装, 这里为了模拟生产情况, 还是不放在master主机上

    1. 安装etcd
    yum install -y etcd
    
    # 编辑配置文件
    vi /etc/etcd/etcd.conf
    ##############################################
    # [member]
    ETCD_NAME=k8s-sz-etcd1
    ETCD_DATA_DIR="/var/lib/etcd/k8s-sz-etcd1.etcd"
    ETCD_LISTEN_PEER_URLS="http://192.168.1.50:2380"
    ETCD_LISTEN_CLIENT_URLS="http://192.168.1.50:2379,http://127.0.0.1:2379"
    
    # [cluster]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.50:2380"
    ETCD_INITIAL_CLUSTER="k8s-sz-etcd1=http://192.168.1.50:2380,k8s-sz-etcd2=http://192.168.1.51:2380"
    ETCD_INITIAL_CLUSTER_STATE="new"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
    ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.50:2379"
    ##############################################
    
    # 编辑启动配置项
    vi /usr/lib/systemd/system/etcd.service
    ##############################################
    ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd \
        --name ${ETCD_NAME} \
        --data-dir ${ETCD_DATA_DIR} \
        --listen-client-urls ${ETCD_LISTEN_CLIENT_URLS} \
        --listen-peer-urls ${ETCD_LISTEN_PEER_URLS} \
        --advertise-client-urls ${ETCD_ADVERTISE_CLIENT_URLS} \
        --initial-advertise-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
        --initial-cluster-token ${ETCD_INITIAL_CLUSTER_TOKEN} \
        --initial-cluster-state ${ETCD_INITIAL_CLUSTER_STATE} \
        --initial-cluster ${ETCD_INITIAL_CLUSTER} "  
    ##############################################
    
    # 启动etcd服务
    systemctl daemon-reload
    systemctl start etcd
    

    另一台服务器以同样的方式安装启动, 只不过把ip换成自己的, 名称改成对应的k8s-sz-etcd2. 注意参数ETCD_INITIAL_CLUSTER, 一定要以键值对的形式把etcd集群的其他服务器都加上.

    启动ETCD集群时, 启动第一台, 会卡住, 先不管, 再启动另一台, 当第二台启动成功了, 前面一台也会成功

    2. 当集群启动好后, 校验状态
    etcdctl member list 
    etcdctl cluster-health
    

    如果要配置https, 需要自己配置证书, 这类资料很多, 这里不做介绍, 另外生产环境最好配置auth认证, 提升安全性

    高可用部署系列

    Kubernetes高可用集群部署 - 1. 生成证书
    -> Kubernetes高可用集群部署 - 2. ETCD集群
    Kubernetes高可用集群部署 - 3. kubectl工具配置
    Kubernetes高可用集群部署 - 4. master集群
    Kubernetes高可用集群部署 - 5. node集群
    Kubernetes高可用集群部署 - 6. DNS配置

    相关服务

    Kubernetes配置secret拉取私仓镜像
    Kubernetes目录挂载
    Kubernetes Ingress使用
    Kubernetes限制pod的cpu和内存
    Helm部署Kubernetes应用
    Kubernetes监控(Heapster)
    Kubernetes监控(coreos/prometheus-operator)

    相关文章

      网友评论

          本文标题:kubernetes高可用集群部署 - 2. ETCD集群

          本文链接:https://www.haomeiwen.com/subject/uprmextx.html