Created
August 6, 2018 00:54
-
-
Save jhsea3do/66970519a7ead904a5ccfc3edeadcfb4 to your computer and use it in GitHub Desktop.
install tencent bkce cluster
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] bin/init.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # main script | |
| # ------------------------------------------------------------------ | |
| PRJ_NAME=bkce | |
| PRJ_PATH=$(realpath "$(dirname $0)/..") | |
| CWD=$(pwd) | |
| PRJ_VOLS=vols | |
| PRJ_SIZE=3 | |
| cd "$PRJ_PATH" | |
| sh docker/build.sh | |
| mkdir -p $PRJ_VOLS/files | |
| mkdir -p $PRJ_VOLS/haproxy/etc | |
| for x in $(seq 1 ${PRJ_SIZE}); do | |
| node_id=$x | |
| node_name="${PRJ_NAME}0${node_id}" | |
| mkdir -p $PRJ_VOLS/$node_name/var/cache | |
| mkdir -p $PRJ_VOLS/$node_name/root | |
| mkdir -p $PRJ_VOLS/$node_name/data | |
| done | |
| [ -z "$(docker network ls|grep $PRJ_NAME)" ] && docker network create $PRJ_NAME | |
| sh $PRJ_PATH/bin/service.sh down | |
| for x in $(seq 1 ${PRJ_SIZE}); do | |
| node_id=$x | |
| node_name="${PRJ_NAME}0${node_id}" | |
| sh $PRJ_PATH/bin/service.sh up -d $node_name | |
| sh $PRJ_PATH/bin/init_node.sh $node_id | |
| done | |
| sh $PRJ_PATH/bin/init_cluster.sh | |
| sh $PRJ_PATH/bin/service.sh up -d ha01 | |
| cd $CWD |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] bin/init_cluster.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # prepare bkce cluster | |
| # ------------------------------------------------------------------ | |
| PRJ_EXEC=docker-compose | |
| PRJ_NAME=bkce | |
| PRJ_PATH=$(realpath "$(dirname $0)/..") | |
| PRJ_SIZE=3 | |
| CWD=$(pwd) | |
| cd $PRJ_PATH | |
| function get_name { | |
| echo "${PRJ_NAME}0${1:-1}" | |
| } | |
| function get_addr { | |
| echo $(get_addr_cidr $@)|awk -F\/ '{print $1}' | |
| } | |
| function get_addr_cidr { | |
| node_name=$(get_name $@) | |
| $PRJ_EXEC -p $PRJ_NAME -f docker-compose.yaml exec $node_name \ | |
| ip addr show eth0|grep inet|awk '{print $2}' | |
| } | |
| function get_host { | |
| node_name=$(get_name $@) | |
| $PRJ_EXEC -p $PRJ_NAME -f docker-compose.yaml exec $node_name \ | |
| hostname | |
| } | |
| function set_install_config { | |
| file=vols/files/bk4.1/install.config | |
| cat > $file <<EOF | |
| $(get_addr 1) nginx,appt,rabbitmq,kafka,zk,es,bkdata,consul,fta | |
| $(get_addr 2) mongodb,appo,kafka,zk,es,mysql,beanstalk,consul | |
| $(get_addr 3) paas,cmdb,job,gse,license,kafka,zk,es,redis,consul,influxdb | |
| EOF | |
| for x in $(seq 1 $PRJ_SIZE); do | |
| echo "set install config in $(get_name $x)" | |
| cat $file |\ | |
| $PRJ_EXEC exec -T $(get_name $x) sh -c "cat > /data/install/install.config" | |
| done | |
| } | |
| function set_install_globals { | |
| file=vols/files/bk4.1/globals.env | |
| # default | |
| BK_DOMAIN="blueking.com" | |
| MYSQL_PASS='OIraQ3SJ_x' | |
| REDIS_PASS='muMp_JC0f#' | |
| MONGODB_PASS=':P_3HI#LXz' | |
| MQ_PASS='xeV6UDM1oQ' | |
| ZK_PASS=',N_c=EfX9j' | |
| PAAS_ADMIN_PASS='#Rza5_tP6y' | |
| # override | |
| BK_DOMAIN="demo.com" | |
| MYSQL_PASS='passw0rd' | |
| REDIS_PASS='passw0rd' | |
| MONGODB_PASS='passw0rd' | |
| MQ_PASS='passw0rd' | |
| ZK_PASS='passw0rd' | |
| PAAS_ADMIN_PASS='passw0rd' | |
| cat > $file <<EOF | |
| # vim:ft=sh | |
| shopt -s nullglob | |
| if [ -d \$CTRL_DIR/third ]; then | |
| for f in \$CTRL_DIR/third/globals_*.env; do | |
| source \$f | |
| done | |
| fi | |
| if [ -d \$CTRL_DIR/extra ]; then | |
| for f in \$CTRL_DIR/extra/globals_*.env; do | |
| source \$f | |
| done | |
| fi | |
| shopt -s nullglob | |
| # 产品信息含义 | |
| # PAAS 集成平台 | |
| # CMDB 配置平台 | |
| # JOB 作业平台 | |
| # GSE 管控平台 | |
| # BKDATA 数据平台 | |
| ## environment variables | |
| # 域名信息 | |
| export BK_DOMAIN="$BK_DOMAIN" # 蓝鲸根域名(不含主机名) | |
| export PAAS_FQDN="paas.\$BK_DOMAIN" # PAAS 完整域名 | |
| export CMDB_FQDN="cmdb.\$BK_DOMAIN" # CMDB 完整域名 | |
| export JOB_FQDN="job.\$BK_DOMAIN" # JOB 完整域名 | |
| export APPO_FQDN="o.\$BK_DOMAIN" # 正式环境完整域名 | |
| export APPT_FQDN="t.\$BK_DOMAIN" # 测试环境完整域名 | |
| # HAS_DNS_SERVER 选项, 域名解析通过 DNS server 还是通过配置 hosts | |
| # 通过 hosts 配置映射关系时, 一下默认为0, 表示没有自己的 DNS server | |
| # 此时, 会在所有机器上的 /etc/hosts 文件中添加 paas,cmdb,job 等平台的映射关系 | |
| export HAS_DNS_SERVER=0 | |
| # DB 信息 | |
| export MYSQL_USER="root" # mysql 用户名 | |
| export MYSQL_PASS='$MYSQL_PASS' | |
| export REDIS_PASS='$REDIS_PASS' | |
| export MONGODB_USER="root" # mongodb 用户名 | |
| export MONGODB_PASS='$MONGODB_PASS' | |
| # 账户信息(建议修改) | |
| export MQ_USER=admin | |
| export MQ_PASS='$MQ_PASS' | |
| export ZK_USER=bkzk | |
| export ZK_PASS='$ZK_PASS' | |
| export PAAS_ADMIN_USER=admin | |
| export PAAS_ADMIN_PASS='$PAAS_ADMIN_PASS' | |
| export GSE_AGENT_HOME=/usr/local/gse | |
| # windows agent 的安装路径暂时不支持修改, GSE_WIN_AGENT_HOME的取值勿动! | |
| export GSE_WIN_AGENT_HOME=/cygdrive/c/gse | |
| export BIZ_ID=0 | |
| # 若不能直连往外, 请关闭该选项 | |
| # 若环境可以直连外网, 以下选项设置为1, 便于自动设置 NGINX 的外网 IP 的监听地址 | |
| export AUTO_GET_WANIP=0 | |
| # 若无法自动获取外网 IP, 在需要跨云管理时, 在以下数组中填写 gse, nginx 的外网 ip 地址. | |
| export GSE_WAN_IP=() | |
| export NGINX_WAN_IP=() | |
| # 安装部署 SaaS 应用需要使用到的 pip 源 | |
| export PYPI_SOURCE='pypi.douban.com' | |
| export BK_TIMEZONE="Asia/Shanghai" | |
| export BK_PROXY= | |
| # 以下变量值不可以修改.每个企业统一 | |
| export IMAGE_NAME='bkbase/python:1.0' | |
| export JAVA_IMAGE_NAME='bkbase/java:1.0' | |
| # 设置app 部署时使用的脚本来源是已src 包下的为准还是以 install/appmgr目录下为准 | |
| # 若值为 src 则, 则app 安装的脚本从paas-agent目录下获取, 否则从agent_setup目录下获取 | |
| #export APPMGR_SOURCE= | |
| EOF | |
| for x in $(seq 1 $PRJ_SIZE); do | |
| echo "set install globals in $(get_name $x)" | |
| cat $file |\ | |
| $PRJ_EXEC exec -T $(get_name $x) sh -c "cat > /data/install/globals.env" | |
| done | |
| } | |
| function init_haproxy_config { | |
| file=vols/haproxy/etc/haproxy.cfg | |
| cat > $file <<EOF | |
| global | |
| maxconn 4096 | |
| user nobody | |
| group nobody | |
| daemon | |
| tune.maxrewrite 16384000 | |
| tune.bufsize 32768000 | |
| defaults | |
| mode tcp | |
| retries 3 | |
| timeout connect 3s | |
| # http://stackoverflow.com/questions/32634980 | |
| timeout server 200s | |
| timeout client 200s | |
| frontend f-bkce-tcp-80 | |
| bind *:80 name clear | |
| default_backend b-bkce-tcp-80 | |
| backend b-bkce-tcp-80 | |
| balance roundrobin | |
| server $(get_name 1) $(get_addr 1):80 check inter 1s | |
| frontend f-bkce-tcp-29122 | |
| bind *:29122 name clear | |
| default_backend b-bkce-tcp-29122 | |
| backend b-bkce-tcp-29122 | |
| balance roundrobin | |
| server $(get_name 1) $(get_addr 1):22 check inter 1s | |
| frontend f-bkce-tcp-29222 | |
| bind *:29222 name clear | |
| default_backend b-bkce-tcp-29222 | |
| backend b-bkce-tcp-29222 | |
| balance roundrobin | |
| server $(get_name 2) $(get_addr 2):22 check inter 1s | |
| frontend f-bkce-tcp-29322 | |
| bind *:29322 name clear | |
| default_backend b-bkce-tcp-29322 | |
| backend b-bkce-tcp-29322 | |
| balance roundrobin | |
| server $(get_name 3) $(get_addr 3):22 check inter 1s | |
| # es | |
| frontend f-bkce-tcp-10004 | |
| bind *:10004 name clear | |
| default_backend b-bkce-tcp-10004 | |
| backend b-bkce-tcp-10004 | |
| balance roundrobin | |
| server $(get_name 1) $(get_addr 1):10004 check inter 1s | |
| server $(get_name 2) $(get_addr 2):10004 check inter 1s | |
| server $(get_name 3) $(get_addr 3):10004 check inter 1s | |
| EOF | |
| } | |
| function configure_ssh { | |
| max=${1:-"$PRJ_SIZE"} | |
| for x in $(seq 1 $max); do | |
| docker exec -it --privileged $(get_name $x) sh -c 'cd /data/install; bash configure_ssh_without_pass;' | |
| done | |
| } | |
| function configure_hosts { | |
| max=${1:-"$PRJ_SIZE"} | |
| for x in $(seq 1 $max); do | |
| docker exec -it --privileged $(get_name $x) sh -c " | |
| echo ' | |
| $(get_addr 1) paas.service.consul | |
| $(get_addr 1) cmdb.service.consul | |
| $(get_addr 1) job.service.consul | |
| $(get_addr 3) gse.service.consul | |
| $(get_addr 3) license.service.consul | |
| $(get_addr 2) appo.service.consul | |
| $(get_addr 3) paas-direct.service.consul | |
| $(get_addr 3) cmdb-direct.service.consul | |
| $(get_addr 3) job-direct.service.consul | |
| $(get_addr 1) zk.service.consul | |
| $(get_addr 2) mysql.service.consul | |
| $(get_addr 3) redis.service.consul | |
| $(get_addr 2) mongodb.service.consul | |
| $(get_addr 1) rabbitmq.service.consul | |
| $(get_addr 1) fta.service.consul | |
| $(get_addr 1) bkdata.service.consul | |
| $(get_addr 1) dataapi.service.consul | |
| $(get_addr 1) databus.service.consul | |
| $(get_addr 1) monitor.service.consul | |
| $(get_addr 1) kafka.service.consul | |
| $(get_addr 3) influxdb.service.consul | |
| $(get_addr 1) es.service.consul | |
| #$(get_addr 1) yarn-ha.service.consul | |
| #$(get_addr 1) fabio.service.consul | |
| #$(get_addr 1) rbtnode1 | |
| #$(get_addr 1) zk-1 zk1 | |
| #$(get_addr 2) zk-2 zk2 | |
| #$(get_addr 3) zk-3 zk3 | |
| #$(get_addr 1) paas.demo.com | |
| #$(get_addr 1) cmdb.demo.com | |
| #$(get_addr 1) job.demo.com | |
| ' | tee -a /etc/hosts | |
| " | |
| done | |
| } | |
| function configure_scripts { | |
| max=${1:-"$PRJ_SIZE"} | |
| for x in $(seq 1 $max); do | |
| docker exec -it --privileged $(get_name $x) sh -c " | |
| echo '#!/bin/sh | |
| cd /data/install \ | |
| && ./bk_install paas \ | |
| && sleep 5 \ | |
| && ./bk_install cmdb \ | |
| && sleep 5 \ | |
| && ./bk_install job \ | |
| && sleep 5 \ | |
| && ./bk_install app_mgr \ | |
| && sleep 5 \ | |
| && ./bk_install saas-o bk_nodeman \ | |
| ' | tee -a /data/install/shjihai.setup.sh | |
| " | |
| done | |
| } | |
| set_install_config | |
| set_install_globals | |
| init_haproxy_config | |
| echo "all done: " | |
| configure_ssh 1 | |
| configure_hosts 3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] bin/init_node.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # prepare bkce nodes one by one | |
| # ------------------------------------------------------------------ | |
| PRJ_EXEC=docker-compose | |
| PRJ_NAME=bkce | |
| PRJ_PATH=$(realpath "$(dirname $0)/..") | |
| node_id=${1:-1} | |
| node_name="${PRJ_NAME}0${node_id}" | |
| # echo $node_name | |
| root_password=passw0rd | |
| # prepare yum config | |
| function prepare_yum { | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c ' | |
| sed -i "s/keepcache=0/keepcache=1/" /etc/yum.conf; | |
| cat /etc/yum.conf|grep keepcache; | |
| cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig; | |
| sed -i "s/mirrorlist=/\#mirrorlist=/g" /etc/yum.repos.d/CentOS-Base.repo; | |
| sed -i "s/\#baseurl=/baseurl=/g" /etc/yum.repos.d/CentOS-Base.repo; | |
| sed -i "s/mirror\.centos\.org/mirrors\.ustc\.edu\.cn/g" /etc/yum.repos.d/CentOS-Base.repo; | |
| #cat /etc/yum.repos.d/CentOS-Base.repo; | |
| ' | |
| } | |
| # install dependencies | |
| function install_deps { | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c ' | |
| yum install -y openssh-clients \ | |
| net-tools rsync ca-certificates which \ | |
| bash sudo wget curl screen unzip tar; | |
| ' | |
| } | |
| # install systemd | |
| function install_systemd { | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c ' | |
| yum install -y epel-release initscripts \ | |
| && (cd /lib/systemd/system/sysinit.target.wants/; for i in *; \ | |
| do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ | |
| rm -f /lib/systemd/system/multi-user.target.wants/*;\ | |
| rm -f /etc/systemd/system/*.wants/*;\ | |
| rm -f /lib/systemd/system/local-fs.target.wants/*; \ | |
| rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ | |
| rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ | |
| rm -f /lib/systemd/system/basic.target.wants/*;\ | |
| rm -f /lib/systemd/system/anaconda.target.wants/*; | |
| ' | |
| } | |
| function install_openssh { | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c " | |
| yum install -y openssh-server \ | |
| && mkdir -p /var/run/sshd \ | |
| && ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key \ | |
| && ssh-keygen -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key \ | |
| && ssh-keygen -t ecdsa -N '' -f /etc/ssh/ssh_host_ecdsa_key \ | |
| && ssh-keygen -A -N '' \ | |
| && sed -ri 's/account required pam_nologin.so/#account required pam_nologin.so/' /etc/pam.d/login \ | |
| && sed -ri 's/account required pam_nologin.so/#account required pam_nologin.so/' /etc/pam.d/sshd \ | |
| " | |
| } | |
| function passwd_root { | |
| pass=${1:-"${root_password}"} | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c " | |
| echo 'root:${pass}' |chpasswd | |
| " | |
| } | |
| function start_svc_sshd { | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c ' | |
| systemctl start sshd | |
| ' | |
| } | |
| function prepare_bkce { | |
| SRC_VERSION=4.1.13 | |
| IST_VERSION=1.3.4 | |
| $PRJ_EXEC -p $PRJ_NAME exec -u root --privileged $node_name sh -c " | |
| yum -y groupinstall 'Development Tools'; | |
| yum install -y rsync unzip pidof pkill rsync gawk curl lsof tar sed \ | |
| iproute uuid psmisc wget bind-utils mysql-devel MySQL-python cronie e2fsprogs; | |
| localedef -i en_US -f UTF-8 en_US.UTF-8; | |
| mkdir -p /data; | |
| [ -d '/data/install/.migrate' ] && chattr -i /data/install/.migrate/*; | |
| rm -rf /data/*; | |
| mkdir -p /data/src/cert; | |
| tar xzf /files/bk4.1/bkce_src-${SRC_VERSION}.tgz -C /data; | |
| tar xzf /files/bk4.1/install_ce-master-${IST_VERSION}.tgz -C /data; | |
| tar xzf /files/certs/ssl_certificates.tar.gz -C /data/src/cert; | |
| sed -i 's/Xms1g/Xms512m/' /data/src/service/es/config/jvm.options; | |
| sed -i 's/Xmx1g/Xmx768m/' /data/src/service/es/config/jvm.options; | |
| sed -i 's/deploy\.cluster\.memory\.max=2G/deploy\.cluster\.memory\.max=768M/' \ | |
| /data/src/bkdata/support-files/templates/databus#conf#es.cluster.properties; | |
| sed -i 's/deploy\.cluster\.memory\.max=1G/deploy\.cluster\.memory\.max=512M/' \ | |
| /data/src/bkdata/support-files/templates/databus#conf#jdbc.cluster.properties; | |
| sed -i 's/deploy\.cluster\.memory\.max=2G/deploy\.cluster\.memory\.max=768M/' \ | |
| /data/src/bkdata/support-files/templates/databus#conf#etl.cluster.properties; | |
| sed -i '6iPATH=\/usr\/sbin\:\$PATH' /data/src/gse/agent_linux_x86_64/bin/gsectl; | |
| sed -i '6iPATH=\/usr\/sbin\:\$PATH' /data/src/gse/agent_linux_x86/bin/gsectl; | |
| sed -i '6iPATH=\/usr\/sbin\:\$PATH' /data/install/scripts/gse/agent/gsectl; | |
| touch /var/log/lastlog; | |
| chgrp utmp /var/log/lastlog; | |
| chmod 664 /var/log/lastlog; | |
| " | |
| } | |
| function main { | |
| prepare_yum | |
| ## echo "$node_name: install_deps" | |
| ## install_deps | |
| ## echo "$node_name: install_systemd" | |
| ## install_systemd | |
| ## echo "$node_name: install_openssh" | |
| ## install_openssh | |
| passwd_root | |
| start_svc_sshd | |
| prepare_bkce | |
| } | |
| main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] bin/init_rhel.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # startup rhel test nodes in bkce cluster | |
| # ------------------------------------------------------------------ | |
| bin/service.sh up -d rhel01 rhel02 | |
| pass=passw0rd | |
| docker exec -it rhel01 systemctl start sshd | |
| docker exec -it rhel02 systemctl start sshd | |
| docker exec -it rhel01 sh -c "echo 'root:${pass}' |chpasswd" | |
| docker exec -it rhel02 sh -c "echo 'root:${pass}' |chpasswd" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] bin/service.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # docker-compose wrapper | |
| # ------------------------------------------------------------------ | |
| PRJ_EXEC=docker-compose | |
| PRJ_NAME=bkce | |
| PRJ_PATH=$(realpath "$(dirname $0)/..") | |
| CWD=$(pwd) | |
| cd "$PRJ_PATH" | |
| $PRJ_EXEC -f docker-compose.yaml -p $PRJ_NAME $* | |
| cd "$CWD" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] docker/build.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # build tss/systemd image from centos7.2.1511 | |
| # ------------------------------------------------------------------ | |
| [ -f "$(dirname $0)/tss_systemd_centos7.2.1511.tgz" ] \ | |
| && docker load -i "$(dirname $0)/tss_systemd_centos7.2.1511.tgz" \ | |
| && exit 0; | |
| docker build -t tss/systemd:centos7.2.1511 $(dirname $0) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM centos:centos7.2.1511 | |
| MAINTAINER shjihai@cn.ibm.com | |
| ENV container=docker | |
| RUN \ | |
| yum install -y openssh-server openssh-clients \ | |
| net-tools rsync ca-certificates which \ | |
| bash sudo wget curl screen \ | |
| && yum clean all | |
| RUN \ | |
| yum install -y epel-release initscripts \ | |
| && yum clean all \ | |
| && (cd /lib/systemd/system/sysinit.target.wants/; for i in *; \ | |
| do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ | |
| rm -f /lib/systemd/system/multi-user.target.wants/*;\ | |
| rm -f /etc/systemd/system/*.wants/*;\ | |
| rm -f /lib/systemd/system/local-fs.target.wants/*; \ | |
| rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ | |
| rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ | |
| rm -f /lib/systemd/system/basic.target.wants/*;\ | |
| rm -f /lib/systemd/system/anaconda.target.wants/*; | |
| RUN \ | |
| mkdir -p /var/run/sshd \ | |
| && ssh-keygen -N '' -t rsa -f /etc/ssh/ssh_host_rsa_key \ | |
| && ssh-keygen -N '' -t dsa -f /etc/ssh/ssh_host_dsa_key \ | |
| && ssh-keygen -N '' -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key \ | |
| && sed -ri 's/account required pam_nologin.so/#account required pam_nologin.so/' /etc/pam.d/login \ | |
| && sed -ri 's/account required pam_nologin.so/#account required pam_nologin.so/' /etc/pam.d/sshd \ | |
| && ssh-keygen -A | |
| VOLUME /run /tmp | |
| CMD ["/usr/sbin/init"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] docker/save.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # build tss/systemd image from centos7.2.1511 | |
| # ------------------------------------------------------------------ | |
| docker save tss/systemd:centos7.2.1511 -o $(dirname $0)/tss_systemd_centos7.2.1511.tgz |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # ------------------------------------------------------------------ | |
| # [Script] vols/files/dl.sh | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # download bkce installation files | |
| # ------------------------------------------------------------------ | |
| function get_src { | |
| # wget http://bkopen-10032816.file.myqcloud.com/ce4.0/bkce_src-4.0.12.tgz | |
| # wget http://bkopen-1252002024.file.myqcloud.com/ce4.1/bkce_src-4.1.13.tgz | |
| site=http://bkopen-1252002024.file.myqcloud.com/ | |
| version=4.1.13 | |
| group=ce4.1 | |
| echo "${site}${group}/bkce_src-${version}.tgz" | |
| } | |
| function get_install { | |
| # wget http://bkopen-10032816.file.myqcloud.com/ce4.0/install_ce-master-1.1.26.tgz | |
| # wget http://bkopen-1252002024.file.myqcloud.com/ce4.1/install_ce-master-1.3.4.tgz | |
| site=http://bkopen-1252002024.file.myqcloud.com/ | |
| version=1.3.4 | |
| group=ce4.1 | |
| echo "${site}${group}/install_ce-master-${version}.tgz" | |
| } | |
| MACS=" | |
| 00:50:56:a1:3c:75 | |
| 00:50:56:a1:7d:72 | |
| 00:50:56:a1:56:7f | |
| " | |
| function get_ssl { | |
| site="http://bk.tencent.com/generate_ssl/generate/" | |
| macs=${@:-"$MACS"} | |
| beta=false | |
| params="" | |
| mac_params="" | |
| for mac in $macs; do | |
| colon=%3A | |
| semicolon=%3B | |
| mac_param=$(echo $mac|sed 's/\:/'$colon'/g') | |
| [ -z $mac_params ] && semicolon="" | |
| mac_params="$mac_params$semicolon$mac_param" | |
| done | |
| echo "${site}?mac_list=${mac_params}&&is_beta=${beta}"|awk '{ print tolower($0) }' | |
| } | |
| #get_ssl " | |
| #00:50:56:a1:3c:75 | |
| #00:50:56:a1:7d:72 | |
| #00:50:56:a1:56:73 | |
| #" | |
| # http://bk.tencent.com/generate_ssl/generate/?mac_list=\ | |
| # 00%3A50%3A56%3Aa1%3A3c%3A75%3B00%3A50%3A56%3Aa1%3A7d%3A72%3B00%3A50%3A56%3Aa1%3A56%3A7f&&is_beta=false | |
| function get_cookie { | |
| # login qq in chrome, copy cookie text. | |
| echo ''; | |
| } | |
| function get_referer { | |
| demo="-H 'Referer: https://bk.tencent.com/download/'" | |
| echo 'https://bk.tencent.com/download/' | |
| } | |
| function dl { | |
| dir=$1 | |
| url=$2 | |
| cwd=$(pwd) | |
| mkdir -p "${dir}" | |
| cd "${dir}" | |
| # https://stackoverflow.com/questions/6881034/curl-to-grab-remote-filename-after-following-location | |
| echo "$url" | |
| curl -v -O -J -L -H "Referer: $(get_referer)" -H "Cookie: $(get_cookie)" "$url" | |
| cd "${cwd}" | |
| } | |
| # curl -v -o ssl_certificates.tar.gz -H "Referer: $(get_referer)" \ | |
| # -H "Cookie: $(get_cookie)" "$(get_ssl)" | |
| function main { | |
| macs=' | |
| 08:00:27:0A:28:58 | |
| 08:00:27:79:3C:C6 | |
| 08:00:27:6C:63:C0 | |
| ' | |
| #dl bk4.x "$(get_install)" | |
| #dl bk4.x "$(get_src)" | |
| dl bk4.x "$(get_ssl $macs)" | |
| } | |
| main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ------------------------------------------------------------------ | |
| # [Script] docker-compose.yml | |
| # [Author] Hai Ji <shjihai@cn.ibm.com> | |
| # bkce cluster configuration | |
| # ------------------------------------------------------------------ | |
| version: '2' | |
| services: | |
| bkce01: | |
| container_name: bkce01 | |
| hostname: bkce01 | |
| # image: centos:centos7.2.1511 | |
| image: tss/systemd:centos7.2.1511 | |
| # tty: true | |
| # command: sh | |
| cap_add: | |
| - SYS_ADMIN | |
| security_opt: | |
| - seccomp:unconfined | |
| privileged: true | |
| environment: | |
| - container=docker | |
| volumes: | |
| - /sys/fs/cgroup:/sys/fs/cgroup:ro | |
| - ./vols/bkce01/var/cache:/var/cache:rw | |
| - ./vols/bkce01/data:/data:rw | |
| - ./vols/files:/files:ro | |
| mac_address: 08:00:27:0A:28:58 | |
| bkce02: | |
| container_name: bkce02 | |
| hostname: bkce02 | |
| # image: centos:centos7.2.1511 | |
| image: tss/systemd:centos7.2.1511 | |
| # tty: true | |
| # command: sh | |
| cap_add: | |
| - SYS_ADMIN | |
| security_opt: | |
| - seccomp:unconfined | |
| privileged: true | |
| environment: | |
| - container=docker | |
| volumes: | |
| - /sys/fs/cgroup:/sys/fs/cgroup:ro | |
| - ./vols/bkce02/var/cache:/var/cache:rw | |
| - ./vols/bkce02/data:/data:rw | |
| - ./vols/files:/files:ro | |
| mac_address: 08:00:27:79:3C:C6 | |
| bkce03: | |
| container_name: bkce03 | |
| hostname: bkce03 | |
| # image: centos:centos7.2.1511 | |
| image: tss/systemd:centos7.2.1511 | |
| # tty: true | |
| # command: sh | |
| cap_add: | |
| - SYS_ADMIN | |
| security_opt: | |
| - seccomp:unconfined | |
| privileged: true | |
| environment: | |
| - container=docker | |
| volumes: | |
| - /sys/fs/cgroup:/sys/fs/cgroup:ro | |
| - ./vols/bkce03/var/cache:/var/cache:rw | |
| - ./vols/bkce03/data:/data:rw | |
| - ./vols/files:/files:ro | |
| mac_address: 08:00:27:6C:63:C0 | |
| rhel01: | |
| container_name: rhel01 | |
| hostname: rhel01 | |
| image: tss/systemd:centos7.2.1511 | |
| cap_add: | |
| - SYS_ADMIN | |
| security_opt: | |
| - seccomp:unconfined | |
| environment: | |
| - container=docker | |
| volumes: | |
| - /sys/fs/cgroup:/sys/fs/cgroup:ro | |
| rhel02: | |
| container_name: rhel02 | |
| hostname: rhel02 | |
| image: tss/systemd:centos7.2.1511 | |
| cap_add: | |
| - SYS_ADMIN | |
| security_opt: | |
| - seccomp:unconfined | |
| environment: | |
| - container=docker | |
| volumes: | |
| - /sys/fs/cgroup:/sys/fs/cgroup:ro | |
| ha01: | |
| container_name: ha01 | |
| image: haproxy:alpine | |
| volumes: | |
| - ./vols/haproxy/etc/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro | |
| network_mode: host | |
| networks: | |
| default: | |
| external: | |
| name: bkce |
Author
Author
# rbt.sh
INSTALL_PATH=/data/bkce
export RABBITMQ_CONFIG_FILE=$INSTALL_PATH/etc/rabbitmq/rabbitmq.config
export CONF_ENV_FILE=$INSTALL_PATH/etc/rabbitmq/rabbitmq-env.conf
rabbitmq-server -detached start
sleep 3
rabbitmqctl start_app
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
setup steps
services start steps