KubeKey 安装 K8s

官网教程

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

步骤 1:准备 Linux 机器

若要以 All-in-One 模式进行安装,您仅需参考以下对机器硬件和操作系统的要求准备一台主机。

硬件推荐配置

操作系统 最低配置
Ubuntu 16.04 , 18.04 , 20.04 , 22.04 2 核 CPU,4 GB 内存,40 GB 磁盘空间
Debian Buster , Stretch 2 核 CPU,4 GB 内存,40 GB 磁盘空间
CentOS 7.x 2 核 CPU,4 GB 内存,40 GB 磁盘空间
Red Hat Enterprise Linux 7 2 核 CPU,4 GB 内存,40 GB 磁盘空间
SUSE Linux Enterprise Server 15/openSUSE Leap 15.2 2 核 CPU,4 GB 内存,40 GB 磁盘空间

依赖项要求

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

依赖项 Kubernetes 版本 ≥ 1.18 Kubernetes 版本 < 1.18
socat 必须 可选但建议
conntrack 必须 可选但建议
ebtables 可选但建议 可选但建议
ipset 可选但建议 可选但建议
安装依赖组件

也就是上面的Kubernetes依赖 里的内容,全部安装

centos

bash 复制代码
yum install -y ebtables socat ipset conntrack

ubuntu

apt-get install -y ebtables socat ipset conntrack

基本配置要求

安装 k8s 之前需要关闭 SELinux、关闭 Swap 分区、关闭防火墙

关闭SELinux
centos

1.查看 selinux 状态

sestatus

若系统返回的参数信息SELinux status显示为disabled,则表示SELinux已关闭。

2.临时关闭SeLinux

setenforce 0

3.永久关闭SeLinux ,运行运行以下命令,编辑SELinux的config配置文件。

vi /etc/selinux/config

找到SELINUX=enforcing或SELINUX=permissive字段,按i进入编辑模式,将参数修改为SELINUX=disabled。

ubuntu
bash 复制代码
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinuxconfig
关闭防火墙
centos
bash 复制代码
# 停止防火墙服务
systemctl stop firewalld
# 禁用防火墙服务
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
ubuntu
bash 复制代码
# 停止防火墙服务
sudo systemctl stop ufw.service
# 禁用防火墙服务
sudo systemctl disable ufw.service
# 查看防火墙状态
sudo ufw status

如果输出:Status: inactive ,说明防火墙已经成功关闭!

关闭swap分区
centos
swapoff -a
echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
unbuntu
bash 复制代码
swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab

步骤 2:下载 KubeKey

GitHub Release Page 下载 KubeKey 或直接使用以下命令(ubuntu使用bash替换sh)。

curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.13 sh -

备注 执行以上命令会下载最新版 KubeKey,您可以修改命令中的版本号下载指定版本。

kk 添加可执行权限:

chmod +x kk

步骤 3:开始安装

只需执行一个命令即可进行安装,其模板如下所示:

./kk create cluster [--with-kubernetes version] [--with-kubesphere version]

同时安装 KubernetesKubeSphere

./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.4.1
  • 安装 KubeSphere 3.4 的建议 Kubernetes 版本:v1.20.x、v1.21.x、v1.22.x、v1.23.x、* v1.24.x、* v1.25.x 和 * v1.26.x。带星号的版本可能出现边缘节点部分功能不可用的情况。因此,如需使用边缘节点,推荐安装 v1.23.x。如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.23.10。有关受支持的 Kubernetes 版本的更多信息,请参见支持矩阵
  • 一般来说,对于 All-in-One 安装,您无需更改任何配置。
  • 如果您在这一步的命令中不添加标志 --with-kubesphere,则不会部署 KubeSphereKubeKey 将只安装 Kubernetes。如果您添加标志 --with-kubesphere 时不指定 KubeSphere 版本,则会安装最新版本的 KubeSphere
  • KubeKey 会默认安装 OpenEBS 为开发和测试环境提供 LocalPV 以方便新用户。对于其他存储类型,请参见持久化存储配置

执行该命令后,KubeKey将检查您的安装环境,结果显示在一张表格中。有关详细信息,请参见节点要求依赖项要求。输入yes 继续安装流程

