@Kubernetes可视化界面kubesphere

Kubernetes可视化界面kubesphere

前言

Kubernetes也提供了默认的dashboard页面,但是功能不是很强大,这里就不使用了

而是采用Kubesphere大桶全部的devops链路,通过kubesphere集成了很多套件

【kubesphere官网】:集群要求高
【kubesphere安装教程】 :开源kuboard也不错,集群要求不高【轻量级】

kubesphere简介

KubeSphere是一款面向云原生设计的开源项目,在目前主流容器调度平台Kubernetes之上构建的分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大降低开发、测试、运维的日常工作的复杂度。

kubesphere安装

【kubesphere文档】

环境准备

- 1)Kubernetes 版本必须为 “1.15.x,1.16.x,1.17.x 或 1.18.x”;

- 2)确保您的计算机满足最低硬件要求:CPU > 1 核,内存 > 2 G;

-3) 在安装之前,需要配置 Kubernetes 集群中的默认存储类;

-4)当使用 `--cluster-signing-cert-file``--cluster-signing-key-file` 参数启动时,在 kube-apiserver 中会激活 CSR 签名功能

-5)有关在 Kubernetes 上安装 KubeSphere 的前提条件的详细信息,请参阅[前提条件](https://kubesphere.com.cn/docs/installing-on-kubernetes/introduction/prerequisites/)

安装helm

下面我们需要在 master 节点安装 helm

Helm是Kubernetes的包管理器。包管理器类似于我们在 **Ubuntu** 中使用的 **apt**。**Centos** 中使用的 **yum** 或者**Python** 中的 **pip** 一样,能快速查找、下载和安装软件包。Helm由客户端组件helm和服务端组件Tiller组成,能够将一组K8S资源打包统一管理,是查找、共享和使用为Kubernetes构建的软件的最佳方式。

安装3.0的 helm 首先我们需要去 [官网下载](https://helm.sh/docs/intro/quickstart/)

- 第一步,[下载helm](https://github.com/helm/helm/releases)安装压缩文件,上传到linux系统中
- 第二步,解压helm压缩文件,把解压后的helm目录复制到 usr/bin 目录中
- 使用命令:helm

部署KubeSphere

安装前

如果您的服务器无法访问 GitHub,则可以分别复制 kubesphere-installer.yamlcluster-configuration.yaml 中的内容并将其粘贴到本地文件中。然后,您可以对本地文件使用 kubectl apply -f 来安装 KubeSphere。

同时查看k8s集群的默认存储类

kubectl get storageclass

如果没有默认存储类,那么就需要安装默认的存储类,参考博客:Kubernetes配置默认存储类

因为我安装的是 nfs,所以在安装了 nfs 服务器启动

systemctl start nfs

开始安装

如果无法正常访问github,可以提前把文件下载到本地

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

如果下载到了本地,可以这样安装

# 安装
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml

# 卸载
kubectl delete -f kubesphere-installer.yaml
kubectl delete -f cluster-configuration.yaml

检查安装日志

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

然后在查看pod运行状况

kubectl get pod -n kubesphere-system

能够发现,我们还有两个容器正在创建

在这里插入图片描述

使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。

kubectl get pods --all-namespaces

能够发现所有的节点已经成功运行

在这里插入图片描述

如果是,请通过以下命令检查控制台的端口:

kubectl get svc/ks-console -n kubesphere-system

能够看到我们的服务确保在安全组中打开了端口 30880,并通过 NodePort(IP:30880)

在这里插入图片描述

使用默认帐户和密码(admin/P@88w0rd)访问 Web 控制台。

# 图形化页面  admin  P@88w0rd
http://192.168.177.130:30880/

登录控制台后,您可以在组件中检查不同组件的状态。如果要使用相关服务,可能需要等待某些组件启动并运行。

在这里插入图片描述

错误排查

错误1

kubesphere无法登录,提示 account is not active

在这里插入图片描述

kubesphere 安装完成后会创建默认账户admin/P@88w0rd,待ks-controller-manager启动就绪,user controller 会将 user CRD中定义的password加密,user会被转换为active状态,至此账户才可以正常登录。

当安装完成后遇到默认账户无法登录,看到account is not active相关错误提示时,需要检查ks-controller-manager的运行状态和日志。常见问题及解决方式如下:

kubectl -n kubesphere-system get ValidatingWebhookConfiguration users.iam.kubesphere.io -o yaml >> users.iam.kubesphere.io.yaml

kubectl -n kubesphere-system get secret ks-controller-manager-webhook-cert -o yaml >> ks-controller-manager-webhook-cert.yaml


# edit ca as pr
kubectl -n kubesphere-system apply -f ks-controller-manager-webhook-cert.yaml
kubectl -n kubesphere-system apply -f users.iam.kubesphere.io.yaml




# restart
kubectl -n kubesphere-system rollout restart deploy ks-controller-manager

来源:https://kubesphere.com.cn/forum/d/2217-account-is-not-active

posted @ 2021-08-12 18:24  ଲ一笑奈&何  阅读(220)  评论(0编辑  收藏  举报