78 lines
2.4 KiB
Bash
Executable File
78 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#############################################################################################
|
|
# 用途: 部署 Helm 工具脚本
|
|
# 作者: 丁辉
|
|
# 更新时间: 2024-03-26
|
|
#############################################################################################
|
|
|
|
function Init_env() {
|
|
# 定义颜色
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
GREEN='\033[32m'
|
|
YELLOW='\033[33m'
|
|
|
|
# 定义时间格式
|
|
TIME="+%Y-%m-%d %H:%M:%S"
|
|
|
|
# 定义函数 send_info
|
|
function SEND_INFO() {
|
|
info=$1
|
|
echo -e "${GREEN}$(date "$TIME") INFO: $info${NC}"
|
|
}
|
|
|
|
# 定义函数 send_warn
|
|
function SEND_WARN() {
|
|
warn=$1
|
|
echo -e "${YELLOW}$(date "$TIME") WARN: $warn${NC}"
|
|
}
|
|
|
|
# 定义函数 send_error
|
|
function SEND_ERROR() {
|
|
error=$1
|
|
echo -e "${RED}$(date "$TIME") ERROR: $error${NC}"
|
|
}
|
|
|
|
if [ $(arch) = "x86_64" ] || [ $(arch) = "amd64" ]; then
|
|
ARCH_TYPE=amd64
|
|
elif [ $(arch) = "aarch64" ] || [ $(arch) = "arm64" ]; then
|
|
ARCH_TYPE=arm64
|
|
elif [ $(arch) = "i386" ]; then
|
|
ARCH_TYPE=amd64
|
|
fi
|
|
}
|
|
|
|
function Install_helm() {
|
|
SEND_INFO "正在检查环境"
|
|
if ! which helm > /dev/null 2>&1; then
|
|
SEND_INFO "Helm 开始安装"
|
|
# 获取版本
|
|
HELM_VERSION=`(curl https://mirrors.huaweicloud.com/helm/ | awk -F '"' '{print $2}' | grep -E '[0-9]+' | sort -rV | awk 'NR==1 {print}' | awk -F '/' '{print $1}')`
|
|
HELM_PACKAGE_VERSION=`(curl https://mirrors.huaweicloud.com/helm/$HELM_VERSION/ | awk -F '"' '{print $2}' | grep -E '[0-9]+' | grep $ARCH_TYPE | grep linux | awk 'NR==1 {print}')`
|
|
# 下载 Helm 安装包
|
|
curl -O https://mirrors.huaweicloud.com/helm/$HELM_VERSION/$HELM_PACKAGE_VERSION
|
|
# 开始安装
|
|
tar -zxvf helm-$HELM_VERSION-linux-$ARCH_TYPE.tar.gz > /dev/null 2>&1
|
|
install -o root -g root -m 0755 linux-$ARCH_TYPE/helm /usr/local/bin/
|
|
# 清理安装包
|
|
rm -rf helm-$HELM_VERSION-linux-$ARCH_TYPE.tar.gz linux-$ARCH_TYPE
|
|
if ! which helm > /dev/null 2>&1; then
|
|
SEND_ERROR "Helm 安装失败"
|
|
exit 1
|
|
else
|
|
VERSION=$(helm version | awk -F '"' '{print $2}')
|
|
SEND_INFO "Helm 安装成功, 版本: $VERSION"
|
|
fi
|
|
else
|
|
VERSION=$(helm version | awk -F '"' '{print $2}')
|
|
SEND_INFO "Helm 已存在, 版本: $VERSION"
|
|
fi
|
|
}
|
|
|
|
function All() {
|
|
Init_env
|
|
Install_helm
|
|
}
|
|
|
|
All |