sealos安装k8s

一、前言

1、我前面文章有写过使用 kubeadm 安装的方式,大家可以去参考 (二)k8s集群安装,有一系列的k8s文章说明

2、安装k8s的方式有很多

  • kubeadm
  • sealos
  • kubespray
  • 等等

3、关于sealos来安装 k8s ,也是非常建议大家去官方文档看看,安装sealos和k8s,说的很非常清楚,一看就知道

4、这里顺便说一下 Sealos Sealer 。它们都是与 Kubernetes 相关的工具,但用途和功能不同。

  1. Sealos:
    Sealos 是一个用于快速部署 Kubernetes 集群的工具。它基于 Ansible 和 KubeAdm,旨在简化 Kubernetes 集群的安装过程。Sealos 提供了一种快速、便捷的方式来部署单节点或多节点的 Kubernetes 集群。它可以自动处理节点初始化、Master 和 Worker 节点的部署,以及集群的配置和初始化。Sealos 主要关注于 Kubernetes 集群的部署和初始化过程,使得用户能够更容易地搭建一个运行的 Kubernetes 环境。

  2. Sealer:
    Sealer 是一个用于加密和保护 Kubernetes 配置文件的工具。它可以将 Kubernetes 的配置文件(如 kubeconfig 文件)进行加密,以确保敏感信息在存储和传输过程中得到保护。Sealer 可以使用不同的加密算法对配置文件进行加密,然后在使用时再进行解密。这有助于提高 Kubernetes 集群的安全性,尤其是在管理多个集群时,可以更好地保护配置信息。

总结:

  • Sealos 主要用于 Kubernetes 集群的快速部署和初始化。
  • Sealer 主要用于加密和保护 Kubernetes 配置文件,增强集群的安全性。

二、前置准备和说明

2.1、集群类型

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

  • 一主多从:一台Master节点和多台Node节点,但是有单机故障风险,适合用于测试环境
  • 多主多从:多台Master节点和多台Node节点,安全性高,适合用于生产环境

说明:为了测试简单,本次搭建的是 一主两从 类型的集群

2.2、主机规划

1、各个机器配置

作用ip操作系统配置
k8s-master01192.168.173.135Centos7.9 基础设施服务器4颗CPU 4G内存 100G硬盘
k8s-node01192.168.173.136Centos7.9 基础设施服务器2颗CPU 4G内存 100G硬盘
k8s-node02192.168.173.137Centos7.9 基础设施服务器2颗CPU 4G内存 000G硬盘

2、相关网络配置

IPADDR=xxxxxx
NETMASK=255.255.255.0
GATEWAY=192.168.173.2

3、DNS

nameserver 8.8.8.8
nameserver 114.114.114.114

在这里插入图片描述

2.3、安装说明

2.3.1、环境初始化(所有节点都需要做的)

1、检查操作系统的版本,因为此方式下安装kubernetes集群要求Centos版本要在7.5或之上(否则存在node节点无法加入master的情况)

cat /etc/redhat-release

在这里插入图片描述
2、主机名解析,为了方便后面集群节点间的直接调用,在这配置一下主机名解析,企业中推荐使用内部DNS服务器

# 主机名成解析 编辑三台服务器的/etc/hosts文件,添加下面内容
192.168.173.135  k8s-master01
192.168.173.136  k8s-node01
192.168.173.137  k8s-node02

在这里插入图片描述

3、设置每个节点的主机名称,这是为了后续使用k8s的时候,生成的节点是以我们的主机名称来命名的,不然k8s搭建之后生成的节点就是 master01,node01之类的等等

hostnamectl set-hostname  k8s-master01
hostnamectl set-hostname  k8s-node01
hostnamectl set-hostname  k8s-node02

3、修改完成后测试是否正常,没一台都测试一下,避免后面安装的时候再发现问题,可就难受了。

  • k8s-master01节点
    在这里插入图片描述

  • k8s-node01节点

