使用 kubeadm 搭建的 Kubernetes 1.15.2 版本集群
Helm v2.12.2 版本
使用 NFS 作为集群存储后端
# 下载安装脚本
mkdir /root/kubeSphere && cd /root/kubeSphere
git clone https://github.com/kubesphere/ks-installer
# 要确保集群中有一个默认的 StorageClass 资源对象
vim default-sc.yaml
piVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-vic-data
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: fuseim.pri/ifs
reclaimPolicy: Retain
# 部署在k8s上
kubectl create -f default-sc.yaml
kubectl get sc
# 配置文件说明
ks-installer/deploy/kubesphere.yaml
persistence enable 是否启用持久化存储 (True / False)(非测试环境建议开启数据持久化)
storageClass 启用持久化存储要求环境中存在已经创建好的storageClass(默认为空,使用default storageClass)
# 在集群中创建名为 kubesphere-system 和 kubesphere-monitoring-system 的namespace
kubectl create ns kubesphere-system
kubectl create ns kubesphere-monitoring-system
# 创建集群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
# 创建etcd证书secret
注:以集群实际 etcd 证书位置创建;若 etcd 没有配置证书,则创建空secret
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
# 在 openldap 这个 Deployment 下面容器中添加启动参数 args: --copy-service
ks-installer/roles/ks-core/prepare/templates/ks-account-init.yaml.j2
image: {{ openldap_repo }}:{{ openldap_tag }}
imagePullPolicy: IfNotPresent
args:
- --copy-service
name: openldap
# 可以在此文件配置 默认安装软件
# kubesphere-defaults/defaults/main.yaml
# ks-installer/deploy/kubesphere.yaml 配置文件说明
kubeapiserverhost 就是现有集群的 APIServer 地址,
etcdendpointips 就是 etcd 的所在节点 IP,默认端口为 2379,如果你是集群模式 etcd,这里可以填写多个节点 IP,中间用 ,隔开
# 如果现有集群中已经安装有 metrics-server 需要在配置文件中将 metrics_server_enable 设置为 False
metrics_server_enable: False
# 禁用 sonarqube
sonarqube_enable: False
# 禁用 istio
istio_enable: False
# 开始部署在 k8s上
kubectl apply -f ks-installer/deploy/kubesphere.yaml
# 部署日志查看
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l job-name=kubesphere-installer -o jsonpath='{.items[0].metadata.name}') -f
# 通过nodeport 访问
kubectl -n kubesphere-system get svc |grep ks-console
# 或者创建一个 Ingress 对象来访问 KubeSphere:(kubesphere-ingress.yaml)
# 默认的登录信息为:
用户名:admin
密码:P@88w0rd
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190823141305875.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEzMjc4MDE=,size_16,color_FFFFFF,t_70)
KubeSphere 部署安装
最新推荐文章于 2024-09-23 10:00:00 发布