Kubesphere 安装
简介
基于Kubernetes的PaaS平台,支持CI/CD。
Kubesphere 技术介绍
kubesphere API
kubesphere-openpitrix
-
OpenPitrix 是一款开源的多云应用程序管理平台,用来在多云环境下打包、部署和管理不同类型的应用,包括传统应用、微服务应用以及 Serverless 应用等,其中云平台包括 AWS、Azure、Kubernetes、QingCloud、OpenStack、VMWare 等
-
OpenPitrix 提供了基于多租户的应用创建、打包上传、应用审核、应用商店、测试部署、仓库管理、运行环境管理、集群管理、版本管理、应用分类等功能,对应用的生命周期有完整的管理机制
-
多云环境下的应用统一管理
- 快速构建行业应用商店
- 企业 IT 统一管理
- 容器平台的应用管理
minio
-
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
-
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL
-
单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象
- 容器化运行:docker run -p 9000:9000 --name minio1 -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data
前提准备
-
kubernetes: 1.15,1.16,1.17
-
helm: 大于2.10 小于3.0
在线获取yaml文件
1c2G 的节点安装
-
获取yaml地址:https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml
-
保存名字为:kubesphere-deploy.yaml
8C/16G 的节点安装
- yaml文件地址: https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-complete-setup.yaml
* 保存名字为:kubesphere-deploy.yaml
### 执行安装命令
kubectl apply -f kubesphere-deploy.yaml
### 验证安装是否成功
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
### 启用插件
kubectl edit cm -n kubesphere-system ks-installer
## 离线安装
### 获取镜像包
curl -L https://kubesphere.io/download/images/latest > kubesphere-all-images-v2.1.1.tar.gz \ && tar -zxf kubesphere-all-images-v2.1.1.tar.gz && cd kubesphere-images-v2.1.1
### 导入镜像
docker load < ks_minimal_images.tar docker load < openpitrix_images.tar docker load < ks_logging_images.tar docker load < ks_devops_images.tar docker load < istio_images.tar docker load < ks_notification_images.tar docker load < example_images.tar
### 推入仓库
### 在上文中在线获取的yaml文件中添加:
>local_registry: 192.168.0.31:80 # Add a new field of Harbor address to this line.
* 添加位置与alerting在同一层
alerting:
enabled: true
local_registry: 192.168.0.31:80 # Add a new field of Harbor address to this line.
kind: ConfigMap
### 验证安装
$ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
### 启用插件
# kubectl edit cm -n kubesphere-system ks-installer
备注: 如果使用的是complete方式安装,一般所有的插件都已经启动
### 启用grafana
# kubectl edit cm -n kubesphere-system ks-installer 修改: monitoring: grafana: enabled: True ## Whether to enable Grafana installation
备注: 验证安装状态
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
## 访问sonarqube
* 获取sonarqube的端口号
kubectl get svc -n kubesphere-devops-system | grep ks-sonarqube-sonarqube
## 创建Ingress访问
$ apiVersion: extensions/v1beta1 kind: Ingress metadata: name: kubesphere namespace: kubesphere-system spec: rules: - host: ks.siguadantang.com http: paths: - path: backend: serviceName: ks-console servicePort: 80
# FAQ
## 登录界面输入用户名和密码,点击登录又回到登录页?
# 查看运行ks-console和ks-apigateway的节点时间是否同步,可能的原因,两者时间不一样,导致token失效;
同步时间,查看ks-console的日志,和ks-apigateway的日志,另外可以查看redis中的session信息。 ```
结语
-【Kubesphere 2.1.1 文档】 -【Kubesphere 汉化文档】 -【Kubesphere 参考文档】 -【Kubesphere HPA 视频】 -【Kubesphere CI 及邮件设置】 -【Kubesphere API】 -【Openpitrix 中文文档】 -【Minio 】