【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

开普勒云平台:如何安装依赖(二)

  • 2020-02-06
  • 本文字数:3322 字

    阅读完需:约 11 分钟

开普勒云平台:如何安装依赖(二)

五、安装 RabbitMQ 服务

为了方便给大家演示,rabbitmq 也使用的 docker 版本部署在 kubernetes 集群上,真实环境请使用独立的 rabbitmq 服务器


如果您还没有初始化持久化存储的,请在这里持久化存储配置好存储类再安装 rabbitMQ 服务。

5.1 安装

$ kubectl apply -f install/kubernetes/rabbitmq/statefulset.yaml  $ kubectl apply -f install/kubernetes/rabbitmq/service.yaml  
复制代码


有状态服务: statefulset.yaml 入口: ingress.yaml


kpass 在 rabbitmq 里需要创建:


  • Vhost: kplcloud

  • Exchanges: kplcloud-exchange

  • User: kplcloud

  • RoutingKey: kplcloud


1572488939288026667.jpeg

六、安装 Mysql 服务

6.1 mysql

为了方便给大家演示,mysql 也使用的 docker 版本部署在 kubernetes 集群上,真实环境请使用独立的 mysql 服务器


如果您还没有初始化持久化存储的,请在这里持久化存储配置好存储类再安装 mysql 服务。

6.2 安装

$ kubectl apply -f install/kubernetes/mysql/statefulset.yaml  $ kubectl apply -f install/kubernetes/mysql/service.yaml  
复制代码


  • MYSQL_ROOT_PASSWORD: mysql 用户名

  • MYSQL_ROOT_PASSWORD: mysql 密码


statefulset.yaml


本项目需要创建数据库: kplcloud

七、安装 ELK

Logstash、ES 对机器要的求比较高,建议使用独立的 ELK 集群负责日志的采集分析


如果您非要使用 Docker 版的 elk 的并且部署在 Kubernetes 集群里,如果还没有初始货持久化存储,先初始化持久化存储的,请在这里持久化存储配置好存储类再安装相关服务服务。


ELK 主要包含 Elasticsearch、Logstash、Kibana 几个服务,kibana 和 logstash 可以做在 Deployment,全 ES 需要持久化,因为日志数据是存在 ES 上的。


$ kubectl apply -f install/kubernetes/elk/elasticsearch.yaml  $ kubectl apply -f install/kubernetes/elk/logstash.yaml  $ kubectl apply -f install/kubernetes/elk/kibana.yaml  $ kubectl apply -f install/kubernetes/elk/ingress.yaml  
复制代码

八、安装 Harbor

镜像仓库就别在跑 kubernetes 集群上了,似乎也跑不了,找一台容量大的有安装 Docker 的服务器进行搭建。


安装启动方式,请查看官方说明:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

8.1 安装

下载 Harbor 安装文件,我这下的是离线处理,如果下载不了请加代理


$ https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.1.tgz  
复制代码

8.2 解压

$ tar -zxvf harbor-offline-installer-v1.8.1.tgz  
复制代码

8.3 配置 harbor 文件 harbor.conf

\## Configuration file of Harbor  
\# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost hostname = hub.kpaas.nsini.com
\# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on ui_url_protocol = http
\# mysql数据库root用户默认密码root123,实际使用时修改下 db_password = root123
max_job_workers = 3 customize_crt = on ssl_cert = /data/cert/server.crt ssl_cert_key = /data/cert/server.key secretkey_path = /data admiral_url = NA
\# 邮件设置,发送重置密码邮件时使用 email_identity = email_server = smtp.mydomain.com email_server_port = 25 email_username = sample_admin@mydomain.com email_password = abc email_from = admin <sample_admin@mydomain.com> email_ssl = false
\# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345 harbor_admin_password = Harbor12345
\# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证 auth_mode = db_auth
\# LDAP认证时配置项 \#ldap_url = ldaps://ldap.mydomain.com \#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com \#ldap_search_pwd = password \#ldap_basedn = ou=people,dc=mydomain,dc=com \#ldap_filter = (objectClass=person) \#ldap_uid = uid \#ldap_scope = 3 \#ldap_timeout = 5
\# 是否开启自注册 self_registration = on
\# Token有效时间,默认30分钟 token_expiration = 30
\# 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员) project_creation_restriction = everyone
verify_remote_cert = on </sample_admin@mydomain.com>
复制代码

