• 一键部署etcd集群管理脚本


    一、编写脚本

     1 #!/bin/sh
     2 # 安装
     3 # ./run.sh etcd03 etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380
     4 
     5 etcd --version
     6 if [[ $? -eq 0 ]];
     7     then 
     8         echo 'etcd exists, exit!'
     9         exit
    10     else 
    11         yum -y  install etcd
    12 fi
    13 
    14 
    15 export HOST=$(ifconfig eth0 | grep 'inet'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $2}')
    16 echo $HOST
    17 
    18 tee /etc/etcd/etcd.conf <<-'EOF'
    19 ETCD_NAME="$1"
    20 ETCD_DATA_DIR="/var/lib/etcd/$1"
    21 ETCD_LISTEN_PEER_URLS="http://$HOST:2380"
    22 ETCD_LISTEN_CLIENT_URLS="http://$HOST:2379,http://127.0.0.1:2379"
    23 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://$HOST:2380"
    24 ETCD_ADVERTISE_CLIENT_URLS="http://$HOST:2379"
    25 ETCD_INITIAL_CLUSTER_STATE="new"
    26 ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster1"
    27 ETCD_INITIAL_CLUSTER="$2"
    28 EOF
    29 
    30 # etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380
    31 # 替换掉$HOST及$1
    32 sed -i "s%$HOST%"$HOST"%g"  /etc/etcd/etcd.conf
    33 sed -i "s%$1%"$1"%g"  /etc/etcd/etcd.conf
    34 sed -i "s%$2%"$2"%g"  /etc/etcd/etcd.conf
    35 
    36 tee  /usr/lib/systemd/system/etcd.service <<-'EOF'
    37 [Unit]
    38 Description=Etcd Server
    39 After=network.target
    40 After=network-online.target
    41 Wants=network-online.target
    42 
    43 [Service]
    44 Type=notify
    45 WorkingDirectory=/var/lib/etcd/
    46 EnvironmentFile=/etc/etcd/etcd.conf
    47 User=etcd
    48 # set GOMAXPROCS to number of processors
    49 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-cluster-token="${ETCD_INITIAL_CLUSTER_TOKEN}" --initial-cluster="${ETCD_INITIAL_CLUSTER}" --initial-cluster-state="${ETCD_INITIAL_CLUSTER_STATE}" "
    50 Restart=on-failure
    51 LimitNOFILE=65536
    52 
    53 [Install]
    54 WantedBy=multi-user.target
    55 EOF
    56 
    57 systemctl daemon-reload
    58 systemctl start etcd
    59 systemctl enable etcd
    60 
    61 
    62 etcd --version
    63 if [[ $? -eq 0 ]];
    64     then 
    65         echo 'etcd install success!'
    66     else 
    67         echo 'etcd install error!'
    68 fi

    二、运行

    ./run.sh etcd03 etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380

  • 相关阅读:
    my34_脚本冥等添加自动任务-mysql监控部署
    zabbix4.2 安装
    面试题12:字符串无重复子串的最大长度
    面试题11:二叉树的非递归前、中、后、层级遍历
    面试题10:二叉树的最大路径和
    面试题9:数组堆化、堆的插入、堆的删除、堆排序
    面试题8:无序数组的最大差值
    面试题7:判断链表是否有环,返回环的入口点
    面试题6:二叉树最近公共节点(LCA)《leetcode236》
    面试题6:二叉树转单链表
  • 原文地址:https://www.cnblogs.com/cutesnow/p/14049030.html
Copyright © 2020-2023  润新知