Git Product home page Git Product logo

bk-install's Issues

feat: minimal bk support

bk all in one

1、环境准备

  • 准备一台 CentOS 7.6 及以上操作系统的机器 (物理机和虚拟机均可,建议配置 16C 32G 200GSSD )。
  • 按照安装 环境准备 章节中,主机和系统环境的要求做好相应设置。
  • 配置好 YUM 源,包含 EPEL 仓库(可以通过 yum info pssh 测试下)。
  • 下载
curl -sSLO https://bkopen-1252002024.file.myqcloud.com/ce/a3aa5b2/bkce-src-6.2.1-minimal.tgz
  • 解压到 /data 下
tar xf bkce_basic_suite-6.1.1.tgz -C /data
  • 获取机器的 MAC 地址后,下载 证书文件,解压到 /data/src/cert 目录下
install -d -m 755 /data/src/cert
tar xf ssl_certificates.tar.gz -C /data/src/cert
chmod 644 /data/src/cert/*
  • 解压各个产品软件包
cd /data/src/; for f in *gz;do tar xf $f; done
  • 拷贝 rpm 软件包
cp -a /data/src/yum /opt
  • install.config 这个文件安装脚本会自动生成,无需自行配置。
  • 开启 SWAP(大约取总内存的三分之二)
cd /data/install
./bin/create_swap.sh -p /swapfile
  • patch 脚本
cd /data/install
./minimal_tweak_config.sh
sed -i '/start es7/i\\t./pcmd.sh\ -m\ es7\ \"sed -i '\'s/^-Xms.*g/-Xms1g/g\'\ /etc/elasticsearch/jvm.options\" ./bk_install
sed -i '/start es7/i\\t./pcmd.sh\ -m\ es7\ \"sed -i '\'s/^-Xmx.*g/-Xmx1g/g\'\ /etc/elasticsearch/jvm.options\" ./bk_install
sed -i '/start kafka/i\\t./pcmd.sh\ -m\ kafka\ \"echo "KAFKA_HEAP_OPTS=-Xmx2g -Xms2g" >>'/etc/sysconfig/kafka\" ./bk_install

2、执行安装

  • 部署基础套餐
cd /data/install
./install_minibk
  • 执行完部署后,执行降低内存消耗脚本。以确保环境的稳定
# 执行降低内存消耗脚本
for m in bk_sops bk_itsm bk_iam bk_user_manage bk_nodeman mongodb usermgr; do
    ./bin/single_host_low_memory_config.sh tweak $m
done
  • 部署监控日志套餐
# 更新 install.config
cd /data/install
source /etc/blueking/env/local.env
cat >> install.config <<EOF

${LAN_IP} kafka(config),influxdb(bkmonitorv3)
${LAN_IP} monitorv3(monitor),monitorv3(unify-query),monitorv3(transfer),monitorv3(influxdb-proxy),monitorv3(ingester),monitorv3(grafana)
${LAN_IP} log(api),log(grafana)
EOF

# 执行部署
./bk_install bkmonitorv3 && ./bk_install bklog

单机部署常见报错

安装过程中遇到失败的情况,请先定位排查解决后,再重新运行失败时的安装指令。

3、加载蓝鲸相关维护命令

source ~/.bashrc

4、初始化蓝鲸业务拓扑

./bkcli initdata topo

初始业务拓扑常见报错

5、访问蓝鲸

5.1、配置 host

  1. 获取 hosts 信息、管理员账号密码
cd /data/install && source utils.fc

cat <<EOF

## 账号: ${BK_PAAS_ADMIN_USERNAME}
## 密码: ${BK_PAAS_ADMIN_PASSWORD}
## 以下为 hosts:
$(ssh $BK_NGINX_IP 'curl -sL ip.not.icu') ${BK_PAAS_PUBLIC_ADDR%:*} ${BK_CMDB_PUBLIC_ADDR%:*} ${BK_JOB_PUBLIC_ADDR%:*} ${BK_LESSCODE_PUBLIC_ADDR%:*} ${BK_API_CHECK_PUBLICE_ADDR%:*} ${BK_APIGW_PUBLIC_ADDR%:*}

EOF

6、日常维护

日常维护和运维,单机部署和多机是一致的,请参考 维护文档

7、使用蓝鲸

可参考蓝鲸 快速入门 以及相关 产品白皮书

[Feature] BK-Install支持PaaS与SaaS全容器化部署

将bk-install以及对应的PaaS和SaaS调整为全容器化部署(非K8S):

解决的问题

  • 操作系统无关:当前安装脚本与CentOS7强绑定,CentOS7即将结束其生命周期,调整后,可以使得蓝鲸的部署与操作系统无关
  • 降低复杂性:K8S的部署对于社区用户来说,维护成本、理解成本较高,而Docker化部署,在维护过程中,不需要排查K8S的CNI、CSI等组件,降低维护和问题排查的难度
  • 提升部署速度:Docker化后,部署速度会得到明显的提升,不再需要每次部署安装PaaS的时候,都重新编译一次gevent这类库
  • 组件升级便捷:调整为全容器化后,基础组件的升级将会变得便捷,例如Kafka从0.10升级到3.X,只需要更新镜像即可
  • ARM友好:全容器化,蓝鲸PaaS可以更好的适配ARM和X86,仅需要调整镜像版本即可

容器化步骤

  • 将bk-install 打包为Docker镜像,这样可以最大程度复用现有的脚本,降低改造难度
  • 按照顺序,将common、paas、cmdb、job进行容器化
  • 最终完成6.1.2版本的蓝鲸全容器化

[Feature] 降低蓝鲸平台部署,PaaS与SaaS的资源消耗

背景

  • 社区版 6.1.2的默认部署对资源消耗过大,单机部署基础套餐,空跑需要24G,部署完监控套餐,资源消耗会去到50+G,整体资源消耗过大,我们可以通过调整基础资源的配置,如ElasticSearch、MongoDB、Kafka、Job等组件的配置,让蓝鲸平台的资源消耗降低

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.