8.4 启动 Harbor,直接执行./install.sh 或 docker-composer 都可以

$ ./install.sh  $ docker-compose start  
复制代码

九、Prometheus 安装

如果还没有初始货持久化存储,先初始化持久化存储的,请在这里持久化存储配置好存储类再安装相关服务服务。


Prometheus 需要将数据存在本地,所以需要挂载持久化存储。


$ kubectl apply -f install/kubernetes/prometheus/deployment.yaml  $ kubectl apply -f install/kubernetes/prometheus/ingress.yaml  $ kubectl apply -f install/kubernetes/prometheus/configmap.yaml  $ kubectl apply -f install/kubernetes/prometheus/serviceaccount.yaml  $ kubectl apply -f install/kubernetes/prometheus/service.yaml  $ kubectl apply -f install/kubernetes/prometheus/persistentvolumeclaim.yaml  
复制代码

9.1 相关配置

configmap.yaml 文件有五个文件:


  • etcd3.rules.yml

  • kube-state-metrics_rules.yml

  • kubelet_rule.yml

  • kubernetes_rule.yml

  • prometheus.yml


在 prometheus 里引用了上面 4 个文件。如果您有新的规则可以在这里增加。


在 prometheus.yml 文件里有配置 alerting 目前默认发身 alertmanager:9093 ,若您有自己的报警管理平台,修改该地址就行,若还想使用 alertmanager 的话请看安装 AlertManager。

十、安装配置 alertmanager

Alertmanager 主要是接收来自 prometheus 的 alert 数据

10.1 安装

可以独立安装不使用 Docker,以下案例是部署在 kubernetes 集群上。


$ kubectl apply -f install/kubernetes/alertmanager/deployment.yaml  $ kubectl apply -f install/kubernetes/alertmanager/ingress.yaml  $ kubectl apply -f install/kubernetes/alertmanager/configmap.yaml  $ kubectl apply -f install/kubernetes/alertmanager/service.yaml  
复制代码

10.2 相关配置

这里采用 webhook 的方式将报警信息发送到 kplcloud 平台,kplcloud 接收数据处理并入 rabbitmq。


apiVersion: v1  data:    config.yml: |-      global:  
route: group_by: ['alertname', 'cluster', 'service'] group_wait: 30s group_interval: 5m repeat_interval: 10m receiver: webhook
receivers: - name: 'webhook' webhook_configs: - url: 'http://kplcloud:8080/public/prometheus/alerts' kind: ConfigMap metadata: name: alertmanager
复制代码


kplcloud 处理完的数据最终根据相应的规则推送给相应的用户及平台等。


1572489152653045750.jpeg

十一、安装 kpaas

$ git clone github.com/kplcloud/kplcloud.git  
复制代码

11.1 Docker

$ docker pull kplcloud/kplcloud:latest  
复制代码

11.2 kubernetes

基础服务安装: install.md


若您的其他服务都已经准备好了,可以直接执行以下命令在 kubernetes 上进行部署开普勒云平台。


$ kubectl apply -f install/kubernetes/kpaas/configmap.yaml  $ kubectl apply -f install/kubernetes/kpaas/deployment.yaml  $ kubectl apply -f install/kubernetes/kpaas/service.yaml  $ kubectl apply -f install/kubernetes/kpaas/ingress.yaml  
复制代码


如果您有私有仓库,记得在 master 节点上执行一下:


$ kubectl create secret generic regcred --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson -n default  
复制代码


在每个 namespace 下都创建一下,这样 k8s 就有权限拉取私有仓库的镜像了


