kubesphere部署(apple m1 m2 m3)

news2024/11/28 12:38:12

背景:使用一个命令kk(KubeKey)同时快速安装 Kubernetes 和 KubeSphere的集成环境,提高效率,减少部署时所花费的精力。这里环境为apple m2

一、KubeSphere简介

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

k8s的web调度系统多种多样,KubeSphere是其中相对不错的,并且在KubeSphere 3.0之后推出了KubeKey。KubeKey支持一键安装k8s或者KubeSphere,安装选择上也可以选择单点安装、集群安装及扩容升级等集群操作,非常方便。

二、kk简介

kk即KubeKey简称(由 Go 语言开发)是一种全新的安装工具,替代了以前使用的基于 ansible 的安装程序。KubeKey 为您提供灵活的安装选择,您可以仅安装 Kubernetes,也可以同时安装 Kubernetes 和 KubeSphere

(1)KubeKey 使用场景

仅安装 Kubernetes

使用一个命令同时安装 Kubernetes 和 KubeSphere

扩缩集群和升级集群

安装 Kubernetes 相关的插件(Chart 或 YAML)

(2)KubeKey 如何运作

下载 KubeKey 之后,您可以使用可执行文件 kk 来进行不同的操作。无论是使用它来创建,扩缩还是升级集群,都必须事先使用 kk 准备配置文件。此配置文件包含集群的基本参数,例如主机信息、网络配置(CNI 插件以及 Pod 和 Service CIDR)、仓库镜像、插件(YAML 或 Chart)和可插拔组件选项(如果您安装 KubeSphere)。有关更多信息,请参见示例配置文件。

准备好配置文件后,您需要使用 ./kk 命令以及不同的标志来进行不同的操作。之后,KubeKey 会自动安装 Docker,并拉取所有必要的镜像以进行安装。安装完成后并可以检查安装日志

(3)选择 KubeKey原因

以前基于 ansible 的安装程序依赖于许多软件,例如 Python。KubeKey 由 Go 语言开发,可以消除在多种环境中出现的问题,确保成功安装。

KubeKey 支持多种安装选项,例如 All-in-One、多节点安装以及离线安装。

KubeKey 使用 Kubeadm 在节点上尽可能多地并行安装 Kubernetes 集群,使安装更简便,提高效率。与旧版的安装程序相比,它极大地节省了安装时间。

KubeKey 提供内置高可用模式,支持一键安装高可用 Kubernetes 集群。

KubeKey 旨在将集群作为对象来进行安装,即 CaaO。

1、操作系统环境

cpu arm64架构 mac m2 

2、虚拟机环境配置

cpu arm 6核 16G 60G

虚拟机 ParallelsDesktop-19.0.0-54570工具 

linux红帽rhel-9.3-aarch64系统

集群节点数量:1节点

注:生产环境需多节点,保证稳定

服务器IP

hostname

kk

KubeSphere

Kubernetes

docker

containerd

备注

10.211.55.6

master

v3.0.7

v3.3.2

v1.24.7

v24.0.2

v1.6.4

3、环境配置(所有节点执行)

(1)关闭防火墙

systemctl disable firewalld && systemctl stop firewalld && systemctl status firewalld

(2)关闭swap分区

swapoff -a

echo "vm.swappiness=0" >> /etc/sysctl.conf

sysctl -p /etc/sysctl.conf

(3)安装依赖组件

yum install -y ebtables socat ipset conntrack

(4)修改hostname

名称根据不同的节点进行修改,master、node1、node2(多节点操作)

hostnamectl --static set-hostname master

hostnamectl --static set-hostname node1

hostnamectl --static set-hostname node2

3、安装集群

使用KubeKey安装集群,整个过程只需要在master节点执行即可

(1)设置国内源

export KKZONE=cn

(2)下载 KubeKey

方法1:

wget -sfL https://get-kk.kubesphere.io | VERSION=v3.0.7 sh -

方法2:

arm(m2)架构:

wget https://github.com/kubesphere/kubekey/releases/download/v3.0.7/kubekey-v3.0.7-linux-arm64.tar.gz

(3) kk 文件添加可执行权限

 chmod +x kk

(4)查看kk版本

./kk version

(5)查看kk支持的k8s版本

./kk version --show-supported-k8s

(6)创建集群配置文件

./kk create config --with-kubernetes v1.24.7 --with-kubesphere v3.3.2

注:--with-kubesphere参数 指定安装kubesphere,反之不安装

v3.3.2 参数 指定安装版本 ,否则默认安装最新版本

(7)根据节点信息修改config-sample.yaml文件

