转自 k8s 技术圈:https://mp.weixin.qq.com/s/FcCBXs-f_VsNPp9qdMDfNQ
KubeSphere 是在 Kubernetes 之上构建的开源的企业级容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。
KubeSphere 源代码和安装使用文档已在 GitHub 上开放,欢迎关注:https://github.com/kubesphere/kubesphere
KubeSphere 一开始就推出了开源的社区版本,只是之前提供的安装方式比较单一,在已有的 Kubernetes 集群上要想安装相对较麻烦,本文将为你演示如何在已有的 Kubernetes 集群上安装 KubeSphere。
环境准备
本文安装 KubeSphere 使用到的相关环境及工具如下:
- 使用 kubeadm 搭建的 Kubernetes 1.15.2 版本集群
- Helm v2.14.1 版本
- 使用 NFS 作为集群存储后端
- 使用到的安装脚本地址:https://github.com/kubesphere/ks-installer
首先需要确保集群中有一个默认的 StorageClass 资源对象,关于 StorageClass 的使用可以查看前面的文章介绍:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: dynamic-data
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: fuseim.pri/ifs
其中 annotations 下面的 storageclass.kubernetes.io/is-default-class: “true” 是必须的:
$ kubectl get sc
NAME PROVISIONER AGE
dynamic-data (default) fuseim.pri/ifs 4h41m
安装
首先将上面安装仓库 Clone 到 Kubernetes 集群中的 master 节点上,因为我们需要使用到 master 节点上的一些证书文件。
1.首先,在集群中创建名为 kubesphere-system 和 kubesphere-monitoring-system 的namespace:
$ cat