2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统

2024-08-20 16:12

本文主要是介绍2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

操作实践

1、服务器规划

kubernetes集群大体上分为两类:一主多从和多主多从。

a、一M多N:一台Master节点和多台Node节点,但是有单机故障风险,适合用于测试环境

b、多M多N:多台Master节点和多台Node节点,安全性高,适合用于生产环境

2、环境准备

a、初始化环境

# 每台机器都需要进行初始化环境,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久# 时间同步 
yum install ntpdate -y
ntpdate time.windows.com

b、设置主机名

# 配置静态 IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 每台机器都需要配置hosts
# 根据规划设置主机名
hostnamectl set-hostname <hostname>
# 按照集群规划,在每台机器的hosts文件中添加以下内容
vi /etc/hosts  
192.168.0.123 master1
192.168.0.124 master2
192.168.0.125 node1

c、免密登录

#在master上生成密钥对
ssh-keygen #一路按回车即可,会在当前用户.ssh目录下生产相应秘钥文件#拷贝公钥到其它master、node节点上
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.124
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.125

d、内核升级

# 阿里云 RPMS 资源
https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/ # 2、wget命令下载
wget https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
wget https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm# 3、资源安装
yum install -y ./kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm ./kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
# 或
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
# 或,安装所有
rpm -Uvh *.rpm# 4、配置启动内核
# 查看当前内核,或 grep "menuentry " /boot/grub2/grub.cfg 
cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}'
# 设置启动内核,或 grub2-set-default 0
grub2-set-default 'CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)'
# 重新生成grub2配置文件(grub2-mkconfig将扫描系统中已安装的操作系统,将它们添加到GRUB2的启动菜单中。如果系统上有多个内核可用,还会添加一个子菜单,以便在启动时选择内核)
grub2-mkconfig -o /boot/grub2/grub.cfg
# 查看启动内核
grub2-editenv list

关于内核种类说明:
kernel-ml 中ml是mainline stable的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本
kernel-lt 中lt是long term support的缩写,elrepo-kernel中罗列出来的长期支持版本。根据他人经验,k8s一般安装LT版本。

3、安装sealos

a、下载sealos

wget https://github.com/labring/sealos/releases/download/v5.0.0/sealos_5.0.0_linux_amd64.tar.gz

b、解压赋权

tar zxvf sealos_5.0.0_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
4、安装 k8s 集群

a、生成集群配置
生成一个包含多个镜像、指定了主节点和工作节点的集群的配置

# 有docker版
sealos gen registry.cn-hangzhou.aliyuncs.com/images-sysncer/kubernetes-docker:v1.25.0 registry.cn-hangzhou.aliyuncs.com/images-sysncer/helm:v3.8.2 registry.cn-hangzhou.aliyuncs.com/images-sysncer/calico:v3.24.1 \
--masters 192.168.0.123,192.168.0.124 \
--nodes 192.168.0.125 --passwd Admin123 --port 22 --output Clusterfile# 无docker版
sealos gen registry.cn-hangzhou.aliyuncs.com/images-sysncer/kubernetes:v1.25.0 registry.cn-hangzhou.aliyuncs.com/images-sysncer/helm:v3.8.2 registry.cn-hangzhou.aliyuncs.com/images-sysncer/calico:v3.24.1 \
--masters 192.168.0.123,192.168.0.124 \
--nodes 192.168.0.125 --passwd Admin123 --port 22 --output Clusterfile

参数说明:
–masters : master节点地址
–nodes : node节点地址
–passwd : 服务器root密码
–port 22 : ssh端口
–output : 生成的文件路径及名称

b、修改配置文件

在生成了 Clusterfile 之后,用户可以根据自己的需求来修改这个文件。添加或修改环境变量;修改集群cidr配置,不添加和修改也可以直接创建集群。

不修改默认安装启动组件有:coredns、etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kube-sealos-lvscare。

c、创建集群

sealos apply -f Clusterfile# 查看集群节点
kubectl get nodes# 查看pod状态
kubectl get pod -A
5、测试验证

a、创建一个nginx-deployment.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80

b、创建deployment资源

kubectl apply -f nginx-deployment.yaml# 查看创建的资源
kubectl get pod -A

总结

selaos 可以快速的完成 K8s 集群的搭建和部署用于产品的快速交付,但是需要具备一定的代码研发能力可以足够掌握软件运行的细节并且结合实际的业务需求进行开发。

这篇关于2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090548

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP