Linux-kubesphere(K8S)小白单机版搭建部署

news2024/9/27 6:44:36

目录

一、虚拟机环境设置

二、Kubesphere安装

1、安装工具

 1)Socat、conntrack、ebtables、ipset

  2)Docker

2、下载KubeKey

3、开始安装


参考官网:https://www.kubesphere.io/zh/docs/v3.4/quick-start/all-in-one-on-linux/

一、虚拟机环境设置

环境:VM虚拟机 + Centos7.x

  1. 操作系统Centos7.x-86_x64
  2. 硬件配置:内存4G,CPU2

VM启动后,关闭并禁用防火墙 (本地直接关闭,公网环境开放端口和配置对应白名单访问即可)

# systemctl stop firewalld

# systemctl disable firewalld

关闭selinux (主要作用是强化系统的安全性和保护系统资源免受未经授权的访问和攻击)

# sed -i 's/enforceing/disabled/' /etc/selinux/config  #永久(配置后需重启机器)

# setenforce 0  #临时

测试拉取下最新的包命令

# yum update

如果提示如下错误:

解决方式可参考:“Could not resolve host: mirrorlist.centos.org; 未知的错误“

如果同时存在2个基础源 Centos-7.repo和Centos-Base.repo,则保留一份即可(推荐使用阿里云的yum源),如果都不是阿里云的yum源,均先备份,再下载阿里云yum源。

此处因之前处理:“Could not resolve host: mirrorlist.centos.org; 未知的错误“问题的时候已经下载了阿里云的 Centos-7.repo,所以这里只需要备份原有的CentOS-Base.repo即可

先备份原生的yum源

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

修改其他源可参考:CentOS7更新yum源

阿里云的yum源,命令如下(已下载的无需执行):

# wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo

二、Kubesphere安装

1、安装工具

 1)Socat、conntrack、ebtables、ipset

# yum -y install socat

# yum -y install conntrack

# yum -y install ebtables

# yum -y install ipset

  2)Docker

更新docker的yum源(推荐阿里)

# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

列出可安装docker版本列表

# yum list docker-ce --showduplicates | sort -r

安装 docker ,可参考:Docker CE for CentOS 安装教程

# yum -y install docker-ce-20.10.8 docker-ce-cli-20.10.8

PS:这里是需要指定版本信息,要与后面的K8S版本匹配,可借鉴Kubernetes各版本对应支持的docker版本列表

目前使用Kubesphere的K8S最高仅支持的是20.10.X,而最新的docker是26.x.x,切勿装最新的。

如果已安装需卸载,可参考: Kubernetes各版本对应支持的docker版本列表

安装完成后,启动 docker

 # systemctl start docker

编辑 Docker 的配置文件

# mkdir -p /etc/docker

# cd /etc/docker

# vim daemon.json

{

"registry-mirrors":["https://docker.rainbond.cc"]

}

配置内容指定了一个 Docker 镜像加速器地址,https://docker.rainbond.cc。这样可以加速从 Docker 镜像仓库拉取镜像的速度,尤其是在中国大陆。

PS:7月开始国内因安全问题监管已经在禁用docker服务,所以之前大部分开源加速器均已不可用

重新启动

# systemctl daemon-reload

# systemctl restart docker

查看Docker的镜像仓库信息

# docker info|grep Mirrors –A5

-A5 是一个选项,表示除了显示匹配行外,还显示匹配行之后的5行

Registry Mirrors 表示你配置的镜像加速器地址。

Live Restore 是 Docker 的一个功能

  • true:当 Docker 服务重启时,正在运行的容器会继续运行,而不会因为 Docker 的重启而被停止
  • false: 当 Docker 守护进程重启时,所有正在运行的容器也会被停止,这是默认设置,如果需要启用该功能,可以通过修改 Docker 配置文件来实现。

# vim /etc/docker/daemon.json

{

  "registry-mirrors": ["https://docker.rainbond.cc"],

  "live-restore": true

}