执行完命令后会生成config-sample.yaml文件,根据集群环境修改config-sample.yaml文件 添加集群主机与角色

vi config-sample.yaml

hosts:

{name: master, address: 10.211.55.10, internalAddress: 10.211.55.10, user: xxxxx, password: "xxxxxx",arch: arm64}

roleGroups:

etcd:

  master

  control-plane:

  master

  worker:

  master

将hosts修改为集群的主机名地址,并填写服务器的用户名和密码;roleGroups进行分配节点角色名称,修改完毕进行保存

特别注意:

hosts:指定节点的 IP、ssh 用户、ssh 密码、ssh 端口。如果cpu是arm架构(apple m1 m2 m3)需在hosts栏中手工指定 arch: arm64,方可安装arm架构的软件包,否则未指定部署时会安装 X86 架构的软件包。

arm架构截图:

(8)kubekey集群安装

此集群部署为1.24.7,因从k8s版本1.24开始,k8s默认支持 containerd 但不支持docker,故用参数 --container-manager containerd 指定runtime运行时环境 默认为docker

./kk create cluster -f config-sample.yaml --container-manager containerd 回车  确认 输入yes即可安装部署

到这步 Please wait for the installation to complete: <---<<  代表前面安装已全部执行成功

稍等后便可安装完成,如安装未成功,则查看日志具体原因解决后,再重新执行一次

安装成功后会有登录控制台及查看安装日志命令信息,如下图

安装成功后,查看安装日志命令:

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

(9)安装完成后出现登录验证信息,如下:

登录控制台默认

Console: http://10.211.55.6:30880

Account: admin

Password: P@88w0rd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv7全网独家改进: 卷积魔改 | 变形条状卷积,魔改DCNv3二次创新

💡💡💡本文独家改进: 变形条状卷积,DCNv3改进版本,不降低精度的前提下相比较DCNv3大幅度运算速度 💡💡💡强烈推荐:先到先得,paper级创新,直接使用; 💡💡💡创新点:1)去掉DCNv3中的Mask;2)空间域上的双线性插值转改为轴上的线性插值; 💡💡💡…

人工智能——深度学习

4. 深度学习 4.1. 概念 深度学习是一种机器学习的分支&#xff0c;旨在通过构建和训练多层神经网络模型来实现数据的高级特征表达和复杂模式识别。与传统机器学习算法相比&#xff0c;深度学习具有以下特点&#xff1a; 多层表示学习&#xff1a;深度学习使用深层神经网络&a…

智过网:报考中级注册安全工程师需要什么条件?

随着社会的快速发展和科技的日新月异&#xff0c;安全生产问题越来越受到人们的关注。中级注册安全工程师作为专业安全管理人才&#xff0c;其职责与角色日益凸显。那么&#xff0c;想要报考中级注册安全工程师&#xff0c;需要满足哪些条件呢&#xff1f; 首先&#xff0c;报考…

lanqiao.125卡片换位(2016年蓝桥杯C/C++省赛C组)

题目&#xff1a; 语法点&#xff1a; 1. unordered_map<string,int> dist; //存储图的不同状态及不同状态对应的步数 2. unordered_map的相关操作&#xff0c;详细见C中的unordered_map用法详解-CSDN博客 dist.count(x) //来寻找x出现的次数 dist.find(x) //来…

STM32学习和实践笔记(6):自己进行时钟配置的思路

在《STM32学习和实践笔记&#xff08;4&#xff09;: 分析和理解GPIO_InitTypeDef GPIO_InitStructure (d)-CSDN博客》 中&#xff0c;我了解到&#xff0c;在程序执行我们写的main函数之前&#xff0c;实际上先执行了一个汇编语言所写的启动文件&#xff0c;以完成相应的初始…

51单片机学习笔记15 LCD12864(带字库)显示屏使用

51单片机学习笔记15 LCD12864&#xff08;带字库&#xff09;显示屏使用 一、LCD12864简介二、管脚定义三、命令1. 功能能设定2. 清屏指令&#xff08;0x01&#xff09;3. 地址归位4. 进入设定点5. 显示状态开关6. 设定CGRAM地址7. 设定DDRAM地址8. 写资料到RAM9. 读出RAM 四、…

Flink WordCount实践

目录 前提条件 基本准备 批处理API实现WordCount 流处理API实现WordCount 数据源是文件 数据源是socket文本流 打包 提交到集群运行 命令行提交作业 Web UI提交作业 上传代码到gitee 前提条件 Windows安装好jdk8、Maven3、IDEA Linux安装好Flink集群&#xff0c;可…

37-代码测试(下):Go语言其他测试类型及IAM测试介绍

