写点什么

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

  • 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:33737

评论

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

图扑物联 | WEB组态可视化软件

图扑物联

工业物联网 web组态软件 智慧污水处理 web scada 云组态

每日一题:LeetCode-198. 打家劫舍

Geek_4z9ami

面试 算法 LeetCode 动态规划 滚动数组

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

西柚子

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

石头财经

PreparedStatement实践和批处理实践

FunTester

文心大模型融入荣耀MagicOS!打造大模型“端云协同”创新样板

爱编程的喵喵

网易首款鸿蒙原生游戏《倩女幽魂》手游完成开发,商业化版本已就绪

新消费日报

软件测试/测试开发/全日制/测试管理丨Allure测试报告特点与优势

测试人

软件测试

软件测试/测试开发全日制|Pytest结合Excel实现数据驱动

霍格沃兹测试开发学社

数字化转型究竟是什么意思?

高端章鱼哥

数字化

如何利用 NFTScan Portfolio 功能分析钱包 NFT 持仓

NFT Research

NFT NFT\ NFTScan

端侧AI的“春风化雨手”,翻开中国科技下一页

脑极体

AI

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

股市老人

C 语言文件读取全指南:打开、读取、逐行输出

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

Kubernetes Pod配置:从基础到高级实战技巧

互联网工科生

Kubernetes

坎昆升级在即,ZKFair 已开启 ZKF 质押

股市老人

从像素到洞见:图像分类技术的全方位解读

不在线第一只蜗牛

机器学习 深度学习 图像 项目开发

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

BlockChain先知

可编程线性霍尔传感器 IC

芯动大师

🛠 开源即时通讯(IM)项目OpenIM源码部署指南

Geek_1ef48b

在线文档软件哪个好?5个好用的协同文档app推荐!

彭宏豪95

团队协作 在线文档 在线白板 在线协同文档 效率软件

关于AI PC,英特尔CEO帕特·基辛格说了三个法则

E科讯

🛠 开源即时通讯(IM)项目OpenIM源码部署指南

Geek_1ef48b

软件测试/测试开发全日制培训|Pytest的异常处理

霍格沃兹测试开发学社

2023 IoTDB Summit:天谋科技高级开发工程师张金瑞《筑其形:如何轻松搞定 IoTDB 数据建模》

Apache IoTDB

软件测试/测试开发全日制|Pytest结合yaml实现数据驱动

霍格沃兹测试开发学社

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

加密眼界

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