设置 Docker 服务在系统启动时自动启动

# systemctl enable docker.service

运行测试Image,验证docker是否安装成功

# docker run hello-world

这条命令会下载一个测试Image,下载成功后会在容器内运行。运行后,会打印一些信息并退出,代表docker已经成功安装。

查看现有可用容器

# docker images

查看运行中的容器

# docker ps

查看所有容器,包括未运行的容器

# docker ps -a

查看特定容器使用的镜像

# docker ps | grep my_container

2、下载KubeKey

先执行以下命令以确保您从正确的区域下载 KubeKey

进入master节点,创建目录

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

查看 # ll

为 kk 添加可执行权限:

# chmod +x kk

3、开始安装

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

# ./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]

  • 安装 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。如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.23.10。有关受支持的 Kubernetes 版本的更多信息,请参见支持矩阵。
  • 如果您在此步骤的命令中不添加标志 --with-kubesphere,则不会部署 KubeSphere,只能使用配置文件中的 addons 字段安装,或者在您后续使用 ./kk create cluster 命令时再次添加这个标志。
  • 如果您添加标志 --with-kubesphere 时不指定 KubeSphere 版本,则会安装最新版本的 KubeSphere。

这里执行如下命令:

# ./kk create config --with-kubernetes v1.22.12 --with-kubesphere v3.4.1

期间异常情况:

异常a、下载进度未到 100%就断开,可能是网络问题,多执行几次即可

异常b、get kubernetes cluster info failed: Failed to exec command: sudo -E /bin/bash -c "/usr/local/bin/kubectl --no-headers=true get nodes -o custom-columns=:metadata.name,:status.nodeInfo.kubeletVersion,:status.addresses"

Unable to connect to the server: EOF: Process exited with status 1

处理方式:问题起因是网络问题引起,先检查自己本地网络是否可正常访问;这里排查出来的是因为虚拟机一开始配置了网络代理,关闭即可。

异常Cexecute task timeout, Timeout=2h

排查流程,执行命令:

# kubectl get po -A

查看到有些镜像拉取失败:ErrImagePull,主要是网址被限制镜像拉取,只要配置好国内镜像加速器地址即可,可爬楼往上查看对应配置;处理完重新再拉取即可

执行成功后效果如下:

可看到返回了访问路径和账号密码

访问 :http://192.168.152.131:30880/

开启你的K8S之旅吧。

附:主流程基本官网都有,这里主要逻辑搭建过程中遇见的所需组件安装和异常情况供参考

 

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

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

相关文章

无监督3D场景理解,LLM 在 3D 场景理解中的应用与探索 !

构建能够理解和推理3D场景的模型很难,原因在于缺乏3D监督训练的数据来源和大规模训练策略。 在这项工作中,作者问到:在没有3D预训练的情况下,预训练语言模型中的知识如何被利用来理解和推理3D场景? 本工作的目标是确定…

HTML5有格调的个人介绍网站源码

文章目录 1.设计来源1.1 主界面1.2 个人信息界面1.3 项目统计界面1.4 我的相册界面1.5 朋友评价界面1.6 保持联系界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址&a…

JAVA后端框架--【Mybatis】

框架 框架就是对技术的封装,将基础的技术进行封装,让程序员快速使用,提高开发效率 java后端框架 mybatis 对jdbc进行封装 背景介绍 mybatis是apache下面的一个开源项目,名为ibatis,2010年开发团队转移到谷歌旗下…

unity3d拼图__附带资源

要达到吸附效果则需要每个拼图上挂载碰撞体 达到整张图片的替换效果需要选中所有拼图部件把材质球拖上去 、 制作材料球 脚本挂载到随便一个空物体上 using System.Collections; using System.Collections.Generic; using UnityEngine;public class PinTu : MonoBehaviour …

Qt编写贪吃蛇小游戏完整项目