Deployment 需要把 imagePullSecrets 加上:


imagePullSecrets:  - name: regcred  
复制代码

开源地址:


本文转载自宜信技术学院。


原文链接:http://college.creditease.cn/detail/316


2020-02-06 21:33509

评论

发布
暂无评论
发现更多内容

网络游戏比赛直播现成源码解决方案,打造全方位电竞平台

软件开发-梦幻运营部

软件测试/人工智能|人工智能与智能化测试Workshop

霍格沃兹测试开发学社

2024年API安全趋势预测

互联网工科生

API API 安全

五个堪称瑰宝级的 Python 库

这我可不懂

Python 编程语言

分布式基础概念-分布式缓存[3]

派大星

分布式 Java 面试题

在线教育如何通过小程序打造业务新引擎

Geek_2305a8

掌握这些,轻松管理BusyBox:如何交叉编译和集成BusyBox

EquatorCoco

嵌入式 嵌入式应用 busybox

JS小技巧,如何去重对象数组?

高端章鱼哥

JavaScript js

诚邀报名|谭中意邀您共论“大模型应用开发之道”

开放原子开源基金会

Java 开源 程序员 开发者 算法

手把手实践分享:如何做到1天开发一个教育类App!

Geek_2305a8

IDC 中国数字化转型盛典:兴业银行「基于悦数图数据库」的「智能大数据云平台」获奖

悦数图数据库

大数据 云平台 图数据库 智能大数据云平台

高效微调大模型的新方法

百度开发者中心

nlp 大模型 #人工智能

人工智能发展脉络:从专家系统到机器学习的历史演进

测吧(北京)科技有限公司

测试

实例讲解Python 解析JSON实现主机管理

华为云开发者联盟

Python json 开发 华为云 华为云开发者联盟

如何使用京东商品详情 API 获取用户评价最多的商品详情?

技术冰糖葫芦

API 开发

基于DotNetty实现一个接口自动发布工具 - 通信实现

EquatorCoco

git Netty WPF

灵活易用的即时通讯组件设计思路和最佳实践

融云 RongCloud

ios 设计 即时通讯 API Global IM UIkit

万界星空科技智能工厂的主要建设模式

万界星空科技

数字化转型 智能工厂 智能工厂解决方案 #人工智能 万界星空科技mes

别让错误的SQL变更毁了你的数据!那该如何审核变更SQL?

NineData

sql 数据 开发 变更 NineData

Docker镜像构建:技术深度解析与实践

树上有只程序猿

Docker 镜像

Mac版VMware Fusion Pro激活中文包

胖墩儿不胖y

Mac软件 VM虚拟机 虚拟机软件

万界星空科技MES系统在设备管理中的多个应用场景

万界星空科技

数字化转型 mes 制造业生产管理系统 云mes 万界星空科技mes

两道题浅析PHP反序列化逃逸

不在线第一只蜗牛

php 面试 PHP开发

融云 CEO 董晗获评甲子光年「2023 中国数字经济创新人物」

融云 RongCloud

互联网 通信 数字经济 wicc 光年20

大模型训练的得力助手

百度开发者中心

大模型 #人工智能 LLM

人工智能 | 数据与特征:解析模型如何依赖信息解决实际问题

测吧(北京)科技有限公司

测试

“智能科技·链接未来”2024亚洲人工智能产品展会·智博会

AIOTE智博会

智博会 人工智能展 世亚智博会

Go语言很难吗?为什么 Go 岗位这么少?

伤感汤姆布利柏

Go 后端 低代码 Go 面试题 面经 后端 大厂

又一次了,该认真考虑“混合多云”了!

京东科技开发者

云计算 云服务 混合多云

人工智能与智能化测试Workshop

测吧(北京)科技有限公司

测试

从 Logstash 到 TDengine 数据接入功能,原来有这些“不一样”

TDengine

tdengine 时序数据库

开普勒云平台:如何安装依赖(二)_文化 & 方法_Geek_7de8f6_InfoQ精选文章