From f8f2c19f2d664e81f16d0645557f711b425ee2a5 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sat, 8 Sep 2018 18:24:50 +0800 Subject: [PATCH 01/20] [REV] optimize rbd-repo health status checks #145 --- install/salt/common/dns.sls | 127 ++++++++++++----------- install/salt/install/files/conf/all.yaml | 62 +++++------ 2 files changed, 97 insertions(+), 92 deletions(-) diff --git a/install/salt/common/dns.sls b/install/salt/common/dns.sls index db05b2c..af1a1e6 100644 --- a/install/salt/common/dns.sls +++ b/install/salt/common/dns.sls @@ -1,72 +1,71 @@ {% if "manage" in grains['id'] %} {% set hostip = pillar['vip'] %} -rbd-repo-domain: - host.present: - - ip: {{ hostip }} - - names: - - lang.goodrain.me - - maven.goodrain.me - -kube-apiserver-domain: - host.present: - - ip: {{ hostip }} - - names: - - kubeapi.goodrain.me - -rbd-api-domain: - host.present: - - ip: {{ hostip }} - - names: - - region.goodrain.me - -rbd-registry-domain: - host.present: - - ip: {{ hostip }} - - names: - - goodrain.me - -rbd-app-ui-domain: - host.present: - - ip: {{ hostip }} - - names: - - console.goodrain.me +#rbd-repo-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - lang.goodrain.me +# - maven.goodrain.me + +#kube-apiserver-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - kubeapi.goodrain.me + +#rbd-api-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - region.goodrain.me + +#rbd-registry-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - goodrain.me + +#rbd-app-ui-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - console.goodrain.me {% else %} # Todo:support VIP {% set hostip = pillar['vip'] %} {% set localip = grains['mip'][0] %} -rbd-repo-domain: - host.present: - - ip: {{ hostip }} - - names: - - lang.goodrain.me - - maven.goodrain.me - -kube-apiserver-domain: - host.present: - - ip: {{ hostip }} - - names: - - kubeapi.goodrain.me - -rbd-api-domain: - host.present: - - ip: {{ hostip }} - - names: - - region.goodrain.me - -rbd-registry-domain: - host.present: - - ip: {{ hostip }} - - names: - - goodrain.me - -rbd-app-ui-domain: - host.present: - - ip: {{ hostip }} - - names: - - console.goodrain.me - +#rbd-repo-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - lang.goodrain.me +# - maven.goodrain.me + +#kube-apiserver-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - kubeapi.goodrain.me + +#rbd-api-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - region.goodrain.me + +#rbd-registry-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - goodrain.me + +#rbd-app-ui-domain: +# host.present: +# - ip: {{ hostip }} +# - names: +# - console.goodrain.me hostname-domain: host.present: @@ -90,6 +89,12 @@ add_master_dns: - text: - "nameserver {{ pillar.dns.get('current','114.114.114.114') }}" +add_local_dns: + file.append: + - name: /etc/resolv.conf + - text: + - "nameserver {{ grains['mip'][0] }}" + add_manage_dns: file.append: - name: /etc/resolv.conf diff --git a/install/salt/install/files/conf/all.yaml b/install/salt/install/files/conf/all.yaml index ea7b182..ddd9ba9 100644 --- a/install/salt/install/files/conf/all.yaml +++ b/install/salt/install/files/conf/all.yaml @@ -1,36 +1,6 @@ version: '2.1' services: {% if 'manage' in grains['id'] %} -- name: rbd-dns - endpoints: - - name: DNS_ENDPOINTS - protocol: udp - port: 53 - health: - name: rbd-dns - model: cmd - address: /opt/rainbond/health/rbd-dns.sh - time_interval: 5 - after: - - docker - type: simple - pre_start: docker rm rbd-dns - start: >- - docker run --name rbd-dns - --network host - --memory 1024M - -e VERBOSE=true - -v {{ pillar['rbd-path'] }}/etc/kubernetes/kubecfg:/opt/rainbond/etc/kubernetes/kubecfg - -i {{ pillar['private-image-domain'] }}/{{ pillar['rainbond-modules']['rbd-dns']['image'] }}:{{ pillar['rainbond-modules']['rbd-dns']['version'] }} - --kubecfg-file=/opt/rainbond/etc/kubernetes/kubecfg/admin.kubeconfig - --v=5 - --healthz-port=8089 - --dns-bind-address={{ grains['mip'][0] }} - --nameservers={{ pillar.dns.get('current','114.114.114.114') }},{{ pillar.dns.slave }} - --recoders=goodrain.me={{ pillar['master-private-ip'] }},*.goodrain.me={{ pillar['master-private-ip'] }} - stop: docker stop rbd-dns - restart_policy: always - restart_sec: 10 - name: rbd-hub endpoints: - name: HUB_ENDPOINTS @@ -62,7 +32,7 @@ services: health: name: rbd-repo model: http - address: lang.goodrain.me + address: 127.0.0.1:8081/artifactory/libs-release time_interval: 5 after: - docker @@ -720,4 +690,34 @@ services: type: notify start: none restart_policy: always + restart_sec: 10 +- name: rbd-dns + endpoints: + - name: DNS_ENDPOINTS + protocol: udp + port: 53 + health: + name: rbd-dns + model: cmd + address: /opt/rainbond/health/rbd-dns.sh + time_interval: 5 + after: + - docker + type: simple + pre_start: docker rm rbd-dns + start: >- + docker run --name rbd-dns + --network host + --memory 1024M + -e VERBOSE=true + -v {{ pillar['rbd-path'] }}/etc/kubernetes/kubecfg:/opt/rainbond/etc/kubernetes/kubecfg + -i {{ pillar['private-image-domain'] }}/{{ pillar['rainbond-modules']['rbd-dns']['image'] }}:{{ pillar['rainbond-modules']['rbd-dns']['version'] }} + --kubecfg-file=/opt/rainbond/etc/kubernetes/kubecfg/admin.kubeconfig + --v=5 + --healthz-port=8089 + --dns-bind-address={{ grains['mip'][0] }} + --nameservers={{ pillar.dns.get('current','114.114.114.114') }},{{ pillar.dns.slave }} + --recoders=goodrain.me={{ pillar['master-private-ip'] }},*.goodrain.me={{ pillar['master-private-ip'] }} + stop: docker stop rbd-dns + restart_policy: always restart_sec: 10 \ No newline at end of file From a147652dfdfa15c40506b599997fa0a5bd243d95 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sat, 8 Sep 2018 21:43:40 +0800 Subject: [PATCH 02/20] [REV] add goodrain.me to /etc/hosts --- install/salt/common/dns.sls | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/install/salt/common/dns.sls b/install/salt/common/dns.sls index af1a1e6..9e6bf45 100644 --- a/install/salt/common/dns.sls +++ b/install/salt/common/dns.sls @@ -19,11 +19,11 @@ # - names: # - region.goodrain.me -#rbd-registry-domain: -# host.present: -# - ip: {{ hostip }} -# - names: -# - goodrain.me +rbd-registry-domain: + host.present: + - ip: {{ hostip }} + - names: + - goodrain.me #rbd-app-ui-domain: # host.present: From 93e7d8d93a88010329e0b2e5496f53c4ede0c072 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sat, 8 Sep 2018 22:09:10 +0800 Subject: [PATCH 03/20] [REV] disable default dns --- install/salt/common/dns.sls | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/install/salt/common/dns.sls b/install/salt/common/dns.sls index 9e6bf45..30c5df2 100644 --- a/install/salt/common/dns.sls +++ b/install/salt/common/dns.sls @@ -83,11 +83,11 @@ uuid-domain: {% endif %} # Modify /etc/resolv.conf -add_master_dns: - file.append: +disable_old_dns: + file.replace: - name: /etc/resolv.conf - - text: - - "nameserver {{ pillar.dns.get('current','114.114.114.114') }}" + - pattern: "^nameserver " + - repl: "#nameserver " add_local_dns: file.append: @@ -101,6 +101,12 @@ add_manage_dns: - text: - "nameserver {{ pillar['master-private-ip'] }}" +add_master_dns: + file.append: + - name: /etc/resolv.conf + - text: + - "nameserver {{ pillar.dns.get('current','114.114.114.114') }}" + domain-resolv: file.replace: - name: /etc/resolv.conf From c37f596cfc9336a4add39e1f0bac64a4a8925239 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sat, 8 Sep 2018 22:27:13 +0800 Subject: [PATCH 04/20] [REV] add kubeapi.goodrain.me to /etc/hosts --- install/salt/common/dns.sls | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/install/salt/common/dns.sls b/install/salt/common/dns.sls index 30c5df2..fbe3f49 100644 --- a/install/salt/common/dns.sls +++ b/install/salt/common/dns.sls @@ -7,11 +7,11 @@ # - lang.goodrain.me # - maven.goodrain.me -#kube-apiserver-domain: -# host.present: -# - ip: {{ hostip }} -# - names: -# - kubeapi.goodrain.me +kube-apiserver-domain: + host.present: + - ip: {{ hostip }} + - names: + - kubeapi.goodrain.me #rbd-api-domain: # host.present: @@ -89,17 +89,17 @@ disable_old_dns: - pattern: "^nameserver " - repl: "#nameserver " -add_local_dns: +add_manage_dns: file.append: - name: /etc/resolv.conf - text: - - "nameserver {{ grains['mip'][0] }}" + - "nameserver {{ pillar['master-private-ip'] }}" -add_manage_dns: +add_local_dns: file.append: - name: /etc/resolv.conf - text: - - "nameserver {{ pillar['master-private-ip'] }}" + - "nameserver {{ grains['mip'][0] }}" add_master_dns: file.append: From 9b5b2463272cb41f0d427b694e1f4eaba1db29a2 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sat, 8 Sep 2018 23:26:30 +0800 Subject: [PATCH 05/20] [REV] fmt lb config --- install/salt/install/files/plugins/init-lb.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/salt/install/files/plugins/init-lb.sh b/install/salt/install/files/plugins/init-lb.sh index e4a1b3f..f374588 100644 --- a/install/salt/install/files/plugins/init-lb.sh +++ b/install/salt/install/files/plugins/init-lb.sh @@ -56,7 +56,7 @@ upstream registry { server { listen 80; server_name $UI_EIP; - if ( \$server_addr = $UI_EIP ){ + if ( \$host = $UI_EIP ){ return 301 \$scheme://$UI_EIP:7070\$request_uri; } } @@ -64,7 +64,7 @@ server { server { listen 80; server_name $UI_IIP; - if ( \$server_addr = $UI_IIP ){ + if ( \$host = $UI_IIP ){ return 301 \$scheme://$UI_IIP:7070\$request_uri; } } From decebcdf4998bd6b9a4e2c012bcbc6dd299a98d2 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sun, 9 Sep 2018 09:07:26 +0800 Subject: [PATCH 06/20] [REV] add repo.goodrain.me to /etc/hosts --- install/imgs/img_list.ls | 32 -------------------------------- install/imgs/readme.md | 1 - install/pkgs/readme.md | 1 - install/salt/common/dns.sls | 7 +++++++ 4 files changed, 7 insertions(+), 34 deletions(-) delete mode 100644 install/imgs/img_list.ls delete mode 100644 install/imgs/readme.md delete mode 100644 install/pkgs/readme.md diff --git a/install/imgs/img_list.ls b/install/imgs/img_list.ls deleted file mode 100644 index eb8f944..0000000 --- a/install/imgs/img_list.ls +++ /dev/null @@ -1,32 +0,0 @@ -rainbond_adapter_latest.gz -rainbond_builder_latest.gz -rainbond_calico-node_v2.4.1.gz -rainbond_cfssl_dev.gz -rainbond_etcd_v3.2.13.gz -rainbond_kube-apiserver_v1.6.4.gz -rainbond_kubecfg_dev.gz -rainbond_kube-controller-manager_v1.6.4.gz -rainbond_kube-scheduler_v1.6.4.gz -rainbond_pause-amd64_3.0.gz -rainbond_plugins_tcm.gz -rainbond_prometheus_v2.0.0.gz -rainbond_rbd-api_3.5.gz -rainbond_rbd-app-ui_3.5.gz -rainbond_rbd-chaos_3.5.gz -rainbond_rbd-db_3.5.gz -rainbond_rbd-dns_3.5.gz -rainbond_rbd-entrance_3.5.gz -rainbond_rbd-eventlog_3.5.gz -rainbond_rbd-lb_3.5.gz -rainbond_rbd-lb_3.5-new.gz -rainbond_rbd-mq_3.5.gz -rainbond_rbd-registry_2.3.1.gz -rainbond_rbd-repo_3.5.gz -rainbond_rbd-webcli_3.5.gz -rainbond_rbd-worker_3.5.gz -rainbond_runner_latest.gz -rainbond_static_allcli_v3.5.gz -rainbond_cni_k8s_v3.5.gz -rainbond_cni_rbd_v3.5.gz -rainbond_plugins_mesh.gz -rainbond_prometheus_v2.1.0.gz diff --git a/install/imgs/readme.md b/install/imgs/readme.md deleted file mode 100644 index d7c7dee..0000000 --- a/install/imgs/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Rainbond offline rbd modules docker images directory diff --git a/install/pkgs/readme.md b/install/pkgs/readme.md deleted file mode 100644 index 007847f..0000000 --- a/install/pkgs/readme.md +++ /dev/null @@ -1 +0,0 @@ -# rainbond offline pkgs direstory \ No newline at end of file diff --git a/install/salt/common/dns.sls b/install/salt/common/dns.sls index fbe3f49..bf2e3a2 100644 --- a/install/salt/common/dns.sls +++ b/install/salt/common/dns.sls @@ -82,6 +82,13 @@ uuid-domain: {% endif %} +# repo.goodrain.me +local-domain: + host.present: + - ip: {{ pillar['master-private-ip'] }} + - names: + - repo.goodrain.me + # Modify /etc/resolv.conf disable_old_dns: file.replace: From cdb67754380d462cc3e16a20511fc72b90a1cf8f Mon Sep 17 00:00:00 2001 From: ysicing Date: Sun, 9 Sep 2018 09:18:10 +0800 Subject: [PATCH 07/20] rm docker-repo --- install/salt/docker/install.sls | 50 ++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/install/salt/docker/install.sls b/install/salt/docker/install.sls index 83e1eaf..9ba19f9 100644 --- a/install/salt/docker/install.sls +++ b/install/salt/docker/install.sls @@ -28,32 +28,32 @@ docker-mirrors: - makedirs: True {% endif %} -docker-repo: - pkgrepo.managed: - {% if grains['os_family']|lower == 'redhat' %} - {% if pillar['install-type']=="offline" %} - {% if grains['id']!= "manage01" %} - - humanname: local_repo - - baseurl: http://repo.goodrain.me/ - - enabled: 1 - - gpgcheck: 0 - {% endif %} - #online - {% else %} - - humanname: Goodrain CentOS-$releasever - for x86_64 - - baseurl: http://repo.goodrain.com/centos/$releasever/3.6/$basearch - - enabled: 1 - - gpgcheck: 0 - - gpgkey: http://repo.goodrain.com/gpg/RPM-GPG-KEY-CentOS-goodrain - {% endif %} +#docker-repo: +# pkgrepo.managed: +# {% if grains['os_family']|lower == 'redhat' %} +# {% if pillar['install-type']=="offline" %} +# {% if grains['id']!= "manage01" %} +# - humanname: local_repo +# - baseurl: http://repo.goodrain.me/ +# - enabled: 1 +# - gpgcheck: 0 +# {% endif %} +# #online +# {% else %} +# - humanname: Goodrain CentOS-$releasever - for x86_64 +# - baseurl: http://repo.goodrain.com/centos/$releasever/3.6/$basearch +# - enabled: 1 +# - gpgcheck: 0 +# - gpgkey: http://repo.goodrain.com/gpg/RPM-GPG-KEY-CentOS-goodrain +# {% endif %} # debain or ubuntu - {% else %} - - name: deb http://repo.goodrain.com/debian/9 3.6 main - - file: /etc/apt/sources.list.d/docker.list - - key_url: http://repo.goodrain.com/gpg/goodrain-C4CDA0B7 - {% endif %} - - require_in: - - pkg: gr-docker-engine +# {% else %} +# - name: deb http://repo.goodrain.com/debian/9 3.6 main +# - file: /etc/apt/sources.list.d/docker.list +# - key_url: http://repo.goodrain.com/gpg/goodrain-C4CDA0B7 +# {% endif %} +# - require_in: +# - pkg: gr-docker-engine gr-docker-engine: pkg.installed: From ed0709d52c42aaaa1a45072cf34d80798068b1b3 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sun, 9 Sep 2018 10:30:37 +0800 Subject: [PATCH 08/20] [REV] Optimize domain name generation & source configuration #147 --- install/salt/install/files/init/domain.sh | 5 ++++- install/salt/salt/install.sls | 11 +---------- setup.sh | 4 ++-- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/install/salt/install/files/init/domain.sh b/install/salt/install/files/init/domain.sh index a5676f1..e8d4b69 100755 --- a/install/salt/install/files/init/domain.sh +++ b/install/salt/install/files/init/domain.sh @@ -6,8 +6,11 @@ DOMAIN_LOG={{ pillar['rbd-path'] }}/.domain.log DOMAIN_API="http://domain.grapps.cn/domain" AUTH={{ pillar['secretkey'] }} DOMAIN_TYPE=False +DOMAIN_TYPE={{ pillar['install-type'] }} -curl -d 'ip='"$DOMAIN_IP"'&uuid='"$DOMAIN_UUID"'&type='"$DOMAIN_TYPE"'&auth='"$AUTH"'' -X POST $DOMAIN_API/new > $DOMAIN_LOG +if [[ "$DOMAIN_TYPE" != "offline" ]];then + curl -d 'ip='"$DOMAIN_IP"'&uuid='"$DOMAIN_UUID"'&type='"$DOMAIN_TYPE"'&auth='"$AUTH"'' -X POST $DOMAIN_API/new > $DOMAIN_LOG +fi [ -f $DOMAIN_LOG ] && wilddomain=$(cat $DOMAIN_LOG ) diff --git a/install/salt/salt/install.sls b/install/salt/salt/install.sls index d5c6cc1..f9043d6 100644 --- a/install/salt/salt/install.sls +++ b/install/salt/salt/install.sls @@ -3,7 +3,7 @@ salt-repo: pkgrepo.managed: {% if grains['os_family']|lower == 'redhat' %} {% if pillar['install-type']=='offline' %} - - humanname: local_repo + - humanname: rainbond - baseurl: http://repo.goodrain.me/ - enabled: 1 - gpgcheck: 0 @@ -68,15 +68,6 @@ salt-minion-conf: - require: - pkg: salt-minion-install -#salt-minion-exconf: -# file.managed: -# - name: /etc/salt/minion.d/minion.ex.conf -# - source: salt://salt/install/conf/core.conf -# - user: root -# - group: root -# - mode: 644 -# - template: jinja - salt-minion-script: file.managed: - name: /tmp/salt-minion-install diff --git a/setup.sh b/setup.sh index 7f878a1..ba401ca 100755 --- a/setup.sh +++ b/setup.sh @@ -117,8 +117,8 @@ END else mkdir -p /etc/yum.repos.d/backup >/dev/null 2>&1 mv -f /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup >/dev/null 2>&1 - cat > /etc/yum.repos.d/rbd-local.repo << EOF -[rbd-local] + cat > /etc/yum.repos.d/rainbond.repo << EOF +[rainbond] name=rainbond_offline_install_repo baseurl=file:///opt/rainbond/install/install/pkgs/centos/ gpgcheck=0 From 72913bfd0d2212ec508f55933a791dc22c1142b5 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sun, 9 Sep 2018 23:01:02 +0800 Subject: [PATCH 09/20] update issue template --- .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md | 10 ++++++++++ .github/ISSUE_TEMPLATE/custom.md | 5 ----- .github/ISSUE_TEMPLATE/install-error-report.md | 14 -------------- 3 files changed, 10 insertions(+), 19 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md delete mode 100644 .github/ISSUE_TEMPLATE/custom.md delete mode 100644 .github/ISSUE_TEMPLATE/install-error-report.md diff --git a/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..9334eee --- /dev/null +++ b/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md @@ -0,0 +1,10 @@ +please complete the following information: + +- [ ] Rainbond versions:[e.g. 3.6.x,3.7.x,5.x] +- [ ] Kubernetes versions: [e.g. gr-1.6.4,1.10.3] +- [ ] Docker version: [e.g. gr-1.12.6] +- [ ] Operating system and kernel: [e.g. Centos 7.4,Debian 9.4, Ubuntu 16.04,3.10.0-514.26.2.el7.x86_64] +- [ ] Provider: [Aliyun,Qcloud,AWS,VirtualBox,...] +- [ ] Install details: [Online,Offline,Single node,HA] +- [ ] Steps to reproduce +- [ ] Screenshots(If applicable, add screenshots to help explain your problem.) diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100644 index 6e5f270..0000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. - ---- diff --git a/.github/ISSUE_TEMPLATE/install-error-report.md b/.github/ISSUE_TEMPLATE/install-error-report.md deleted file mode 100644 index 3be9338..0000000 --- a/.github/ISSUE_TEMPLATE/install-error-report.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Install error report -about: Create a report to help us improve ---- - -please complete the following information: - - - OS: [e.g. Debian 9,Ubuntu 16.04, Centos 7.3] - - Kernel Version: [e.g. 4.9.0-3-amd64, 3.10.0-693.2.2.el7.x86_64] - - Rainbond Version: [e.g. 3.6] - - Environment: [e.g. aliyun,qcloud,aws,gce] - -**Screenshots** -If applicable, add screenshots to help explain your problem. From 1c87dc89602a1efdde2b4b4106b9d61b3bbdc016 Mon Sep 17 00:00:00 2001 From: ysicing Date: Mon, 10 Sep 2018 19:34:37 +0800 Subject: [PATCH 10/20] [REV] add timeout --- install/salt/install/files/init/domain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/salt/install/files/init/domain.sh b/install/salt/install/files/init/domain.sh index e8d4b69..4f909fb 100755 --- a/install/salt/install/files/init/domain.sh +++ b/install/salt/install/files/init/domain.sh @@ -9,7 +9,7 @@ DOMAIN_TYPE=False DOMAIN_TYPE={{ pillar['install-type'] }} if [[ "$DOMAIN_TYPE" != "offline" ]];then - curl -d 'ip='"$DOMAIN_IP"'&uuid='"$DOMAIN_UUID"'&type='"$DOMAIN_TYPE"'&auth='"$AUTH"'' -X POST $DOMAIN_API/new > $DOMAIN_LOG + curl --connect-timeout 20 -d 'ip='"$DOMAIN_IP"'&uuid='"$DOMAIN_UUID"'&type='"$DOMAIN_TYPE"'&auth='"$AUTH"'' -X POST $DOMAIN_API/new > $DOMAIN_LOG fi [ -f $DOMAIN_LOG ] && wilddomain=$(cat $DOMAIN_LOG ) From 1b30ce8e7f24e1e0f37dd015e18e495eba46cb2c Mon Sep 17 00:00:00 2001 From: ysicing Date: Mon, 10 Sep 2018 19:46:33 +0800 Subject: [PATCH 11/20] [REV] fix docker online install --- install/salt/docker/install.sls | 43 +++++++++++++-------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/install/salt/docker/install.sls b/install/salt/docker/install.sls index 9ba19f9..06741c3 100644 --- a/install/salt/docker/install.sls +++ b/install/salt/docker/install.sls @@ -28,32 +28,23 @@ docker-mirrors: - makedirs: True {% endif %} -#docker-repo: -# pkgrepo.managed: -# {% if grains['os_family']|lower == 'redhat' %} -# {% if pillar['install-type']=="offline" %} -# {% if grains['id']!= "manage01" %} -# - humanname: local_repo -# - baseurl: http://repo.goodrain.me/ -# - enabled: 1 -# - gpgcheck: 0 -# {% endif %} -# #online -# {% else %} -# - humanname: Goodrain CentOS-$releasever - for x86_64 -# - baseurl: http://repo.goodrain.com/centos/$releasever/3.6/$basearch -# - enabled: 1 -# - gpgcheck: 0 -# - gpgkey: http://repo.goodrain.com/gpg/RPM-GPG-KEY-CentOS-goodrain -# {% endif %} - # debain or ubuntu -# {% else %} -# - name: deb http://repo.goodrain.com/debian/9 3.6 main -# - file: /etc/apt/sources.list.d/docker.list -# - key_url: http://repo.goodrain.com/gpg/goodrain-C4CDA0B7 -# {% endif %} -# - require_in: -# - pkg: gr-docker-engine +{% if pillar['install-type']=="online" %} +docker-repo: + pkgrepo.managed: + {% if grains['os_family']|lower == 'redhat' %} + - humanname: Goodrain CentOS-$releasever - for x86_64 + - baseurl: http://repo.goodrain.com/centos/$releasever/3.6/$basearch + - enabled: 1 + - gpgcheck: 0 + - gpgkey: http://repo.goodrain.com/gpg/RPM-GPG-KEY-CentOS-goodrain + {% else %} + - name: deb http://repo.goodrain.com/debian/9 3.6 main + - file: /etc/apt/sources.list.d/docker.list + - key_url: http://repo.goodrain.com/gpg/goodrain-C4CDA0B7 + {% endif %} + - require_in: + - pkg: gr-docker-engine +{% endif %} gr-docker-engine: pkg.installed: From 4d00c533c60221954a3b35b95b4508a0fdf253c2 Mon Sep 17 00:00:00 2001 From: ysicing Date: Mon, 10 Sep 2018 20:29:28 +0800 Subject: [PATCH 12/20] [REV] update docker mirrors --- install/salt/install/files/init/bin/grclis | 6 ++++++ rainbond.yaml.default | 2 +- setup.sh | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/install/salt/install/files/init/bin/grclis b/install/salt/install/files/init/bin/grclis index 09e9b6e..3d5bb29 100644 --- a/install/salt/install/files/init/bin/grclis +++ b/install/salt/install/files/init/bin/grclis @@ -14,10 +14,16 @@ func(){ done } +core(){ + +} + if [ "$1" == "start" ];then func start elif [ "$1" == "stop" ];then func stop +elif [ "$1" == "update" ];then + core update $2 else echo "grclis " fi diff --git a/rainbond.yaml.default b/rainbond.yaml.default index 25bad55..dc32cbe 100644 --- a/rainbond.yaml.default +++ b/rainbond.yaml.default @@ -16,7 +16,7 @@ docker: version: 1.12.6,fbecf51 mirrors: enabled: true - url: "https://registry.docker-cn.com" + url: "https://bf3asb4c.mirror.aliyuncs.com" dns: current: diff --git a/setup.sh b/setup.sh index ba401ca..90f54a5 100755 --- a/setup.sh +++ b/setup.sh @@ -762,6 +762,9 @@ install_func(){ ) && break done Echo_Info "Install Rainbond successfully" + + docker images | grep "rainbond" | awk '{print $1":"$2}' | xargs -I {} docker rmi {} >/dev/null 2>&1 + public_ip=$(yq r /srv/pillar/rainbond.sls master-public-ip) private_ip=$(yq r /srv/pillar/rainbond.sls master-private-ip) for ((i=1;i<=60;i++ ));do From 4ca1fe9e711c34d6aaecaefd68ae18662963ad1b Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 09:33:36 +0800 Subject: [PATCH 13/20] [REV] update grclis --- install/salt/install/files/init/bin/grclis | 39 ++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/install/salt/install/files/init/bin/grclis b/install/salt/install/files/init/bin/grclis index 3d5bb29..a278c3a 100644 --- a/install/salt/install/files/init/bin/grclis +++ b/install/salt/install/files/init/bin/grclis @@ -15,7 +15,38 @@ func(){ } core(){ - + local update_img=$1 + local all="rbd-chaos rbd-worker rbd-entrance rbd-api rbd-eventlog rbd-webcli rbd-mq rbd-app-ui" + local time=0 + for img in ${all[@]} + do + if [ "$img" == "$update_img" ];then + echo "update ${update_img}" + docker pull rainbond/${update_img}:3.7.1 + docker tag rainbond/${update_img}:3.7.1 goodrain.me/${update_img}:3.7.1 + docker push goodrain.me/${update_img}:3.7.1 + echo "restart ${update_img}" + systemctl restart ${update_img} + time=1 + fi + done + if [ "$time" != 1 ];then + echo "not support ${update_img}" + echo "only support ${all}" + fi +} + +update_all(){ + local all="rbd-chaos rbd-worker rbd-entrance rbd-api rbd-eventlog rbd-webcli rbd-mq rbd-app-ui" + for update_img in ${all[@]} + do + echo "update ${update_img}" + docker pull rainbond/${update_img}:3.7.1 + docker tag rainbond/${update_img}:3.7.1 goodrain.me/${update_img}:3.7.1 + docker push goodrain.me/${update_img}:3.7.1 + echo "restart ${update_img}" + systemctl restart ${update_img} + done } if [ "$1" == "start" ];then @@ -23,7 +54,11 @@ if [ "$1" == "start" ];then elif [ "$1" == "stop" ];then func stop elif [ "$1" == "update" ];then - core update $2 + if [ "$2" == "all" ];then + update_all + else + core update $2 + fi else echo "grclis " fi From f06cfda3845734d652b49503047ef01a1ed7dff9 Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 10:04:17 +0800 Subject: [PATCH 14/20] [REV]update install type --- install/salt/install/files/init/domain.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/install/salt/install/files/init/domain.sh b/install/salt/install/files/init/domain.sh index 4f909fb..b233812 100755 --- a/install/salt/install/files/init/domain.sh +++ b/install/salt/install/files/init/domain.sh @@ -6,10 +6,13 @@ DOMAIN_LOG={{ pillar['rbd-path'] }}/.domain.log DOMAIN_API="http://domain.grapps.cn/domain" AUTH={{ pillar['secretkey'] }} DOMAIN_TYPE=False -DOMAIN_TYPE={{ pillar['install-type'] }} +INSTALL_TYPE={{ pillar['install-type'] }} -if [[ "$DOMAIN_TYPE" != "offline" ]];then +if [[ "$INSTALL_TYPE" != "offline" ]];then curl --connect-timeout 20 -d 'ip='"$DOMAIN_IP"'&uuid='"$DOMAIN_UUID"'&type='"$DOMAIN_TYPE"'&auth='"$AUTH"'' -X POST $DOMAIN_API/new > $DOMAIN_LOG + cat > /tmp/.lock.domain < $DOMAIN_LOG +EOF fi [ -f $DOMAIN_LOG ] && wilddomain=$(cat $DOMAIN_LOG ) From 6a551f671d1b93b4b13d89d5a485f7474d2ef543 Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 11:10:25 +0800 Subject: [PATCH 15/20] [REV] fix typo --- install/salt/install/files/init/bin/grclis | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/salt/install/files/init/bin/grclis b/install/salt/install/files/init/bin/grclis index a278c3a..8164226 100644 --- a/install/salt/install/files/init/bin/grclis +++ b/install/salt/install/files/init/bin/grclis @@ -7,9 +7,9 @@ func(){ do [ -f "/etc/systemd/system/$service.service" ] && ( systemctl $1 $service - [ "$?" -eq 0 ] && echo "stop $service successful" || echo "stop $service failure" + [ "$?" -eq 0 ] && echo "$1 $service successful" || echo "$1 $service failure" ) || ( - echo "not found.skip stop $service" + echo "not found.skip $1 $service" ) done } From fda0105e31ec8073d374a7fae9a368d0dd0bafc9 Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 11:41:58 +0800 Subject: [PATCH 16/20] [REV] update entrance & lb config --- install/salt/install/files/conf/all.yaml | 8 +++++++- install/salt/install/files/init/bin/grclis | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/install/salt/install/files/conf/all.yaml b/install/salt/install/files/conf/all.yaml index ddd9ba9..7700ed9 100644 --- a/install/salt/install/files/conf/all.yaml +++ b/install/salt/install/files/conf/all.yaml @@ -69,7 +69,7 @@ services: -v {{ pillar['rbd-path'] }}/etc/kubernetes/kubecfg:/opt/rainbond/etc/kubernetes/kubecfg -i {{ pillar['private-image-domain'] }}/{{ pillar['rainbond-modules']['rbd-entrance']['image'] }}:{{ pillar['rainbond-modules']['rbd-entrance']['version'] }} --plugin-name=openresty - --plugin-opts=urls={{ pillar['lb-endpoints'] }} + --plugin-opts=urls=${MLB_ENDPOINTS} --kube-conf=/opt/rainbond/etc/kubernetes/kubecfg/admin.kubeconfig --log-level=debug --etcd-endpoints=${ETCD_ENDPOINTS} @@ -652,9 +652,15 @@ services: restart_sec: 10 - name: rbd-lb endpoints: +{% if 'manage' in grains['id'] %} + - name: MLB_ENDPOINTS + protocol: http + port: 10002 +{% else %} - name: LB_ENDPOINTS protocol: http port: 80 +{% endif %} health: name: rbd-lb model: http diff --git a/install/salt/install/files/init/bin/grclis b/install/salt/install/files/init/bin/grclis index 8164226..2d211ca 100644 --- a/install/salt/install/files/init/bin/grclis +++ b/install/salt/install/files/init/bin/grclis @@ -3,6 +3,7 @@ ALL_SERVICES="node rbd-db rbd-hub rbd-lb rbd-chaos rbd-repo rbd-worker kube-scheduler rbd-entrance rbd-api rbd-dns rbd-eventlog calico rbd-webcli rbd-mq rbd-monitor kube-controller-manager rbd-app-ui kube-apiserver etcd" func(){ + systemctl daemon-reload for service in ${ALL_SERVICES[@]} do [ -f "/etc/systemd/system/$service.service" ] && ( From dbd5303438647dc566ba68e82676d77083bbedda Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 15:38:53 +0800 Subject: [PATCH 17/20] [REV] fmt install --- install/salt/base/node.sls | 12 ++++++++++ install/salt/common/create_dir.sls | 4 ++-- install/salt/install/files/conf/all.yaml | 2 +- .../files/conf/{grafana.yaml => monitor.yaml} | 24 +++++++++++++++++-- install/salt/install/files/plugins/init.sh | 2 +- install/salt/install/files/plugins/init.sql | 2 +- rainbond.yaml.default | 4 +++- scripts/manage.sh | 2 ++ 8 files changed, 44 insertions(+), 8 deletions(-) rename install/salt/install/files/conf/{grafana.yaml => monitor.yaml} (53%) diff --git a/install/salt/base/node.sls b/install/salt/base/node.sls index 5b32e0f..9776024 100644 --- a/install/salt/base/node.sls +++ b/install/salt/base/node.sls @@ -12,6 +12,18 @@ node-conf: - user: root - group: root +{% if "manage" in grains['id'] %} +node-monitor-conf: + file.managed: + - source: salt://install/files/conf/monitor.yaml + - name: {{ pillar['rbd-path'] }}/conf/monitor.yaml + - template: jinja + - makedirs: True + - mode: 644 + - user: root + - group: root +{% endif %} + node-uuid-conf: file.managed: - source: salt://install/files/node/node_host_uuid.conf diff --git a/install/salt/common/create_dir.sls b/install/salt/common/create_dir.sls index 7cfca60..f40ef28 100644 --- a/install/salt/common/create_dir.sls +++ b/install/salt/common/create_dir.sls @@ -68,9 +68,9 @@ etc-db-dir: - name: {{ DIR }}/etc/rbd-db - makedirs: True -etc-prometheus-dir: +etc-monitor-dir: file.directory: - - name: {{ DIR }}/etc/prometheus + - name: {{ DIR }}/etc/rbd-monitor - makedirs: True etc-api-dir: diff --git a/install/salt/install/files/conf/all.yaml b/install/salt/install/files/conf/all.yaml index 7700ed9..894d2d4 100644 --- a/install/salt/install/files/conf/all.yaml +++ b/install/salt/install/files/conf/all.yaml @@ -69,7 +69,7 @@ services: -v {{ pillar['rbd-path'] }}/etc/kubernetes/kubecfg:/opt/rainbond/etc/kubernetes/kubecfg -i {{ pillar['private-image-domain'] }}/{{ pillar['rainbond-modules']['rbd-entrance']['image'] }}:{{ pillar['rainbond-modules']['rbd-entrance']['version'] }} --plugin-name=openresty - --plugin-opts=urls=${MLB_ENDPOINTS} + --plugin-opts=urls=${MLB_ENDPOINTS|-} --kube-conf=/opt/rainbond/etc/kubernetes/kubecfg/admin.kubeconfig --log-level=debug --etcd-endpoints=${ETCD_ENDPOINTS} diff --git a/install/salt/install/files/conf/grafana.yaml b/install/salt/install/files/conf/monitor.yaml similarity index 53% rename from install/salt/install/files/conf/grafana.yaml rename to install/salt/install/files/conf/monitor.yaml index 477af5b..24f522a 100644 --- a/install/salt/install/files/conf/grafana.yaml +++ b/install/salt/install/files/conf/monitor.yaml @@ -1,5 +1,5 @@ - name: rbd-grafana - endpoints + endpoints: - name: GRAFANA_ENDPOINTS protocol: http port: 3000 @@ -20,8 +20,28 @@ --user 0 -e GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource -e GF_SECURITY_ADMIN_PASSWORD={{ pillar['secretkey'] }} - -v /opt/rainbond/data/rbd-grafana:/var/lib/grafana + -v {{ pillar['rbd-path'] }}/data/rbd-grafana:/var/lib/grafana -i goodrain.me/grafana:{{ pillar['rainbond-modules']['rbd-grafana']['version'] }} stop: docker stop rbd-grafana restart_policy: always + restart_sec: 10 +- name: rbd-alert + health: + name: rbd-alert + model: tcp + address: 127.0.0.1:3000 + time_interval: 5 + after: + - docker + type: simple + pre_start: docker rm rbd-alert + start: >- + docker run + --name rbd-alert + --network host + --memory 1024M + -v {{ pillar['rbd-path'] }}/etc/rbd-monitor:/etc/alertmanager + -i goodrain.me/rbd-alert:{{ pillar['rainbond-modules']['rbd-alert']['version'] }} + stop: docker stop rbd-alert + restart_policy: always restart_sec: 10 \ No newline at end of file diff --git a/install/salt/install/files/plugins/init.sh b/install/salt/install/files/plugins/init.sh index f724749..423d529 100644 --- a/install/salt/install/files/plugins/init.sh +++ b/install/salt/install/files/plugins/init.sh @@ -12,7 +12,7 @@ IP={{ pillar['master-private-ip'] }} DOMAIN={{ pillar['domain'] }} cat > /tmp/region_info.sql </tmp/install_manage 2>&1 Echo_Info "install manage node successfully" else Echo_Error "reinstall manage node" From 6f7bc1054b39d5cae00893a36383776009cec7e0 Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 17:46:37 +0800 Subject: [PATCH 18/20] [REV] fmt compute install --- scripts/compute.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/compute.sh b/scripts/compute.sh index 2064b50..b3e82c7 100755 --- a/scripts/compute.sh +++ b/scripts/compute.sh @@ -167,16 +167,18 @@ install_compute_func(){ fi if [ "$fail_num" -eq 0 ];then - systemctl restart kube-apiserver + Echo_Info "install compute node successfully" if [ ! -z "$1" ];then uuid=$(salt-ssh -i $1 grains.item uuid | egrep '[a-zA-Z0-9]-' | awk '{print $1}') - for ((i=1;i<=15;i++ )); do - sleep 1 + for ((i=1;i<=30;i++ )); do + sleep 2 grctl node list | grep "$uuid" > /dev/null 2>&1 [ "$?" -eq 0 ] && ( - grctl node up $uuid + grctl node up $uuid && ( Echo_Info "compute node($uuid) added to the cluster" + echo "$1 $uuid up" >> /tmp/.node_status + ) ) && break done # Echo_Info "compute node($uuid) has been added to the cluster" From 5291d7139ed42bee59cb853e10c7708075ca1451 Mon Sep 17 00:00:00 2001 From: ysicing Date: Tue, 11 Sep 2018 19:06:07 +0800 Subject: [PATCH 19/20] [REV] fmt install manage --- install/salt/install/files/init/bin/grclis | 16 ++++++++++++++++ scripts/manage.sh | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/install/salt/install/files/init/bin/grclis b/install/salt/install/files/init/bin/grclis index 2d211ca..82ba2ef 100644 --- a/install/salt/install/files/init/bin/grclis +++ b/install/salt/install/files/init/bin/grclis @@ -50,10 +50,26 @@ update_all(){ done } +reload(){ + reload_services="kube-apiserver rbd-eventlog rbd-monitor rbd-worker rbd-webcli rbd-mq rbd-chaos rbd-api rbd-entrance" + for reload_service in ${reload_services[@]} + do + echo "systemctl restart $reload_service" >> /tmp/.reload_services + systemctl restart $reload_service + [ "$?" -eq 0 ] && ( + echo "restart $reload_service ok" >> /tmp/.reload_services + ) || ( + echo "restart $reload_service failed" >> /tmp/.reload_services + ) + done +} + if [ "$1" == "start" ];then func start elif [ "$1" == "stop" ];then func stop +elif [ "$1" == "reload" ];then + reload elif [ "$1" == "update" ];then if [ "$2" == "all" ];then update_all diff --git a/scripts/manage.sh b/scripts/manage.sh index c808e4a..28b608a 100755 --- a/scripts/manage.sh +++ b/scripts/manage.sh @@ -235,7 +235,9 @@ install(){ fi if [ "$fail_num" -eq 0 ];then Echo_Info "update node config" - salt -E "manage" cmd.run 'systemctl status node | grep Active' >/tmp/install_manage 2>&1 + salt -E "manage" cmd.run 'systemctl restart rbd-node' >/dev/null 2>&1 + salt -E "manage" cmd.run 'systemctl daemon-reload' >/dev/null 2>&1 + salt -E "manage" cmd.run 'grclis reload' >/dev/null 2>&1 Echo_Info "install manage node successfully" else Echo_Error "reinstall manage node" From 74e1b60c02bae69ba6e5d5fbc2a2fe934dada2e7 Mon Sep 17 00:00:00 2001 From: ysicing Date: Wed, 12 Sep 2018 14:14:14 +0800 Subject: [PATCH 20/20] [REV] fix typo --- scripts/manage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/manage.sh b/scripts/manage.sh index 28b608a..bdcaacb 100755 --- a/scripts/manage.sh +++ b/scripts/manage.sh @@ -235,7 +235,7 @@ install(){ fi if [ "$fail_num" -eq 0 ];then Echo_Info "update node config" - salt -E "manage" cmd.run 'systemctl restart rbd-node' >/dev/null 2>&1 + salt -E "manage" cmd.run 'systemctl restart node' >/dev/null 2>&1 salt -E "manage" cmd.run 'systemctl daemon-reload' >/dev/null 2>&1 salt -E "manage" cmd.run 'grclis reload' >/dev/null 2>&1 Echo_Info "install manage node successfully"