。 Go中的两类测试&#xff1a;单元测试和性能测试。 我就来介绍下Go 语言中的其他测试类型&#xff1a;示例测试、TestMain函数、Mock测试、Fake测试等&#xff0c; 示例测试 示例测试以Example开头&#xff0c;没有输入和返回参数&#xff0c;通常保存在example_test.go…

Verilog实现手表计时

实现手表的计时功能&#xff1a; 1.具有start启动信号、pause暂停信号&#xff0c;可以自定义其触发机制。 2.具有时间更改接口&#xff0c;可以更改时、分、秒。 3.输出时、分、秒。 Verilog设计 模块端口定义&#xff1a; module watch1(input wire clk …

mp4转flv怎么转?电脑怎么把视频转成flv?

MP4&#xff08;MPEG-4 Part 14&#xff09;是一种多媒体容器格式&#xff0c;广泛用于包含视频、音频、字幕等多种数据流。MP4因其高度灵活性、压缩效率和兼容性成为视频领域的主流格式&#xff0c;支持范围涵盖从在线视频到移动设备的各类应用场景。 FLV文件格式的多个优点 …

Linux虚拟内存简介

Linux&#xff0c;像多数现代内核一样&#xff0c;采用了虚拟内存管理技术。该技术利用了大多数程序的一个典型特征&#xff0c;即访问局部性&#xff08;locality of reference&#xff09;&#xff0c;以求高效使用CPU和RAM&#xff08;物理内存&#xff09;资源。大多数程序…

使用MongoDB 构建AI:轻松应对从预测式AI到生成式AI

毫无疑问&#xff0c;如今从生成式AI (GenAI )中获益最大的&#xff0c;是那些早已运用预测式AI (Predictive AI )的组织。 2023年6月&#xff0c;麦肯锡在2023年6月发布的《生成式人工智能的经济潜力》研究中也得出了与此相同的结论。 原因主要有以下几点&#xff1a; 内部文…

SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

HarmonyOS 开发-MpChart运动健康场景实践案例

介绍 MpChart是一个包含各种类型图表的图表库&#xff0c;主要用于业务数据汇总&#xff0c;例如销售数据走势图&#xff0c;股价走势图等场景中使用&#xff0c;方便开发者快速实现图表UI&#xff0c;MpChart主要包括线形图、柱状图、饼状图、蜡烛图、气泡图、雷达图、瀑布图…

218基于matlab的有限差分法求解泊松方程

基于matlab的有限差分法求解泊松方程&#xff0c;采用SOR超松弛迭代法。模型采用方形区域&#xff0c;划分网格数为100*100&#xff0c;网格数可以很方便的更改。程序已调通&#xff0c;可直接运行。 218有限差分法 泊松方程 SOR超松弛迭代法 - 小红书 (xiaohongshu.com)

react17+antd4 动态渲染导航菜单中的icon

在路由信息对照表中的icon可以有两种形式&#xff1a;一种是组件形式&#xff0c;一种是字符串形式的。 在antd4的Menu.Item和SubMenu中的icon属性的格式为&#xff1a; 1.组件形式 这种方法在渲染时很方便&#xff0c;与antd中的Menu.Item中的icon属性的形式是一致的&#…

第9章 文件和内容管理

思维导图 9.1 引言 文件和内容管理是指针对存储在关系型数据库之外的数据和信息的采集、存储、访问和使用过程的管理。它的重点在于保持文件和其他非结构化或半结构化信息的完整性&#xff0c;并使这些信息能够被访问。文件和非结构化内容也应是安全且高质量的。 确保文件和内容…

说说我理解的数据库中的Schema吧

一、SQL标准对schema如何定义&#xff1f; ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合&#xff08;a persistent, named collection of descriptors&#xff09;。 大部分的网上资料定义Schema如下&#xff1a; schema是用来组织和管理数据的一种方式。它…

【攻防世界】mfw(.git文件泄露)

首先进入题目环境&#xff0c;检查页面、页面源代码、以及URL&#xff1a; 发现页面无异常。 使用 dirsearch 扫描网站&#xff0c;检查是否存在可访问的文件或者文件泄露&#xff1a; 发现 可访问界面/templates/ 以及 .git文件泄露&#xff0c;故使用 GItHack 来查看泄露的 …

Visual Studio Code SSH 连接远程服务器

Visual Studio Code通过 SSH 连接远程服务器并实现免密登录&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. **安装插件**&#xff1a;首先&#xff0c;在 VS Code 中安装 "Remote - SSH" 插件。打开 VS Code&#xff0c;点击左侧的扩展图标&#xff0c;搜索…