步骤 4:验证安装结果

输入以下命令以检查安装结果。

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

输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880。现在,您可以使用默认的帐户和密码 (admin/P@88w0rd) 通过 :30880 访问控制台。

#####################################################

###              Welcome to KubeSphere!           ###

#####################################################



Console: http://192.168.0.2:30880

Account: admin

Password: P@88w0rd



NOTES:

  1. After you log into the console, please check the

     monitoring status of service components in

     "Cluster Management". If any service is not

     ready, please wait patiently until all components 

     are up and running.

  2. Please change the default password after login.



#####################################################

https://kubesphere.io             20xx-xx-xx xx:xx:xx

#####################################################

备注 您可能需要配置端口转发规则并在安全组中开放端口,以便外部用户访问控制台。

登录至控制台后,您可以在系统组件 中查看各个组件的状态。如果要使用相关服务,您可能需要等待部分组件启动并运行。您也可以使用 kubectl get pod --all-namespaces 来检查 KubeSphere 相关组件的运行状况。

开启KubeSphere 应用商店

KubeSphere 应用商店

使用admin登录Kubersphere平台,进入集群管理页面,然后点击【定制资源定义】,在右边搜索框搜索ClusterConfiguration,如下,然后点击搜索到的结果

然后点击右边的三个点,在弹出的菜单中点击【编辑YAML

搜索 openpitrix,并将 enabledfalse 改为 true,完成后保存

然后可以到kubernetes集群后台执行如下命令查看启用日志

bash 复制代码
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

安装日志出现如下内容,表示安装成功

安装完成后,Kubersphere平台会显示应用商店,点击进去如下所示

也可以在不登录控制台的情况下直接访问 <节点 IP 地址>:30880/apps 进入应用商店。

http://192.168.3.120:30880/apps

KubeSphere 3.2.x 中的应用商店启用后,OpenPitrix 页签不会显示在系统组件页面。

启用可插拔组件

启用可插拔组件

概述

从 2.1.0 版本开始,KubeSphere 解耦了一些核心功能组件。这些组件设计成了可插拔式,您可以在安装之前或之后启用它们。如果您不启用它们,KubeSphere 会默认以最小化进行安装部署。

不同的可插拔组件部署在不同的命名空间中。您可以根据需求启用任意组件。强烈建议您安装这些可插拔组件来深度体验 KubeSphere 提供的全栈特性和功能。

资源要求

在您启用可插拔组件之前,请确保您的环境中有足够的资源,具体参见下表。否则,可能会因为缺乏资源导致组件崩溃。

⚠️ 注意 CPU 和内存的资源请求和限制均指单个副本的要求。

参考文献

Ubuntu关闭防火墙、关闭selinux、关闭swap_ubuntu 关闭selinux-CSDN博客
Llinux 开启或关闭SELinux - 飞行日志 - 博客园
安装部署KubeSphere管理kubernetes_error: pipeline[createclusterpipeline] execute fai-CSDN博客
使用kubekey部署k8s集群和kubesphere、在已有k8s集群上部署kubesphere-CSDN博客
Kubersphere----Kubersphere启用应用商店_kubesphere开启应用商店-CSDN博客
Kubesphere应用商店_kubesphere开启应用商店-CSDN博客
kubernetes之5---kubesphere管理平台 - 原因与结果 - 博客园

相关视频

云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps

相关推荐
Algorithm15763 分钟前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
年薪丰厚2 小时前
如何在K8S集群中查看和操作Pod内的文件?
docker·云原生·容器·kubernetes·k8s·container
zhangj11252 小时前
K8S Ingress 服务配置步骤说明
云原生·容器·kubernetes
岁月变迁呀2 小时前
kubeadm搭建k8s集群
云原生·容器·kubernetes
墨水\\2 小时前
二进制部署k8s
云原生·容器·kubernetes
Source、2 小时前
k8s-metrics-server
云原生·容器·kubernetes
上海运维Q先生2 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
颜淡慕潇2 小时前
【K8S问题系列 |19 】如何解决 Pod 无法挂载 PVC问题
后端·云原生·容器·kubernetes
ProtonBase2 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构