请添加图片描述
📣读完这篇文章里你能收获到

  • 在 Kubernetes 上最小化安装 KubeSphere

请添加图片描述

请添加图片描述

一、准备工作

可以在虚拟机和裸机上安装 KubeSphere,并同时配置 Kubernetes。另外,只要 Kubernetes 集群满足以下前提条件,那么你也可以在云托管和本地 Kubernetes 集群上部署 KubeSphere。

1. 先决条件

  • 如需在 Kubernetes 上安装 KubeSphere v3.1.1, Kubernetes 版本必须为:v1.17.xv1.18.xv1.19.xv1.20.x
  • 可用 CPU > 1 核;内存 > 2 G。
  • Kubernetes 集群已配置默认 StorageClass(请使用 kubectl get sc 进行确认)。
  • 使用 --cluster-signing-cert-file 和 --cluster-signing-key-file 参数启动集群时,kube-apiserver 将启用 CSR 签名功能。请参见 RKE 安装问题

2. 预检查

  1. 在集群节点中运行 kubectl version,确保 Kubernetes 版本可兼容。输出如下所示:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.8", GitCommit:"fd5d41537aee486160ad9b5356a9d82363273721", GitTreeState:"clean", BuildDate:"2021-02-17T12:41:51Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.8", GitCommit:"fd5d41537aee486160ad9b5356a9d82363273721", GitTreeState:"clean", BuildDate:"2021-02-17T12:33:08Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}

请注意 Server Version 这一行。如果 GitVersion 显示为旧版本,则需要先升级 Kubernetes。

  1. 检查集群中的可用资源是否满足最低要求。
$ free -g
            total        used        free      shared  buff/cache   available
Mem:              16          4          10           0           3           2
Swap:             0           0           0
  1. 检查集群中是否有默认 StorageClass(准备默认 StorageClass 是安装 KubeSphere 的前提条件)。
$ kubectl get sc
NAME                      PROVISIONER               AGE
glusterfs (default)       kubernetes.io/glusterfs   3d4h

如果 Kubernetes 集群环境满足上述所有要求,那么就可以在现有的 Kubernetes 集群上部署 KubeSphere 了。

请添加图片描述

二、部署 KubeSphere

确保机器满足安装的前提条件之后,可以按照以下步骤安装 KubeSphere。

  1. 执行以下命令开始安装:
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/kubesphere-installer.yaml
   
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/cluster-configuration.yaml
  1. 检查安装日志:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
  1. 使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。如果是,请通过以下命令检查控制台的端口(默认为 30880):
kubectl get svc/ks-console -n kubesphere-system
  • 整个过程需要等待约15~20分钟
  1. 确保在安全组中打开了端口 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台。

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