(二十二)从零开始搭建k8s集群——高可用kubernates集群搭建上篇

前言

本节内容分为上、中、下三篇,上篇主要是关于搭建k8s的基础环境,包括服务器基本环境的配置(网络、端口、主机名、防火墙、交换分区、文件句柄数等)、docker环境部署安装配置、镜像源配置等。中篇会介绍k8s的核心组件安装、k8s的集群部署搭建以及k8s的web端管理工具dashborad安装。下篇会介绍keepalived与haproxy的安装及配置,实现k8s的高可用。本次使用的k8s版本为:v1.28.7,dashboard版本为:v2.7.0,都为最新稳定版本。

正文

服务器基础环境配置

①k8s集群服务器部署规划

k8s集群服务器规划
主机名ip角色
m1(主)192.168.10.101master
m2(主)192.168.10.102master
m3(主)192.168.10.103master
m4(从)192.168.10.104worker
m5(从)192.168.10.105worker
m6(从)192.168.10.106worker

②使用vmware创建6台服务器,用于k8s的集群部署

③分别修改6台服务器的默认网卡ip地址为集群规划中的地址,以m1服务器为例

- 使用vi编辑器修改

- 重启系统,查看网络是否配置生效

④分别修改服务主机名为m1、m2、m3、m4、m5、m6,并修改/etc/hosts配置文件,使服务器之间可以通过主机名相互访问

- 修改服务器主机名,以m1服务器为例

hostnamectl set-hostname <hostname>

- 修改/etc/hosts配置文件,使服务器之间可以通过主机名相互访问

cat >> /etc/hosts << EOF 
192.168.10.101 m1
192.168.10.102 m2
192.168.10.103 m3
192.168.10.104 m4
192.168.10.105 m5
192.168.10.106 m6
EOF

⑤关闭所有服务器系统防火墙,保证服务之间可以正常访问,正常情况下是通过配置开放端口

- 关闭系统防火墙并禁止开机自启动

systemctl stop firewalld && systemctl disable firewalld

⑥关闭所有服务器的selinux系统安全检查与swap交换分区

- 关闭系统selinux安全检查

 sed -i 's/^SELINUX=enforcing$/SELINUX=diasbled/' /etc/selinux/config

- 关闭swap交换分区

sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab

⑦ 修改系统可操作文件句柄数

- 调整系统可操作文件句柄数,在每台服务器执行此操作

cat >> /etc/security/limits.conf << EOF 
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF

- 重启服务使配置生效

⑧ 配置服务器的免密登录,此步骤可以跳过,为了方便服务器之间相互访问

- 所有服务器安装sshpass工具,实现密码自动输入

sudo yum install -y epel-release
sudo yum install -y sshpass

- 在每台服务器生成ssh公私钥密钥对

ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

- 在每台服务器执行以下命令,用于传递免密公钥

for i in m1 m2 m3 m4 m5 m6; do sshpass -p 'root' ssh-copy-id -o StrictHostKeyChecking='no' -i /root/.ssh/id_rsa.pub $i; done

 ⑨所有服务器配置阿里云yum源,方便软件下载

- 将原始的yum源备份

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

- 下载阿里云yum镜像文件

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

- 清除yum缓存并更新yum软件包索引

sudo yum clean all && yum makecache

docker容器搭建

①移除旧的docker安装内容,新服务器可以跳过此步骤

- 移除旧的docker容器安装包

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

②安装yum-utils工具类,并配置docker的安装包源地址

- 安装yum-utils工具

sudo yum install -y yum-utils

- 配置docker的安装包yum地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

③安装docker容器

- 安装docker容器,默认安装最新版本

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

- 查看docker是否正确安装完成

④将docker容器启动并设置为开机自启动

- 开机自启

sudo  systemctl start docker & systemctl enable docker

- 查看docker状态

⑤修改docker的cgroup驱动程序为systemd,并配置阿里云镜像源,便于images镜像获取

- 在/etc/docker/daemon.json中配置docker的镜像源地址和驱动程序为systemd

tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

- 重启docker服务