文章目录 前言一、Qt环境准备二、编写思路三、编写代码1、开始游戏界面代码1.1、绘制界面1.2、界面基本配置 2、选择难度界面代码3、游戏房间界面制作3.1、界面基础配置3.2、提前配置类中的成员变量3.2.1、QRectF 3.3、检测游戏是否结束的方法3.4、蛇移动的实现3.4.1、蛇向上移…

智慧农业——生成式人工智能如何改变农业

在数字化转型时代,农业不再仅仅与土壤、水和阳光有关。随着生成式人工智能的出现,农业正变得更加智能、高效,并且越来越以数据为主导。从以前所未有的准确度预测作物产量到开发抗病植物品种,生成式人工智能使农民能够做出精确的决…

c语言个人笔记

linux嵌入式C语言 课程链接: [史上最强最细腻的linux嵌入式C语言学习教程李慧芹老师] 0. gcc与vim的使用 gcc 指令 -Wall:显示所有警告 gcc默认的警告包括真正的错误:error和 告警warning 执行过程 c源代码.c -> 预处理(E) -> 编译(S) -> 汇编©.o…

Clickhouse集群化(五)clickhouse语法学习

1. 基础 1.1. 建表建库 CREATE DATABASE IF NOT EXISTS helloworld use default; CREATE TABLE IF NOT EXISTS system_cpu_info (uuid String, -- 主机的唯一标识符source String, -- 数据来源标识resource_pool Strin…

011_IO体系

Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出源抽象表述为"流"。 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称…

代码随想录 刷题记录-18 动态规划(1)基本理论及习题

一、基本理论 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分…

码云 云片滑块 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我…

小乌龟运动控制-3两只小乌龟

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

Mysql系列—3.体系架构

目录 Mysql体系结构 Connectors: 连接池和线程管理: SQL Interface: Parser(查询解析器): Optimizer(优化器): Caches(缓存): …

Clickhouse集群化(四)使用clickhouse-operator部署clickhouse集群

clickhouse operator实际下就是帮助我们自动化的生产一些clickhouse配置文件信息,在目录/etc/clickhouse-server/的config.d conf.d users.d 1.1. 部署clickhouse operateor 下载clickhouse-operator.yaml文件 wget https://raw.githubusercontent.com/Altinity/…

Vue3 前端导出Excel表格 Xlsx格式

介绍 xlsx 是一个用于处理 Excel 文件的流行库。可以你读取、生成和操作 Excel 文件(.xlsx 格式),提供了强大的功能来处理工作表和单元格数据。可以轻松地将 JSON 数据转换为 Excel 表格,也可以从 Excel 文件中读取数据。 安装 …

【Linux篇】网络请求和下载与端口

目录 1. 网络请求和下载 1.1 ping命令 1.2 wget命令 1.3 curl命令 2. 端口 2.1 查看端口占用 使用nmap命令,安装nmap:yum -y install nmap 可以通过netstat命令,查看指定端口的占用情况。 3. 进程管理 3.1 进程 3.2 查看进程 3.3 …

Llama 4B剪枝蒸馏实战

大型语言模型 (LLM) 因其有效性和多功能性,如今已成为自然语言处理和理解领域的主导力量。LLM(例如 Llama 3.1 405B 和 NVIDIA Nemotron-4 340B)在许多具有挑战性的任务中表现出色,包括编码、推理和数学。然而,它们的部…

异步编程之std::future(二): std::future和std::promise原理

目录 1.引言 2.源码分析 2.1.std::promise的源码实现 2.2.std::future的源码实现 2.3.关联状态对象的代码实现 3.整个类图 4.future和promise之间的并发安全和线程同步 5.总结 1.引言 异步编程之std::future(一): 使用-CSDN博客 在std::future(一)中详…

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range 环境 linux diffusers 0.30.0问题详情 报错详情 from diffusers import KolorsPipelineTraceback (most recent call last):File "Kolors/demo.py", line 6, in <module>pi…