在 Kubernetes 上安装 KubeSphere3.0 + DevOps

文章介绍了如何在Kubernetes集群上安装和配置Kubesphere,包括准备步骤、安装OpenEBS以解决存储问题,以及启用Kubesphere的DevOps系统。在过程中,解决了一个关于prometheus-k8s-0podpending的问题,通过调整StorageClass使其正常运行。
摘要由CSDN通过智能技术生成

前言:比起默认的 dashboard ,Kubesphere 集成了很多套件。我们用 kubesphere 可以打通全部的 devops 链路。

所有的问题建议优先查看官方文档kubesphere
Kuboard 也很不错,集群要求不高Kuboard

一、准备工作

1、前提要求

前提要求
前提要求

2、在集群节点中运行 kubectl version,确保 Kubernetes 版本可兼容

kubectl version
查看Kubernetes 版本

3、检查集群中的可用资源是否满足最低要求

free -g
检查集群中的可用资源

4、检查集群中是否有默认 StorageClass

查看StorageClass

二、安装 OpenEBS

1、确认 master 节点是否有 Taint

确认 master 节点是否有 Taint

2、创建 OpenEBS 的 namespace,OpenEBS 相关资源将创建在这个 namespace 下

kubectl create ns openebs

3、安装 OpenEBS

kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml

4、安装 OpenEBS 后将自动创建StorageClass,查看创建的 StorageClass

kubectl get sc
查看创建的 StorageClass

5、将 openebs-hostpath设置为默认的 StorageClass

kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

至此,OpenEBS 的 LocalPV 已作为默认的存储类型创建成功。可以通过命令 kubectl get pod -n openebs来查看 OpenEBS 相关 Pod 的状态,若 Pod 的状态都是 running,则说明存储安装成功。

三、安装kubesphere

1、执行以下命令

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
   
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml

2、检查安装日志

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

检查安装日志

3、查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行

kubectl get pod --all-namespaces 
kubectl get svc/ks-console -n kubesphere-system

4、访问 Web 控制台

确保在安全组中打开了端口 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台

四、启用可插拔组件KubeSphere DevOps 系统

安装前启用

1、编辑 cluster-configuration.yaml 文件

vi cluster-configuration.yaml
在 cluster-configuration.yaml 文件中,找到 devops,并将 enabled 的 false 改为 true,完成后保存文件

devops:
    enabled: true # Change "false" to "true"

2、安装

kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml

安装后启用

1、登录控制台

以 admin 身份登录控制台,点击左上角的平台管理,选择集群管理。
集群管理

2、在资源列表中,点击 ks-installer 右边的三个点,选择编辑配置文件

编辑配置文件

3、编辑配置文件

在该 YAML 文件中,搜寻到 devops,将 enabled 的 false 改为 true。完成后,点击右下角的更新,保存配置。

至此全部完成
正常running

五、一些问题

1、kubesphere-monitoring-system里的prometheus-k8s-0一直pending

prometheus-k8s-0一直pending
查看该pod
kubectl describe pod prometheus-k8s-0 -n kubesphere-monitoring-system
event报错如下:

Events:
  Type     Reason            Age        From               Message
  ----     ------            ----       ----               -------
  Warning  FailedScheduling  <unknown>  default-scheduler  error while running "VolumeBinding" filter plugin for pod "prometheus-k8s-0": pod has unbound immediate PersistentVolumeClaims

报错event
显然是storagecalss的问题,查看一下
kubectl get storageclass
查看sc
之前配置的openebs没有问题
再检查一下pvc
kubectl get pvc -A
检查pvc
发现原因:sc错误
kubesphere-monitoring-system命名空间中的PVC使用的StorageClass是local
将kubesphere-monitoring-system命名空间中的StorageClass更改为openebs-hostpath
kubectl patch ns kubesphere-monitoring-system -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/default-class":"true"}}}'
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值