开发高可用集群
This commit is contained in:
97
26-开发高可用集群/DEV批量命令.sh
Normal file
97
26-开发高可用集群/DEV批量命令.sh
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
master_server_list=(192.168.35.105 192.168.35.114 192.168.35.115)
|
||||||
|
worker_server_list=(192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.168.35.95 192.168.35.96 192.168.35.101 192.168.35.103 192.168.35.104)
|
||||||
|
|
||||||
|
all_server_list=(192.168.35.105 192.168.35.114 192.168.35.115 192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.168.35.95 192.168.35.96 192.168.35.101 192.168.35.103 192.168.35.104)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
all_server_list=(192.168.40.53 192.168.40.54 192.168.40.55)
|
||||||
|
|
||||||
|
all_server_list=(192.168.35.105 192.168.35.114 192.168.35.115 dev-worker-01 dev-worker-02 dev-worker-03 dev-worker-04 dev-worker-05 dev-worker-06 dev-worker-07 dev-worker-08 dev-worker-09 dev-worker-10 dev-worker-11 dev-worker-12)
|
||||||
|
|
||||||
|
|
||||||
|
for server in "${all_server_list[@]}";do
|
||||||
|
echo "server is ${server}"
|
||||||
|
|
||||||
|
scp /etc/docker/daemon.json root@"${server}":/etc/docker/daemon.json
|
||||||
|
ssh root@"${server}" "systemctl reload docker"
|
||||||
|
ssh root@"${server}" "docker info"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
count=1
|
||||||
|
for server in "${all_server_list[@]}";do
|
||||||
|
echo "server is ${server}"
|
||||||
|
|
||||||
|
|
||||||
|
# sshpass -p "scyd@lab1234" ssh root@"${server}" "echo \"root:tY\$@Go7jS#h2\" | chpasswd"
|
||||||
|
#
|
||||||
|
sshpass -p "scyd@lab1234"
|
||||||
|
|
||||||
|
echo root:Len3#io7%2k | chpasswd
|
||||||
|
|
||||||
|
echo root:V2ryStr@ngPss| chpasswd
|
||||||
|
|
||||||
|
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPFSLFi0rzZSXf6laZ/s4AFCsgZBu8tyCx4bCmB3/k6x7xH1rjk/EZ8N2ZWV2CyTyjHCghu94ZmV0e6/FeC/KdBH96A69fGrq0HjsvAHTTvyEmmtrWmB7OAjhWloaovj1V8B1bTC9IZsZ4lN7agZ8u/uHzri2esXduTzXc186Q6h8lm1t5Gh7RGYGPdaXIjaFLxVSmdci+4eoS+EOEo/mspJB34TFuN8xEBzA3N06tmjAPtVpi0RFa6n/L9CUp2OQBJ8EQVgOYY6t5i3prLl29K9zSRX46ue+9jWbzfyKfKHk7jCfjnH6BG47/sbWoAyYPdkfSwvCZBroOjQh4gf3Ga4Gt4e7+rQ4sT3mrHUtXRd+g+0u9XOsYpHCTwwbtSiDJ+6DfdZYuJOeqgL82zeaJeFu0IXLhgn/q96aVbF15MLD1gGkXj/FFFGGWJfr5zrZJVWrm0NRCaxJftUHNpnK0MrMCqsHSxmkdypUzN6n020NkNGUE1UMUU4O48O4PsE= root@ops-01.ecs.io
|
||||||
|
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO6IjOcco9eAvA/T7LDsylCgjKJlLrVXY1zxO1/mX/MTzVZGuAhbikFJT2ZN2Up8iED+pJwpcps3LlA1wOjQC3Q= root@ops-04.ecs.io" >> /root/.ssh/authorized_keys
|
||||||
|
|
||||||
|
# host_name="dev-worker-0"${count}
|
||||||
|
# ((count++))
|
||||||
|
# echo "${server} $host_name" >> /root/wdd/1.txt
|
||||||
|
# echo ""
|
||||||
|
# ssh root@"${server}" "hostnamectl set-hostname $host_name"
|
||||||
|
# ssh root@"${server}" "hostname"
|
||||||
|
# echo ""
|
||||||
|
|
||||||
|
# ssh root@"${server}" "echo yes"
|
||||||
|
|
||||||
|
|
||||||
|
scp /usr/local/bin/octopus-agent root@${server}:/usr/local/bin/octopus-agent
|
||||||
|
ssh root@${server} "mkdir /root/wdd && chmod +x /usr/local/bin/octopus-agent"
|
||||||
|
ssh root@${server} "printf 'ssh\n' | octopus-agent --mode=bastion"
|
||||||
|
|
||||||
|
|
||||||
|
scp /root/wdd/disk.sh root@${server}:/root/wdd/disk.sh
|
||||||
|
ssh root@${server} "bash /root/wdd/disk.sh"
|
||||||
|
|
||||||
|
nmcli connection modify "eth0" ipv4.dns "192.168.34.40,119.29.29.29"
|
||||||
|
nmcli connection up "eth0"
|
||||||
|
nmcli dev show | grep DNS
|
||||||
|
|
||||||
|
scp /etc/ssh/sshd_config root@"${server}":/etc/ssh/sshd_config
|
||||||
|
ssh root@"${server}" "systemctl restart sshd"
|
||||||
|
|
||||||
|
|
||||||
|
ssh root@"${server}" "nmcli connection modify \"eth0\" ipv4.dns \"192.168.34.40,119.29.29.29\"
|
||||||
|
nmcli connection up \"eth0\""
|
||||||
|
ssh root@"${server}" "nmcli dev show | grep DNS"
|
||||||
|
|
||||||
|
ssh root@"${server}" "yum install -y net-tools iputils bind-utils lsof curl wget vim mtr htop"
|
||||||
|
|
||||||
|
scp /root/wdd/docker-amd64-20.10.15.tgz root@${server}:/root/wdd/docker-amd64-20.10.15.tgz
|
||||||
|
scp /root/wdd/docker-compose-linux-x86_64-v2.18.0 root@${server}:/root/wdd/
|
||||||
|
|
||||||
|
ssh root@${server} "printf 'firewall\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'sysconfig\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'swap\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'selinux\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'docker\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'dockercompose\n' | octopus-agent --mode=bastion"
|
||||||
|
ssh root@${server} "printf 'harbor\n' | octopus-agent --mode=bastion"
|
||||||
|
|
||||||
|
|
||||||
|
scp /etc/docker/daemon.json root@"${server}":/etc/docker/daemon.json
|
||||||
|
ssh root@"${server}" "systemctl restart docker"
|
||||||
|
|
||||||
|
ssh root@"${server}" "docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn"
|
||||||
|
ssh root@"${server}" "yum install -y nfs-utils rpcbind"
|
||||||
|
ssh root@"${server}" "yum install -y chrony && systemctl start chronyd && systemctl enable chronyd"
|
||||||
|
ssh root@"${server}" "systemctl start nfs nfs-client nfs-common && systemctl enable nfs nfs-client nfs-common && systemctl status nfs nfs-client nfs-common -l | grep \"active (running)\""
|
||||||
|
|
||||||
|
|
||||||
|
mv ctop-0.7.7-linux-amd64 /usr/local/bin/ctop
|
||||||
|
chmod +x /usr/local/bin/ctop
|
||||||
18
26-开发高可用集群/all-host.txt
Normal file
18
26-开发高可用集群/all-host.txt
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
192.168.92.185 harbor.cdcyy.com.cn
|
||||||
|
|
||||||
|
192.168.35.105 dev-master-01
|
||||||
|
192.168.35.114 dev-master-02
|
||||||
|
192.168.35.115 dev-master-03
|
||||||
|
|
||||||
|
192.168.35.55 dev-worker-01
|
||||||
|
192.168.35.86 dev-worker-02
|
||||||
|
192.168.35.89 dev-worker-03
|
||||||
|
192.168.35.93 dev-worker-04
|
||||||
|
192.168.35.95 dev-worker-05
|
||||||
|
192.168.35.96 dev-worker-06
|
||||||
|
192.168.35.101 dev-worker-07
|
||||||
|
192.168.35.103 dev-worker-08
|
||||||
|
192.168.35.104 dev-worker-09
|
||||||
|
192.168.40.53 dev-worker-10
|
||||||
|
192.168.40.54 dev-worker-11
|
||||||
|
192.168.40.55 dev-worker-12
|
||||||
22
26-开发高可用集群/docker-daemon.json
Normal file
22
26-开发高可用集群/docker-daemon.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"registry-mirrors": [
|
||||||
|
"https://docker.registry.cyou",
|
||||||
|
"https://docker-cf.registry.cyou",
|
||||||
|
"https://dockercf.jsdelivr.fyi",
|
||||||
|
"https://docker.jsdelivr.fyi",
|
||||||
|
"https://dockertest.jsdelivr.fyi",
|
||||||
|
"https://mirror.aliyuncs.com",
|
||||||
|
"https://dockerproxy.com",
|
||||||
|
"https://mirror.baidubce.com",
|
||||||
|
"https://docker.m.daocloud.io",
|
||||||
|
"https://docker.nju.edu.cn",
|
||||||
|
"https://docker.mirrors.sjtug.sjtu.edu.cn",
|
||||||
|
"https://docker.mirrors.ustc.edu.cn",
|
||||||
|
"https://mirror.iscas.ac.cn",
|
||||||
|
"https://docker.rainbond.cc"
|
||||||
|
],
|
||||||
|
"insecure-registries": [
|
||||||
|
"harbor.wdd.io:8033",
|
||||||
|
"harbor.cdcyy.com.cn"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -31,47 +31,86 @@ nodes:
|
|||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.55
|
internal_address: 192.168.35.55
|
||||||
|
labels:
|
||||||
|
uavcloud.env: mid
|
||||||
- address: dev-worker-02
|
- address: dev-worker-02
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.86
|
internal_address: 192.168.35.86
|
||||||
|
labels:
|
||||||
|
uavcloud.env: mid
|
||||||
- address: dev-worker-03
|
- address: dev-worker-03
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.89
|
internal_address: 192.168.35.89
|
||||||
|
labels:
|
||||||
|
mysql.deploy: true
|
||||||
|
uavcloud.env: mid
|
||||||
- address: dev-worker-04
|
- address: dev-worker-04
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.93
|
internal_address: 192.168.35.93
|
||||||
|
labels:
|
||||||
|
uavcloud.env: dev
|
||||||
- address: dev-worker-05
|
- address: dev-worker-05
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.95
|
internal_address: 192.168.35.95
|
||||||
|
labels:
|
||||||
|
uavcloud.env: dev
|
||||||
- address: dev-worker-06
|
- address: dev-worker-06
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.96
|
internal_address: 192.168.35.96
|
||||||
|
labels:
|
||||||
|
uavcloud.env: devflight
|
||||||
- address: dev-worker-07
|
- address: dev-worker-07
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.101
|
internal_address: 192.168.35.101
|
||||||
|
labels:
|
||||||
|
uavcloud.env: devflight
|
||||||
- address: dev-worker-08
|
- address: dev-worker-08
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.103
|
internal_address: 192.168.35.103
|
||||||
|
labels:
|
||||||
|
uavcloud.env: devoperation
|
||||||
- address: dev-worker-09
|
- address: dev-worker-09
|
||||||
user: root
|
user: root
|
||||||
role:
|
role:
|
||||||
- worker
|
- worker
|
||||||
internal_address: 192.168.35.104
|
internal_address: 192.168.35.104
|
||||||
|
labels:
|
||||||
|
uavcloud.env: devoperation
|
||||||
|
- address: dev-worker-10
|
||||||
|
user: root
|
||||||
|
role:
|
||||||
|
- worker
|
||||||
|
internal_address: 192.168.40.53
|
||||||
|
labels:
|
||||||
|
uavcloud.env: dev
|
||||||
|
- address: dev-worker-11
|
||||||
|
user: root
|
||||||
|
role:
|
||||||
|
- worker
|
||||||
|
internal_address: 192.168.40.54
|
||||||
|
labels:
|
||||||
|
uavcloud.env: dev
|
||||||
|
- address: dev-worker-12
|
||||||
|
user: root
|
||||||
|
role:
|
||||||
|
- worker
|
||||||
|
internal_address: 192.168.40.55
|
||||||
|
labels:
|
||||||
|
uavcloud.env: devflight
|
||||||
|
|
||||||
authentication:
|
authentication:
|
||||||
strategy: x509
|
strategy: x509
|
||||||
@@ -81,11 +120,11 @@ authentication:
|
|||||||
- "192.168.35.115"
|
- "192.168.35.115"
|
||||||
- "192.168.35.178"
|
- "192.168.35.178"
|
||||||
|
|
||||||
#private_registries:
|
private_registries:
|
||||||
# - url: A1C2IP:8033 # 私有镜像库地址
|
- url: harbor.wdd.io:8033 # 私有镜像库地址
|
||||||
# user: admin
|
user: admin
|
||||||
# password: "V2ryStr@ngPss"
|
password: "V2ryStr@ngPss"
|
||||||
# is_default: true
|
is_default: true
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@@ -233,32 +272,3 @@ ingress:
|
|||||||
ingress-deploy: true
|
ingress-deploy: true
|
||||||
options:
|
options:
|
||||||
use-forwarded-headers: "true"
|
use-forwarded-headers: "true"
|
||||||
access-log-path: /var/log/nginx/access.log
|
|
||||||
client-body-timeout: '6000'
|
|
||||||
compute-full-forwarded-for: 'true'
|
|
||||||
enable-underscores-in-headers: 'true'
|
|
||||||
log-format-escape-json: 'true'
|
|
||||||
log-format-upstream: >-
|
|
||||||
{ "msec": "$msec", "connection": "$connection", "connection_requests":
|
|
||||||
"$connection_requests", "pid": "$pid", "request_id": "$request_id",
|
|
||||||
"request_length": "$request_length", "remote_addr": "$remote_addr",
|
|
||||||
"remote_user": "$remote_user", "remote_port": "$remote_port",
|
|
||||||
"http_x_forwarded_for": "$http_x_forwarded_for", "time_local":
|
|
||||||
"$time_local", "time_iso8601": "$time_iso8601", "request": "$request",
|
|
||||||
"request_uri": "$request_uri", "args": "$args", "status": "$status",
|
|
||||||
"body_bytes_sent": "$body_bytes_sent", "bytes_sent": "$bytes_sent",
|
|
||||||
"http_referer": "$http_referer", "http_user_agent": "$http_user_agent",
|
|
||||||
"http_host": "$http_host", "server_name": "$server_name", "request_time":
|
|
||||||
"$request_time", "upstream": "$upstream_addr", "upstream_connect_time":
|
|
||||||
"$upstream_connect_time", "upstream_header_time": "$upstream_header_time",
|
|
||||||
"upstream_response_time": "$upstream_response_time",
|
|
||||||
"upstream_response_length": "$upstream_response_length",
|
|
||||||
"upstream_cache_status": "$upstream_cache_status", "ssl_protocol":
|
|
||||||
"$ssl_protocol", "ssl_cipher": "$ssl_cipher", "scheme": "$scheme",
|
|
||||||
"request_method": "$request_method", "server_protocol": "$server_protocol",
|
|
||||||
"pipe": "$pipe", "gzip_ratio": "$gzip_ratio", "http_cf_ray": "$http_cf_ray",
|
|
||||||
"geoip_country_code": "$geoip_country_code" }
|
|
||||||
proxy-body-size: 5120m
|
|
||||||
proxy-read-timeout: '6000'
|
|
||||||
proxy-send-timeout: '6000'
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,16 @@ worker_server_list=(192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.
|
|||||||
all_server_list=(192.168.35.105 192.168.35.114 192.168.35.115 192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.168.35.95 192.168.35.96 192.168.35.101 192.168.35.103 192.168.35.104)
|
all_server_list=(192.168.35.105 192.168.35.114 192.168.35.115 192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.168.35.95 192.168.35.96 192.168.35.101 192.168.35.103 192.168.35.104)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all_server_list=(dev-worker-01 dev-worker-02 dev-worker-03 dev-worker-05 dev-worker-06 dev-worker-07 dev-worker-08 dev-worker-09)
|
all_server_list=(dev-worker-01 dev-worker-02 dev-worker-03 dev-worker-05 dev-worker-06 dev-worker-07 dev-worker-08 dev-worker-09)
|
||||||
|
|
||||||
|
all_server_list=(192.168.35.105 192.168.35.114 192.168.35.115 192.168.35.55 192.168.35.86 192.168.35.89 192.168.35.93 192.168.35.95 192.168.35.96 192.168.35.101 192.168.35.103 192.168.35.104)
|
||||||
for server in "${all_server_list[@]}";do
|
for server in "${all_server_list[@]}";do
|
||||||
echo "server is ${server}"
|
echo "server is ${server}"
|
||||||
ssh root@"${server}" "systemctl restart docker"
|
ssh root@"${server}" "echo root:V2ryStr@ngPss | sudo chpasswd"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# 关闭虚拟缓存
|
||||||
|
swapoff -a
|
||||||
|
cp -f /etc/fstab /etc/fstab_bak
|
||||||
|
cat /etc/fstab_bak | grep -v swap >/etc/fstab
|
||||||
|
|
||||||
systemctl stop docker
|
umount /dev/mapper/openeuler-swap
|
||||||
|
lvremove /dev/openeuler/swap
|
||||||
|
|
||||||
rm -rf /var/lib/docker
|
|
||||||
rm -rf /var/lib/kubelet
|
|
||||||
|
|
||||||
|
freepesize=$(vgdisplay openeuler | grep 'Free PE' | awk '{print $5}')
|
||||||
|
lvextend -l+${freepesize} /dev/openeuler/root
|
||||||
|
resize2fs /dev/openeuler/root
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
@@ -28,12 +32,12 @@ t
|
|||||||
|
|
||||||
8e
|
8e
|
||||||
w
|
w
|
||||||
" | fdisk /dev/vdb
|
" | fdisk /dev/sdb
|
||||||
partprobe
|
partprobe
|
||||||
|
|
||||||
# 如果已经存在卷组,直接进行添加
|
# 如果已经存在卷组,直接进行添加
|
||||||
export VG_NAME=datavg
|
export VG_NAME=datavg
|
||||||
vgcreate ${VG_NAME} /dev/vdb1
|
vgcreate ${VG_NAME} /dev/sdb1
|
||||||
export selfpesize=$(vgdisplay ${VG_NAME} | grep 'Total PE' | awk '{print $3}')
|
export selfpesize=$(vgdisplay ${VG_NAME} | grep 'Total PE' | awk '{print $3}')
|
||||||
# 大小根据实际情况调整
|
# 大小根据实际情况调整
|
||||||
lvcreate -l ${selfpesize} -n lvdata ${VG_NAME}
|
lvcreate -l ${selfpesize} -n lvdata ${VG_NAME}
|
||||||
@@ -44,11 +48,10 @@ mkdir -p /var/lib/docker
|
|||||||
export selffstab="/dev/mapper/${VG_NAME}-lvdata /var/lib/docker xfs defaults 0 0"
|
export selffstab="/dev/mapper/${VG_NAME}-lvdata /var/lib/docker xfs defaults 0 0"
|
||||||
echo "${selffstab}" >> /etc/fstab
|
echo "${selffstab}" >> /etc/fstab
|
||||||
mount -a
|
mount -a
|
||||||
|
echo ""
|
||||||
df -TH | grep /var/lib/docker
|
|
||||||
|
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
systemctl restart docker
|
df -Th
|
||||||
|
|
||||||
docker info
|
echo ""
|
||||||
|
lsblk
|
||||||
8020
34-202408-重庆二级平台/all-deployment-cqejpt.yaml
Normal file
8020
34-202408-重庆二级平台/all-deployment-cqejpt.yaml
Normal file
File diff suppressed because it is too large
Load Diff
68
42-202411-山东二级平台/cmii-update.sh
Normal file
68
42-202411-山东二级平台/cmii-update.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
harbor_host=134.80.124.7:8033
|
||||||
|
namespace=sdejpt
|
||||||
|
app_name=""
|
||||||
|
new_tag=""
|
||||||
|
|
||||||
|
upload_image_to_harbor(){
|
||||||
|
if [ "$app_name" == "" ]; then
|
||||||
|
echo "app name null exit!"
|
||||||
|
exit 233
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! docker load < "$1"; then
|
||||||
|
echo "docker load error !"
|
||||||
|
fi
|
||||||
|
docker tag "harbor.cdcyy.com.cn/cmii/$app_name:$new_tag" "$harbor_host/cmii/$app_name:$new_tag"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "upload_image_to_harbor - start to push to => $harbor_host/cmii/$app_name:$new_tag"
|
||||||
|
docker login -u admin -p V2ryStr@ngPss $harbor_host
|
||||||
|
docker push "$harbor_host/cmii/$app_name:$new_tag"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_args(){
|
||||||
|
if [ "$1" == "" ]; then
|
||||||
|
echo "no zip file in error!"
|
||||||
|
exit 233
|
||||||
|
fi
|
||||||
|
local image_name="$1"
|
||||||
|
|
||||||
|
# cmii-uav-surveillance=5.2.0-27031-cqga=2024-03-04=573.tar.gz
|
||||||
|
app_name=$(echo $image_name | cut -d "=" -f1)
|
||||||
|
new_tag=$(echo $image_name | cut -d "=" -f2)
|
||||||
|
}
|
||||||
|
|
||||||
|
update_image_tag(){
|
||||||
|
if [ "$new_tag" == "" ]; then
|
||||||
|
echo "new tag error!"
|
||||||
|
exit 233
|
||||||
|
fi
|
||||||
|
|
||||||
|
local image_prefix=$(kubectl -n ${namespace} get deployment "${app_name}" -o=jsonpath='{.spec.template.spec.containers[*].image}' | cut -d":" -f1)
|
||||||
|
|
||||||
|
echo "image grep is => ${image_prefix}"
|
||||||
|
|
||||||
|
echo "start to update ${namespace} ${app_name} to ${new_tag} !"
|
||||||
|
echo ""
|
||||||
|
kubectl -n ${namespace} patch deployment "${app_name}" -p "{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"${app_name}\",\"image\": \"${harbor_host}/cmii/$app_name:${new_tag}\"}]}}}}"
|
||||||
|
echo ""
|
||||||
|
echo "start to wait for 3 seconds!"
|
||||||
|
sleep 3
|
||||||
|
local image_new=$(kubectl -n ${namespace} get deployment "${app_name}" -o=jsonpath='{.spec.template.spec.containers[*].image}')
|
||||||
|
echo ""
|
||||||
|
echo "new image are => $image_new"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
main(){
|
||||||
|
parse_args "$1"
|
||||||
|
upload_image_to_harbor "$1"
|
||||||
|
update_image_tag
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
namespace=bjyd
|
namespace=uavcloud-demo
|
||||||
|
|
||||||
install_yq() {
|
install_yq() {
|
||||||
wget https://oss.demo.uavcmlc.com/cmlc-installation/downloadfile/amd/yq_linux_amd64 -O /usr/local/bin/yq
|
wget https://oss.demo.uavcmlc.com/cmlc-installation/downloadfile/amd/yq_linux_amd64 -O /usr/local/bin/yq
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ wget https://oss.demo.uavcmlc.com/cmlc-installation/downloadfile/amd/jq-linux-am
|
|||||||
chmod +x /usr/local/bin/jq
|
chmod +x /usr/local/bin/jq
|
||||||
|
|
||||||
|
|
||||||
export name_space=xmyd
|
export name_space=uavcloud-demo
|
||||||
|
|
||||||
kubectl delete pods -n $name_space --field-selector status.phase!=Running --force
|
kubectl delete pods -n $name_space --field-selector status.phase!=Running --force
|
||||||
|
|
||||||
|
|||||||
29
998-常用脚本/故障恢复脚本/重启cmii的前端后端Pod.sh
Normal file
29
998-常用脚本/故障恢复脚本/重启cmii的前端后端Pod.sh
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
name_space=jlyd
|
||||||
|
|
||||||
|
delete_all_fronted_cmii_pod(){
|
||||||
|
|
||||||
|
all_pod_list=($(kubectl get pods -n "$name_space" -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
|
||||||
|
for pod in "${all_pod_list[@]}"; do
|
||||||
|
if echo "$pod" | grep -q "platform"; then
|
||||||
|
echo ""
|
||||||
|
echo "current pod is $pod"
|
||||||
|
kubectl -n "$name_space" delete pod "$pod" --force
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_all_backend_cmii_pod(){
|
||||||
|
all_pod_list=($(kubectl get pods -n "$name_space" -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
|
||||||
|
for pod in "${all_pod_list[@]}"; do
|
||||||
|
if echo "$pod" | grep -v "platform" | grep -q "cmii"; then
|
||||||
|
echo ""
|
||||||
|
echo "current pod is $pod"
|
||||||
|
kubectl -n "$name_space" delete pod "$pod" --force
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_all_fronted_cmii_pod
|
||||||
28
998-常用脚本/研发环境相关/节点相关信息获取.sh
Normal file
28
998-常用脚本/研发环境相关/节点相关信息获取.sh
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
#
|
||||||
|
kubectl get nodes -l uavcloud.env=demo
|
||||||
|
|
||||||
|
# 获取节点的lables
|
||||||
|
all_demo_nodelist=$(kubectl get nodes -l uavcloud.env=demo | grep -v NAME | awk '{print$1}')
|
||||||
|
for node in ${all_demo_nodelist[@]};do
|
||||||
|
echo "node is $node"
|
||||||
|
kubectl get nodes ${node} --show-labels
|
||||||
|
done
|
||||||
|
|
||||||
|
# 获取节点的资源信息
|
||||||
|
# 获取节点列表并存储到数组中
|
||||||
|
kubectl get nodes -l uavcloud.env=demo -o custom-columns=:metadata.name | while read -r node; do
|
||||||
|
echo "node is $node"
|
||||||
|
kubectl get node ${node} -o json | jq '.status.capacity | {cpu: .cpu, memory: .memory}'
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
kubectl get node demo-02.ecs.io -o json
|
||||||
|
|
||||||
|
all_demo_nodelist=(demo-02.ecs.io demo-03.ecs.io demo-05.ecs.io demo-07.ecs.io demo-08.ecs.io demo-09.ecs.io demo-231.ecs.io demo-232.ecs.io demo-233.ecs.io demo-234.ecs.io prod-02.ecs.io prod-04.ecs.io prod-05.ecs.io prod-07.ecs.io prod-09.ecs.io)
|
||||||
|
|
||||||
|
for node in ${all_demo_nodelist[@]};do
|
||||||
|
echo "node is $node"
|
||||||
|
scp /root/wdd/ctop root@${node}:/usr/local/bin/ctop
|
||||||
|
done
|
||||||
|
chmod +x /root/wdd/ctop
|
||||||
22
998-常用脚本/研发环境相关/获取DEMO环境的JVM参数信息.sh
Normal file
22
998-常用脚本/研发环境相关/获取DEMO环境的JVM参数信息.sh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 指定命名空间
|
||||||
|
export NAMESPACE="uavcloud-demo"
|
||||||
|
|
||||||
|
# 输出表头
|
||||||
|
printf "%-30s %-50s\n" "Deployment" "CUST_JAVA_OPTS"
|
||||||
|
|
||||||
|
# 获取所有 Deployment 的名称
|
||||||
|
deployments=$(kubectl get deployments -n $NAMESPACE -o jsonpath='{.items[*].metadata.name}')
|
||||||
|
|
||||||
|
# 遍历每个 Deployment
|
||||||
|
for deployment in $deployments; do
|
||||||
|
# 获取 CUST_JAVA_OPTS 的值
|
||||||
|
cust_java_opts=$(kubectl get deployment $deployment -n $NAMESPACE -o jsonpath='{.spec.template.spec.containers[*].env[?(@.name=="CUST_JAVA_OPTS")].value}')
|
||||||
|
|
||||||
|
# 输出结果
|
||||||
|
printf "%-30s %-50s\n" "$deployment" "$cust_java_opts"
|
||||||
|
done
|
||||||
|
|
||||||
@@ -50,10 +50,10 @@ t
|
|||||||
|
|
||||||
8e
|
8e
|
||||||
w
|
w
|
||||||
" | fdisk /dev/sdb
|
" | fdisk /dev/sdc
|
||||||
partprobe
|
partprobe
|
||||||
# 如果已经存在卷组,直接进行添加
|
# 如果已经存在卷组,直接进行添加
|
||||||
# vgextend /dev/mapper/centos /dev/vda3
|
# vgextend rootvg /dev/sdc1
|
||||||
vgcreate ${VG_NAME} /dev/sdb1
|
vgcreate ${VG_NAME} /dev/sdb1
|
||||||
export selfpesize=$(vgdisplay ${VG_NAME} | grep 'Total PE' | awk '{print $3}')
|
export selfpesize=$(vgdisplay ${VG_NAME} | grep 'Total PE' | awk '{print $3}')
|
||||||
# 大小根据实际情况调整
|
# 大小根据实际情况调整
|
||||||
48
998-常用脚本/磁盘脚本/Core集群磁盘整理.sh
Normal file
48
998-常用脚本/磁盘脚本/Core集群磁盘整理.sh
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
rm -rf /tmp
|
||||||
|
rm -rf /swap
|
||||||
|
rm -rf /home
|
||||||
|
rm -rf /data
|
||||||
|
|
||||||
|
|
||||||
|
umount /dev/mapper/iovg-lvhome
|
||||||
|
umount /dev/mapper/iovg-lvdata
|
||||||
|
|
||||||
|
umount /dev/mapper/rootvg-lvtmp
|
||||||
|
umount /dev/mapper/rootvg-lvswap
|
||||||
|
|
||||||
|
lvdisplay
|
||||||
|
|
||||||
|
lvremove /dev/iovg/lvhome
|
||||||
|
lvremove /dev/iovg/lvdata
|
||||||
|
|
||||||
|
lvremove /dev/rootvg/lvswap
|
||||||
|
lvremove /dev/rootvg/lvtmp
|
||||||
|
|
||||||
|
|
||||||
|
lvremove /dev/openeuler/swap
|
||||||
|
lvremove /dev/openeuler/tmp
|
||||||
|
|
||||||
|
|
||||||
|
freepesize=$(vgdisplay iovg | grep 'Free PE' | awk '{print $5}')
|
||||||
|
lvextend -l+${freepesize} /dev/iovg/lvdock
|
||||||
|
xfs_growfs /dev/iovg/lvdock
|
||||||
|
|
||||||
|
|
||||||
|
freepesize=$(vgdisplay rootvg | grep 'Free PE' | awk '{print $5}')
|
||||||
|
lvextend -l+${freepesize} /dev/rootvg/lvvar
|
||||||
|
xfs_growfs /dev/rootvg/lvvar
|
||||||
|
|
||||||
|
curl -k https://10.96.0.1
|
||||||
|
|
||||||
|
freepesize=$(vgdisplay centos | grep 'Free PE' | awk '{print $5}')
|
||||||
|
lvextend -l+${freepesize} /dev/centos/root
|
||||||
|
xfs_growfs /dev/centos/root
|
||||||
|
|
||||||
|
freepesize=$(vgdisplay openeuler | grep 'Free PE' | awk '{print $5}')
|
||||||
|
lvextend -l+${freepesize} /dev/openeuler/root
|
||||||
|
resize2fs /dev/openeuler/root
|
||||||
|
|
||||||
|
docker system prune -y
|
||||||
|
|
||||||
|
kubectl drain demo-06.ecs.io --ignore-daemonsets --delete-local-data
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
export harbor_host=134.80.124.7:8033
|
export harbor_host=192.168.35.71:8033
|
||||||
|
|
||||||
curl -X POST -u "admin:V2ryStr@ngPss" -H "authorization: Basic YWRtaW46VjJyeVN0ckBuZ1Bzcw==" -H "Content-Type: application/json" -d '{"project_name":"cmii","registry_id":null,"metadata":{"public":"true"},"storage_limit":-1}' http://$harbor_host/api/v2.0/projects
|
curl -X POST -u "admin:V2ryStr@ngPss" -H "authorization: Basic YWRtaW46VjJyeVN0ckBuZ1Bzcw==" -H "Content-Type: application/json" -d '{"project_name":"cmii","registry_id":null,"metadata":{"public":"true"},"storage_limit":-1}' http://$harbor_host/api/v2.0/projects
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ gzip_image_list_txt="all-gzip-image-list.txt" # 一般不需要修改
|
|||||||
oss_prefix_url="https://oss.demo.uavcmlc.com/cmlc-installation"
|
oss_prefix_url="https://oss.demo.uavcmlc.com/cmlc-installation"
|
||||||
local_gzip_path="/root/octopus_image"
|
local_gzip_path="/root/octopus_image"
|
||||||
|
|
||||||
DockerRegisterDomain="172.18.10.251:8033" # 需要根据实际修改
|
DockerRegisterDomain="harbor.wdd.io:8033" # 需要根据实际修改
|
||||||
HarborAdminPass=V2ryStr@ngPss # 需要跟第一脚本中的密码保持一致
|
HarborAdminPass=V2ryStr@ngPss # 需要跟第一脚本中的密码保持一致
|
||||||
|
|
||||||
print_green() {
|
print_green() {
|
||||||
@@ -163,6 +163,6 @@ test(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
# test
|
# test
|
||||||
Download_Load_Tag_Upload "cmii"
|
Download_Load_Tag_Upload "rke"
|
||||||
|
|
||||||
#Load_Tag_Upload "rke"
|
#Load_Tag_Upload "rke"
|
||||||
Reference in New Issue
Block a user