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

news2024/10/24 2:32:24

前言

本节内容分为上、中、下三篇,上篇主要是关于搭建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.coloradmin.cn/o/1498078.html

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

相关文章

rk3568 恢复出厂设置横屏

author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Qt,等方面的知识https://blog.csdn.net/qq_40715266?typeblog 在使用rk3568开发过程&#xff0c;虽然显示的方向已经改成了横屏&#xff0c;但是恢…

4.1k star,官方出品的redis桌面管理工具——redislnsight

导航 令人抓狂的大key加载RedisInsight 简介RedisInsight的亮点GitHub 地址安装和使用RedisInsight 下载安装 使用RedisInsight redis数据库可视化直观的CLI&#xff08;Command-Line Interface&#xff09;日志分析和命令分析 结语参考 令人抓狂的大key加载 工欲善其事必先利…

JavaScript基础4之原型的原型继承、原型链和理解对象的数据属性、访问器属性

JavaScript基础 原型原型继承问题解决 原型链isPrototypeOf()Object.getPrototypeOf() 理解对象数据属性访问器属性 原型 原型继承 继承是面向对象编程的另一个特征&#xff0c;通过继承进一步提升代码封装的程度&#xff0c;JavaScript中大多是借助原型对象实现继承的特性。…

sudo command not found

文章目录 一句话Intro其他操作 一句话 sudo 某命令 改成 sudo -i 某命令 试试。 -i 会把当前用户的环境变量带过去&#xff0c;这样在sudo的时候&#xff0c;有更高的权限&#xff0c;有本用户的环境变量(下的程序命令)。 -i, --login run login shell as the target user; a …

软件测试相关概念和bug的相关总结

文章目录 什么是测试什么是需求测试用例(CASE)什么是BUG软件的生命周期开发模型瀑布模型螺旋模型增量模型和迭代模型 敏捷测试模型v模型W模型(双V模型) 软件测试的生命周期如何描述一个bugbug的级别bug的生命周期.产生争执怎么办 什么是测试 测试是测试人员用来检验软件的实际运…

全自动玻璃切割机控制系统设计

目 录 摘 要 I Abstract II 引 言 1 1 玻璃切割机控制系统设计 4 1.1系统方案选择 4 1.2玻璃切割机的工作原理 4 1.3工艺过程 5 1.4玻璃切割机的控制要求 6 2硬件设计 8 2.1控制部分设计 8 2.2驱动部分设计 8 2.2.1步进电机及驱动器的选型 8 2.2.2步进电机驱动器接口电路设计 …

VM 虚拟机 ubuntu 解决无法连接网络问题

添加网卡法 就是在虚拟机的设置那里多增加一个网卡

每日OJ题_链表②_力扣24. 两两交换链表中的节点

目录 力扣24. 两两交换链表中的节点 解析代码 力扣24. 两两交换链表中的节点 24. 两两交换链表中的节点 难度 中等 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&…

顺序表以及单链表

目录 1顺序表&#xff08;规范&#xff09; 2单链表&#xff08;规范&#xff09; 3总结 1顺序表&#xff08;规范&#xff09; #include<iostream> using namespace std; #define MAXSIZE 100 #define ok -1 #define error -2 typedef int Status; typedef int…

支小蜜校园防欺凌系统如何有效应对学生霸凌?

学生霸凌不仅直接伤害到被霸凌者的身心健康&#xff0c;也对整个校园的和谐氛围构成了威胁。为了应对这一问题&#xff0c;校园防欺凌系统应运而生&#xff0c;成为维护校园安全、保护学生权益的重要工具。那么当校园防欺凌系统面对学生霸凌时&#xff0c;该如何有效应对呢&…

K8S之实现业务的蓝绿部署

如何实现蓝绿部署 什么是蓝绿部署&#xff1f;蓝绿部署的优势和缺点优点缺点 通过k8s实现线上业务的蓝绿部署 什么是蓝绿部署&#xff1f; 部署两套系统&#xff1a;一套是正在提供服务系统&#xff0c;标记为 “绿色” &#xff1b;另一套是准备发布的系统&#xff0c;标记为…

JS函数

目录 1.Function声明 2.匿名函数 3.函数表达式 4.箭头函数 5.构造函数 个人版JS函数使用&#xff1a; 函数的声明&#xff1a;函数如果有return则返回的是 return 后面的值&#xff0c;如果函数没有有return 声明方式一&#xff1a; 声明方式二&#xff1a;变量名声明…

0x04_数组_指针_字符串

数组 数组的定义与使用 数组是具有一定顺序关系的若干相同类型变量的集合体&#xff0c;组成数组的变量称为该数组的元素。 给出下面程序的输出&#xff1a; #include <iostream> using namespace std; int main() {int a[10], b[10];for(int i 0; i < 10; i) {a[…

【Web前端入门学习】—CSS

目录 CSS简介CSS语法CSS三种导入方式CSS选择器元素选择器&#xff08;标签选择器&#xff09;类选择器ID选择器通用选择器子元素选择器后代选择器&#xff08;包含选择器&#xff09;并集选择器&#xff08;兄弟选择器&#xff09;伪类选择器伪元素选择器 CSS常用属性盒子模型网…

3.7练习题解

一共五道题&#xff1a; 1. PERKET&#xff1a; 观察容易发现n的值很小&#xff0c;所以我们可以考虑使用dfs的方法进行解答&#xff0c;首先我们可以考虑一共有n种配料&#xff0c;那么我们就可以考虑到可以选择1到n种配料数目&#xff0c;然后基于这个思路我们再对其进行判断…

评测本地部署的语音识别模型

1 引言 最近&#xff0c;朋友给我发来了一段音频&#xff0c;想转录成文字&#xff0c;并使用大型润色文本。音频中的普通话带有一定的口音&#xff0c;并且讲解内容较为专业&#xff0c;所以一般的语音识别工具很难达到较高的识别率。 于是试用了两个大模型。Whisper 是目前…

大数据背景下R语言lavaan在SEM中的高效应用

结构方程模型&#xff08;SEM&#xff09;是揭示系统内变量间复杂关系的强大工具。它利用图形化的方式&#xff0c;将多变量间的因果关系网展现得淋漓尽致&#xff0c;具备出色的数据分析能力和广泛的适用性。近年来&#xff0c;无论是在生态、进化、环境领域&#xff0c;还是在…

分类预测 | Matlab基于GWO-RBF灰狼算法优化径向基神经网络的分类预测

分类预测 | Matlab基于GWO-RBF灰狼算法优化径向基神经网络的分类预测 目录 分类预测 | Matlab基于GWO-RBF灰狼算法优化径向基神经网络的分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 Matlab基于GWO-RBF灰狼算法优化径向基神经网络的分类预测。基于灰狼算法(GWO…

Java定时调度范式定时操作

在 Java 中&#xff0c;我们可以使用各种方法来执行定时操作。这些操作包括执行任务、调度任务、执行重复任务等。下面将介绍几种常见的 Java 定时调度范式。 1. Timer 和 TimerTask Java 提供了 Timer 和 TimerTask 类&#xff0c;用于执行定时任务。 示例代码&#xff1a;…

腾讯云服务器和阿里云服务器价格测评_2024年费用大PK

2024年阿里云服务器和腾讯云服务器价格战已经打响&#xff0c;阿里云服务器优惠61元一年起&#xff0c;腾讯云服务器61元一年&#xff0c;2核2G3M、2核4G、4核8G、4核16G、8核16G、16核32G、16核64G等配置价格对比&#xff0c;阿腾云atengyun.com整理阿里云和腾讯云服务器详细配…