Advanced v2.0

Advanced v2.0
Advanced v1.0
Express v1.0
  1. Release Notes
  1. 产品介绍
  1. 安装指南
  1. 快速入门
  1. 管理员指南
    1. 多租户管理
    1. 平台管理
    1. 基础设施
    1. 监控中心
    1. 平台设置
    1. 工具箱
    1. 通用配置
    1. FAQ
  1. 用户指南
    1. 应用
    1. 工作负载
    1. 存储
    1. 网络与服务
    1. 监控告警
    1. 配置中心
    1. 项目设置
    1. DevOps 工程
  1. API 文档
  1. 常见问题
  1. 附录
KubeSphere®️ 2019 All Rights Reserved.

在 Kubernetes 在线部署 KubeSphere

KubeSphere 支持在已有 Kubernetes 集群之上部署 KubeSphere

前提条件

  • Kubernetes 版本: 1.13.0+
  • Helm 版本: 2.10.0+

注:

  • 请确保集群中剩余可用内存 > 10G
  • 建议使用持久化存储。

部署 KubeSphere

  1. 在 Kubernetes 集群中创建名为 kubesphere-systemkubesphere-monitoring-systemnamespace
$ cat <<EOF | kubectl create -f -
---
apiVersion: v1
kind: Namespace
metadata:
    name: kubesphere-system
---
apiVersion: v1
kind: Namespace
metadata:
    name: kubesphere-monitoring-system
EOF
  1. 创建 Kubernetes 集群 CA 证书的 Secret。

注:按照当前集群 ca.crt 和 ca.key 证书路径创建(Kubeadm 创建集群的证书路径一般为 /etc/kubernetes/pki

$ kubectl -n kubesphere-system create secret generic kubesphere-ca  \
--from-file=ca.crt=/etc/kubernetes/pki/ca.crt  \
--from-file=ca.key=/etc/kubernetes/pki/ca.key 
  1. 创建 etcd 的证书 Secret。

注:根据集群实际 etcd 证书位置创建;

  • 若 etcd 已经配置过证书,则参考如下创建:
$ kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs  \
--from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt  \
--from-file=etcd-client.crt=/etc/kubernetes/pki/etcd/healthcheck-client.crt  \
--from-file=etcd-client.key=/etc/kubernetes/pki/etcd/healthcheck-client.key
  • 若 etcd 没有配置证书,则创建空 Secret(以下命令适用于 Kubeadm 创建的 Kubernetes 集群环境):
$ kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs
  1. 克隆 kubesphere-installer 仓库至本地。
$ git clone https://github.com/kubesphere/ks-installer.git
  1. 进入 ks-installer,然后在 Kubernetes 集群部署 KubeSphere。
$ cd deploy

$ vim kubesphere.yaml   # 根据下方的参数说明列表,编辑 kubesphere.yaml 中 kubesphere-config 为当前集群参数信息。(若etcd 无证书,设置 etcd_tls_enable: False)

$ kubectl apply -f kubesphere.yaml
  1. 查看部署日志。
$ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l job-name=kubesphere-installer -o jsonpath='{.items[0].metadata.name}') -f
  1. 查看控制台的服务端口,使用 IP:30880 访问 KubeSphere UI 界面,默认的集群管理员账号为 admin/P@88w0rd
$ kubectl get svc -n kubesphere-system    
# 查看 ks-console 服务的端口  默认为 NodePort: 30880

参数说明

参数 描述 默认值
kube_apiserver_host 当前集群kube-apiserver地址(ip:port)
etcd_tls_enable 是否开启etcd TLS证书认证(True / False) True
etcd_endpoint_ips etcd地址,如etcd为集群,地址以逗号分离(如:192.168.0.7,192.168.0.8,192.168.0.9)
etcd_port etcd端口 (默认2379,如使用其它端口,请配置此参数) 2379
disableMultiLogin  是否关闭多点登录   (True / False) True
elk_prefix 日志索引  logstash 
keep_log_days 日志留存时间(天) 7
metrics_server_enable 是否安装metrics_server    (True / False) True
istio_enable 是否安装istio           (True / False) True
persistence enable 是否启用持久化存储   (True / False)(非测试环境建议开启数据持久化)
storageClass 启用持久化存储要求环境中存在已经创建好的storageClass(默认为空,使用default storageClass) “”
containersLogMountedPath(可选) 容器日志挂载路径 "/var/lib/docker/containers"
external_es_url(可选) 外部es地址,支持对接外部es用
external_es_port(可选) 外部es端口,支持对接外部es用
local_registry (离线部署使用) 离线部署时,对接本地仓库 (使用该参数需将安装镜像使用scripts/download-docker-images.sh导入本地仓库中)

未来计划

  • 支持多个公有云的网络插件与存储插件;
  • 组件解耦,做成可插拔式的设计,使安装更轻量,资源消耗率更低。
在 Kubernetes 在线部署 KubeSphere
前提条件
部署 KubeSphere
参数说明
未来计划