在Linux上以ALL-in-One模式安装KubeSphere

KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。

作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。

KubeSphere 还开源了 KubeKey 帮助企业一键在公有云或数据中心快速搭建 Kubernetes 集群,提供单节点、多节点、集群插件安装,以及集群升级与运维。

  • 完全开源
  • 简易安装
  • 功能丰富等

关于ALL-in-One

就是一体化解决方案,就比较类似lnmp一键安装。使得较少的命令就可以将平台一键搭建出来,省时省力。

1.准备

我这里用centos系统做演示。

配置 IP 主机名
2h4g100g 192.168.218.133 kubesphere

1.1要执行的命令与要求:

官方要求节点至少需要:

  • 能够通过SSH连接
  • 可以使用sudo/curl/openssl命令
  1. systemctl stop firewalld #关闭防火墙
  2. systemctl disabled firewalld #禁止防火墙自启
  3. curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #阿里云镜像源
  4. iptables -X
  5. iptables -F
  6. iptables -Z
  7. iptables-save
  8. setenforce 0 #修改selinux
  9. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  10. yum clean all && yum repolist
  11. yum install vim wget net-tools tree mlocate lrzsz -y #安装一些必备的工具包

1.2.依赖项要求

(我们这里不离线安装,所以暂时不说docker)

KubeKey 可以将 Kubernetes 和 KubeSphere 一同安装。针对不同的 Kubernetes 版本,需要安装的依赖项可能有所不同。您可以参考以下列表,查看是否需要提前在节点上安装相关的依赖项。

依赖项 Kubernetes 版本 ≥ 1.18 Kubernetes 版本 < 1.18
socat 必须 可选但建议
conntrack 必须 可选但建议
ebtables 可选但建议 可选但建议
ipset 可选但建议 可选但建议
  1. yum install socat conntrack -y #安装socat与contrack必备工具

1.3.网络和DNS要求

  • 确保DNS可用,我这里的DNS是114.114.114.114
  • 开启所需要的端口,我们这里为了方便在前面就关闭了防火墙

2.下载KubeKey

kubeykey是KubeSphere基于Go 语言开发的kubernetes集群部署工具,使用 KubeKey,您可以轻松、高效、灵活地单独或整体安装 Kubernetes 和 KubeSphere。

2.1.KubeKey可以用于以下三种安装场景:

  • 仅安装 Kubernetes集群
  • 使用一个命令安装 Kubernetes 和 KubeSphere(我们的场景)
  • 已有Kubernetes集群,使用ks-installer 在其上部署 KubeSphere

2.2安装下载KubeKey

从github下载,国内会有一些限制,所以要做点特殊命令:

  1. export KKZONE=cn #国内访问Github比较慢,执行该命令能够略微加速
  2. curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh - #下载

或者进入github直接下载

kk下载

执行完后当前目录就会多出来一些文件:

(本质上就kk会用到,kubekey是下载文件,两个README是阅读文件)

KubeSphere的All_in_one安装 - 图1

  1. chmod +x kk #如果文件“kk”没有脚本权限,则输入该命令

3.开始安装

只需要执行一个命令即可,因为我们是ALL-in-one模式安装,几乎不用做什么配置。

  1. ./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1
  2. #安装1.12.5版本的kubernetes,安装3.2.1的kubesphere,输入后会进行漫长的下载
  3. #此时会出现是否继续安装yes即可

yes即可正式开始,可能时间比较长。

KubeSphere的All_in_one安装 - 图2

时间可能比较长,安装成功的样子为:

KubeSphere的All_in_one安装 - 图3

4.验证安装结果

当第三步执行完成后,输入以下命令检查安装结果:

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

输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880

现在,您可以使用默认的帐户和密码 (admin/P@88w0rd) 通过 <NodeIP>:30880 访问控制台。

此时ip:30880从网页进入,输入账号密码:

KubeSphere的All_in_one安装 - 图4

点击右上角的平台管理,还会有更多选项页面。

KubeSphere的All_in_one安装 - 图5

KubeSphere的All_in_one安装 - 图6