在这里插入图片描述

  • k8s-node02节点

在这里插入图片描述

4、时间同步,kubernetes要求集群中的节点时间必须精确一致,这里使用 NTP同步网络时间,当然如果你是内网,不能链接外网,那你最好搭建一个企业内部的时间同步服务器,其他机器都从这台时间服务器同步,保证完全一致。

# 主机名成解析 编辑三台服务器的/etc/hosts文件,添加下面内容
yum install ntp -y //安装ntp服务systemctl enable ntpd //开机启动服务systemctl start ntpd //启动服务timedatectl set-timezone Asia/Shanghai //更改时区timedatectl set-ntp yes //启用ntp同步ntpq -p //同步时间

2.3.2、安装sealos

1、安装的方式很多,大家也可以参考官方,有四种安装方式

  • 二进制自动下载
  • 二进制手动下载
  • 包管理工具安装
  • 源码安装

官方地址-安装sealos

在这里插入图片描述

2.3.2.1、二进制手动下载安装

1、截至我写这篇文章为止,目前sealos的版本如下,我们选择安装 v4.3.0 即可

注意:在选择版本时,建议使用稳定版本例如v4.3.0。像v4.3.0-rc1、v4.3.0-alpha1这样的版本是预发布版,请谨慎使用

在这里插入图片描述
2、在k8s-master01节点 下载

wget https://github.com/labring/sealos/releases/download/v4.3.0/sealos_v4.3.0_linux_amd64.tar.gz

在这里插入图片描述

3、解压后重命名 sealos,解压完成后,会发现只有这一个可执行的文件

4、赋予可执行权限,并移动到当前用户的bin 目录下面,这样方便我们可以在任何地方都去使用它

chmod +x sealos && mv sealos /usr/bin

在这里插入图片描述

2.3.3、安装k8s

先决条件,sealos 是一个简单的 go 二进制文件,可以安装在大多数 Linux 操作系统中。以下是一些基本的安装要求:

  • 每个集群节点应该有不同的主机名。 主机名不要带下划线。
  • 所有节点的时间同步。
  • 在 Kubernetes 集群的第一个节点上运行sealos run命令,目前集群外的节点不支持集群安装。
  • 建议使用干净的操作系统来创建集群。不要自己装 Docker。
  • 支持大多数 Linux 发行版,例如:Ubuntu CentOS Rocky linux。
  • 支持 DockerHub 中支持的 Kubernetes 版本。
  • 支持使用 containerd 作为容器运行时。
  • 在公有云上请使用私有 IP。

1、安装命令如下

这个底层是使用 containerd,如果你希望底层还是使用docker,可以看我后面的第6步,将如下命令中的 labring/kubernetes:v1.25.0 镜像换成 labring/kubernetes-docker:v1.25.0 即可

$ sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 \--masters 192.168.173.135 \--nodes 192.168.173.136,192.168.173.137 -p 123456

在这里插入图片描述

如果你需要安装HA的模式,即高可用多个master节点,也非常简单,命令如下,即在参数masters后面以逗号分割多个master节点ip即可

$ sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 \--masters 192.168.64.2,192.168.64.22,192.168.64.20 \--nodes 192.168.64.21,192.168.64.19 -p [your-ssh-passwd]

2、执行命令之后,你会发现大部分时间都在下载镜像,所以这个速度和你的网速还是有很大关系的

这里无需科学上网,因为这里的镜像 sealos 都从dockerHub 上面下载的,sealos都已经帮我们处理好了。

在这里插入图片描述

3、安装完成之后的界面

在这里插入图片描述

4、查看集群情况

kubectl get node

在这里插入图片描述

5、注意,因为k8s从1.20版本开始就不再使用docker,而是使用更加底层的 containerd,所以我们安装完成后,是没有docker的命令的

其实 docker 底层也是 containerd,k8s舍弃docker是,因为功能有些相同,关于这个方面的内容,大家可以参考这一篇文章 containerd的安装与使用 里面详细说明了k8s,docker,containerd的关系,简单明了

在这里插入图片描述
6、如果你希望安装k8s底层是docker的版本,可以将第一步的安装命令改为如下即可

$ sealos run labring/kubernetes-docker:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 \--masters 192.168.173.135 \--nodes 192.168.173.136,192.168.173.137 -p 123456

两种的区别是

  • labring/kubernetes-docker:v1.25.0 (使用 docker
  • labring/kubernetes:v1.25.0 (使用默认的 containerd

在这里插入图片描述

2.4、sealos相关命令

2.4.1、增加节点

1、增加 node 节点:

sealos add --nodes 192.168.64.21,192.168.64.19 

2、增加 master 节点:

 sealos add --masters 192.168.64.21,192.168.64.19 

2.4.2、删除节点

1、删除 node 节点:

sealos delete --nodes 192.168.64.21,192.168.64.19 

2、删除 master 节点:

sealos delete --masters 192.168.64.21,192.168.64.19  

2.4.3、清理集群

$ sealos reset

三、页面管理工具(Kuboard)安装部署

1、这一章大家可以随意,不安装的话就使用命令行,或者用k8s原生的页面控制,不过原生的页面控制台不太好用,我个人还是建议安装一下这个。

2、关于这个我也有在k8s系列文章中提起 (十一)k8s其它帮助&&单节点部署 这里就不再重复啰嗦了 , 而且官方文档还是中文的,也很详细。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于自适应曲线阈值和非局部稀疏正则化的压缩感知图像复原研究【自适应曲线阈值去除加性稳态白/有色高斯噪声】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

P450进阶款无人机室内定位功能研测

在以往的Prometheus 450(P450)无人机上,我们搭载的是Intel Realsense T265定位模块,使用USB连接方式挂载到机载计算机allspark上,通过机载上SDK驱动T265运行并输出SLAM信息,以此来实现室内定位功能。 为进…

SpringBoot复习:(45)@Component定义的bean会被@Bean定义的同名的bean覆盖

有同名的bean需要配置: spring.main.allow-bean-definition-overridingtrue 否则报错。 package cn.edu.tju.component;import org.springframework.stereotype.Component;Component public class Person {private String name;private int age;{this.name "…

C++ QT(一)

目录 初识QtQt 是什么Qt 能做什么Qt/C与QML 如何选择Qt 版本Windows 下安装QtLinux 下安装Qt安装Qt配置Qt Creator 输入中文配置Ubuntu 中文环境配置中文输入法 Qt Creator 简单使用Qt Creator 界面组成Qt Creator 设置 第一个Qt 程序新建一个项目项目文件介绍项目文件*.pro样式…

C++多态

文章目录 🐵1. 什么是多态🐶2. 构成多态的条件🐩2.1 虚函数🐩2.2 虚函数的重写🐩2.3 final 和 override关键字🐩2.4 重载、重写、重定义对比 🐱3. 虚函数表🐯4. 多态的原理&#x1f…

深入探究QCheckBox的三种状态及其用法

文章目录 引言:三种状态一、未选中状态(0):二、选中状态(2):三、部分选中状态(1): 判断方法结论: 引言: QCheckBox是Qt框架中常用的复…

分支语句与循环语句(2)

3.3 do...while()循环 3.3.1 do语句的语法: do 循环语句; while(表达式); 3.3.2执行流程图: 3.3.3 do语句的特点 循环至少执行一次,使用的场景有限,所以不是经常使用。 打印1-10的整数: #define _CRT_SECURE_NO_WA…

网页显示摄像头数据的方法---基于web video server

1. 背景: 在ros系统中有发布摄像头的相关驱动rgb数据,需求端需要将rgb数据可以直接在网页上去显示。 问题解决: web_video_server功能包,相关链接: web_video_server - ROS Wiki 2. 下载,安装和编译&a…

ios swift5 collectionView 瀑布流(两列)

文章目录 1.瀑布流1.1 demo地址1.2 记得把部署的最低版本由8改成11,13甚至更高。不然编译会报错 2.动态计算图片和文字的高度 1.瀑布流 1.1 demo地址 CollectionViewWaterfallLayout - github 1.2 记得把部署的最低版本由8改成11,13甚至更高。不然编译会报错 2.动态计算图片和…

【Android Framework系列】第10章 PMS之Hook实现广播的调用

1 前言 前面章节我们学习了【Android Framework系列】第4章 PMS原理我们了解了PMS原理,【Android Framework系列】第9章 AMS之Hook实现登录页跳转我们知道AMS可以Hook拦截下来实现未注册Activity页面的跳转,本章节我们来尝试一下HookPMS实现广播的发送。…

Stable Diffusion + Deform制作指南

1.安装sd以及deform插件,更新后记得重启 需要安装ffmpeg https://ffmpeg.org/download.html 选择对应版本然后安装 如果是windows需要解压后将ffmpeg的bin目录配置在电脑的环境变量里面。 2.准备一张初始开始图片 3.填写参数,这里面参数要注意,宽高一定是32的倍数。如果填写…

matplotlib绘制位置-时序甘特图

文章目录 1 前言2 知识点2.1 matplotlib.pyplot.barh2.2 matplotlib.legend的handles参数 3 代码实现4 绘制效果5 总结参考 1 前言 这篇文章的目的是,总结记录一次使用matplotlib绘制时序甘特图的经历。之所以要绘制这个时序甘特图,是因为22年数模研赛C…

电力能源管理系统在生物制药行业的应用

安科瑞 华楠 摘要:根据生物制品类企业的电力能源使用特点,制定了符合公司实际情况的能源管理系统,介绍了该系统的架构及其在企业的应用情况,提升了公司能源数据的实时监控能力,优化了公司能源分配,降低了公…

【数据结构】八大排序详解

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🐌 个人主页:蜗牛牛啊 🔥 系列专栏:🛹数据结构、🛴C 📕 学习格言:博观而约取&…

Python实现透明隧道爬虫ip:不影响现有网络结构

作为一名专业爬虫程序员,我们常常需要使用隧道代理来保护个人隐私和访问互联网资源。本文将分享如何使用Python实现透明隧道代理,以便在保护隐私的同时不影响现有网络结构。通过实际操作示例和专业的解析,我们将带您深入了解透明隧道代理的工…

物联网和不断发展的ITSM

物联网将改变社会,整个技术行业关于对机器连接都通过嵌入式传感器、软件和收集和交换数据的电子设备每天都在更新中。Gartner 预测,全球将有4亿台互联设备投入使用。 无论企业采用物联网的速度如何,连接设备都将成为新常态,IT服务…

Dubbo1-架构的演变

分布式系统上的相关概念 项目:传统项目、互联网项目 传统项目: 一般为公司内部使用,或者小群体小范围的使用,一般不要求性能,美观,并发等 互联网项目的特点: 1.用户多 2.流量大,并…

【CSS】透明背景的圆角渐变边框实现方案

css的渐变边框可以用下面方式实现 border-image: linear-gradient(rgb(89, 0, 255),pink) 30 30; css的圆角边框可以用下面方式实现 border-radius: 20px; 那想要实现一个圆角的渐变边框呢,可能会以为,两个都用上不就可以了,但事实是&…

JSON字符串转换

大家好 , 我是苏麟 , 今天带来一个JSON序列化库 Gson . GitHub 地址 : GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back java 中 json 序列化库有很多: gson (谷歌的) fastjson (阿里的) jack…

Python——添加照片边框

原图: 添加边框后: 添加边框会读取照片的exif信息如时间、相机型号、品牌以及快门焦段等信息,将他们显示在下面的边框中。 获取当前py文件路径 import os #get path that py file located def Get_Currentpath():file_path os.path.abspa…