#重新加载docker配置
systemctl daemon-reload
#重新启动docker服务
systemctl restart docker

- 查看配置是否生效

结语

本节内容到这里就结束了,下节内容开始k8s核心组件的安装及集群服务的搭建。。。。。。

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

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

相关文章

xss.pwnfunction.com靶机 Warmups

通关要求弹出警告框alert(1337) 没有用户交互 不能使用外链接 在chrome中测试 Ma Spaghet! 通过分析代码我们可以看到它直接用innerHTML将接收的内容赋值 但是我们不能使用<script>标签因为&#xff1a;HTML 5 中指定不执行由 innerHTML 插入的 <script> 标签。 所…

网络原理初识

一、IP地址 概念 IP 地址主要用于标识网络主机、其他网络设备&#xff08;如路由器&#xff09;的网络地址。简单说&#xff0c; IP 地址用于定位主机 的网络地址 。 就像我们发送快递一样&#xff0c;需要知道对方的收货地址&#xff0c;快递员才能将包裹送到目的地。 二、…

YOLOv8原创改进:原创自研head创新 | 空间上下文感知模块(SCAM)结合超轻量高效动态上采样DySample | 小目标涨点系列

💡💡💡本文独家改进:YOLOV8 head创新,1)一种超轻量高效动态上采样DySample, 具有更少的参数、FLOPs,效果秒杀CAFFE和YOLOv8网络中的nn.Upsample;2)加入空间上下文感知模块(SCAM)进一步提升检测精度; 改进结构图如下: 💡💡💡在多个数据集下验证能够涨点…

使用Unreal Engine 5创建逼真人物化身(meta human)的教程

这是一个关于使用Unreal Engine 5创建逼真人物化身(meta human)的教程视频。作者们使用PolyCam应用程序对一位名叫Angelina的女性进行了3D人体扫描,然后在Blender中清理扫描数据,并将其导入Unreal Engine 5。接着他们利用MetaHuman Creator网站进行了进一步的定制,将Angelina的…

Java中SpringBoot四大核心组件是什么

一、Spring Boot Starter 1.1 Starter的应用示例 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency><groupId>org.mybatis.sprin…

Java开发从入门到精通(一):Dubbo

目录&#xff1a; 服务注册与发现机制 服务调用 线程派发机制 1、服务注册与发现机制 Dubbo的服务注册与发现机制如下图所示&#xff1a; Dubbo中存在4类角色&#xff1a; Registry 注册中心。 Consumer 服务调用者、消费端。 Provider 服务提供者。 Monitor 监控中心。 调用…

docker学习笔记——对数据卷的一些简单命令

高级数据卷 docker volume ls&#xff1a;查看docker所有维护的数据卷。 docker volume inspect 数据卷别名&#xff1a;查看数据卷的详细信息。 docker volume rm 数据卷的别名&#xff1a;删除数据卷。 docker volume create 数据卷别名&#xff1a;创建一个别名数据卷。

Android屏幕共享-硬编码硬解码

Android屏幕共享-硬编码硬解码 说起Android之间的屏幕共享&#xff0c;第一次接触会比较陌生&#xff0c;不过大家多少有了解过ffmpeg&#xff0c;看上去是不是很熟悉&#xff1f;ffmpeg是一套处理音视频的开源程序&#xff0c;但对于C了解较少的同学&#xff0c;编译起来很复杂…

笔试题7——在数组中找出三个数字和为0的全部组合, test ok

题目描述: 在数组中找出三个数字使得它们的和为0,找出所有的这种不包含重复的组合 思路: 首先将数组元素从小到大排序,设三个元素下标i,j,k,将i从头开始遍历,j初始化为i+1,k初始化为n-1; while(j < k) 当三元素之和小于0时,j++; 当三元素之和大于0时,k–; 当三…

二维码门楼牌管理系统应用场景:社会服务与福利的智能化革新

文章目录 前言一、二维码门楼牌管理系统的基本功能二、在社会服务领域的应用三、在福利保障领域的应用四、结论 前言 在数字化浪潮的推动下&#xff0c;二维码门楼牌管理系统以其便捷、高效的特点&#xff0c;正逐渐渗透到社会服务和福利的各个领域。这一系统不仅为市民提供了…

Claude3 目前最强大模型

过内试用连接 ChatAI (whjin.cn)http://chatyy.whjin.cn/?userid51913030&typebaidu&keywordid0&bd_vid12153741466503666331 Claude 3: A new generation of AI The Claude 3 family of models represents the cutting edge of AI technology, offering unpara…

RN开发搬砖经验之-如何处理FlashList组件加载后调用scrollToIndex没有滚动指定位置

前言 如题&#xff0c;这里只能说是处理&#xff0c;起正向作用的临时方案&#xff0c;因为我也着实没搞懂这个BUG的具体原因&#xff0c;看github上有提相关的issuesFor long lists with different item types scrollToIndex does not work reliable&#xff0c;但看官方没有…

Java的基本数据类型——四类八种

目录 前言 1.整型 1.1整型变量 1.2长整型变量 1.3短整型变量 1.4字节型变量 2.浮点型 2.1双精度浮点数 2.2单精度浮点数 3.字符型 4.布尔型 前言 java的数据类型分为基本数据类型与引用数据类型,其中除了整型、浮点型、字符型、布尔型&#xff0c;即为引用数据类型…

Extended Feature Pyramid Network for SmallObject Detection

摘要 各种尺度的特征耦合会削弱小对象的性能&#xff0c;本文中&#xff0c;我们提出了具有超高分辨率金字塔的扩展特征金字塔网络&#xff08;EFPN &#xff09;&#xff0c;专门用于小目标检测。具体来说&#xff0c;我们设计了一个新模块&#xff0c;称为特征纹理转移&#…

【MySQL 系列】MySQL 起步篇

MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域&#xff0c;MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版&#xff0c;社区版完全免费&#xff0c;并且几乎能满足全部的使用场景。由于 MySQL 是开源的&#xff0c;我们还可以根…

统信os平台普通用户无法调用clockdiff的问题解决方法

问题描述 部署OceanBase 时遇到clockdiff: socket: operation not permitted 问题&#xff0c;从官网了解到可以通过setcap cap_net_rawep "$(which clockdiff)"解决 在centos平台&#xff0c;这个可以解决问题&#xff0c;但是在统信os平台失败了。。 参考: Ocea…

怎么把一个视频分割成几个?技巧在这里

在视频编辑的过程中&#xff0c;有时我们需要将一个较长的视频细分成多个部分&#xff0c;以便更灵活地进行处理、调整或分享。这个过程可以帮助我们有效管理视频内容&#xff0c;提取关键片段&#xff0c;并且适应不同的发布需求。在本文中&#xff0c;我们将深入探讨怎么把一…

【Python百日进阶-Web开发-Peewee】Day283 - Peewee 的扩展(二)apsw/sqlcipher/postgresql

文章目录 13.4 apsw&#xff0c;一个高级的 sqlite 驱动程序13.4.1 如何使用 APSW 数据库13.4.2 apsw_ext API 说明 13.5 Sqlcipher 后端13.5.1 sqlcipher_ext API 说明 13.6 Postgresql 扩展13.6.1 JSON 支持13.6.2 hstore 支持 13.4 apsw&#xff0c;一个高级的 sqlite 驱动程…

JavaScript改变this指向的三种方法

在JavaScript中&#xff0c;可以使用call()、apply()或bind()来改变函数的this指向。 1.call(): 通过调用函数并传入新的上下文对象作为参数&#xff0c;将函数内部的this关键字指向该对象。示例代码如下所示 function greet(name) {console.log("Hello " name); …

机器学习笔记 DeepFakes和换脸技术简述

一、简述 人脸检测一直是 2000 年代初的主要研究课题。差不多二十年后,这个问题基本上得到了解决,并且人脸检测在大多数编程语言中都可以作为库使用。甚至换脸技术也不是什么新鲜事,并且已经存在了好些年了。 早在2016年左右就有基于OpenCV进行面部交换的方式了,主要是基于…