写点什么

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

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

评论

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

面试阿里P6,却被MySQL难倒,二战阿里,挤进天猫团队(Java岗)

钟奕礼

Java 程序员 java面试 java编程

架构训练营模块1作业

gigifrog

架构训练营

看场景、重实操,实时数仓不是“纸上谈兵”

阿里云大数据AI技术

大数据 实时数仓 12 月 PK 榜

迁移回归问题新突破,火山语音团队论文被人工智能顶级期刊IEEE TPAMI接收

科技热闻

各开发语言DNS缓存配置建议

京东科技开发者

#DNS

事务相关知识集锦

京东科技开发者

MySQL 数据库 spring mybatis 事务

与Web3支付赛道主要项目相比,Zebec生态潜力相当大

股市老人

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

web技术分享| 图片上传与图片裁剪结合 vue3

anyRTC开发者

Vue 前端 Web 图片上传 图片裁剪

java架构师培训学习需要多久?

小谷哥

大数据培训学习需要注重哪些知识呢

小谷哥

文盘Rust -- r2d2 实现redis连接池

京东科技开发者

redis 后端 封装 连接池 rust语言

北京前端培训程序员学习方法有哪些

小谷哥

如何通过C#合并Word文档

在下毛毛雨

C# .net word文档 文件合并

秒云成功入选《2022爱分析 · 信创厂商全景报告》

MIAOYUN

信创 信创云 金融信创 信创产业

华为云发布CodeArts Req需求管理工具 让需求管理化繁为简

极客天地

架构实战营模块一作业

😊😊😊

作业一

数读甘肃数字经济 | 2022年甘肃14市州数字经济发展活跃度指数发布

易观分析

数字经济 甘肃

前端精准测试实践

京东科技开发者

前端 测试 精准测试 webhook 精准分析

2022阿里云研发效能峰会,来啦!

阿里云云效

DevOps 研发效能 开发 数字化转型

【PCB技能】脑瓜疼的PCB反复评审难题,解决方法在这!

华秋PCB

工具 PCB PCB设计

PostgreSQL 技术内幕(三)聚集算子

酷克数据HashData

postgresql

专业开发人员需要低代码开发平台吗

力软低代码开发平台

大数据培训学习后程序员就业前景如何

小谷哥

惊喜!Alibaba架构师手写《Java一无所知到精通》文档

钟奕礼

Java 程序员 java面试 java编程

架构训练营模块一作业

Dinfan

架构实战营

Redis数据持久化机制(备份恢复)、缓存淘汰策略、主从同步原理、常见规范与优化详解

C++后台开发

数据库 redis 中间件 后端开发 C++开发

深圳前端培训学习编程的就业方向有哪些?

小谷哥

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