搭建k8s集群实战(一)系统设置

1、架构及服务

Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性。

针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库的高可用性和Kubernetes Master组件的高可用性。

Master节点扮演着总控中心的角色,通过不断与工作节点上的Kubelet进行通信来维护整个集群的健康工作状态。如果Master节点故障,将无法使用kubectl工具或者API做任何集群管理。

Master节点主要有三个服务kube-apiserver、kube-controller-mansger和kube-scheduler,其中kube-controller-mansger和kube-scheduler组件自身通过选择机制已经实现了高可用,所以Master高可用主要针对kube-apiserver组件,而该组件是以HTTP API提供服务,因此对他高可用与Web服务器类似,增加负载均衡器对其负载均衡即可,并且可水平扩容。
请添加图片描述

2、组件说明

APIserver:所有服务访问统一入口
controllerManager:维护副本的期望数目
scheduler:负责介绍任务,选择合适节点接受任务
ETCD:键值对数据库,存储K8S集群重要信息(持久化)
Kubectl :实现容器生命周期管理
Kubectl proxy:写入规则至ipvs
Coredns:可以为集群中的SVC创建一个A记录
Dashboard:B/S结构的访问体系
Ingress:官方实现的是4层代理,ingress实现的是7层代理(域名,主机名)
Federation:跨K8S集群调用

3、IP地址规划

高可用K8S集群为避免脑裂一般采用如三、五、七等奇数个mater节点,首先要有一个 master 节点,可以先将单一节点集群构建完毕,然后再让其他服务器加入组成三个master 节点高可用,然后再以工作节点 Node 加入。此文档为全新构建。

地址主机名内存&CPU角色
10.208.1.190————vip
10.208.1.191k8s-master-012C & 4GMaster01
10.208.1.192k8s-master-022C & 4GMaster02
10.208.1.195k8s-master-032C & 4GMaster03
10.208.1.196k8s-node-012c & 4GNode01
10.208.1.198k8s-node-022c & 4GNode02
# 都开通直通上网,方便拉去镜像。

4、操作系统内核版本

#cat /etc/redhat-release 
CentOS Stream release 8

5、修改hosts【所有节点】

必须配置,否则结点与master无法通讯

#cat >> /etc/hosts << EOF
10.208.1.190    master.k8s.io      k8s-vip
EOF

6、修改hostname【各节点依次操作】

修改 10.208.1.191 服务器

#hostnamectl  set-hostname  k8s-master-01

修改 10.208.1.192 服务器

#hostnamectl  set-hostname  k8s-master-02

修改 10.208.1.195 服务器

#hostnamectl  set-hostname  k8s-master-03

修改 10.208.1.196 服务器

#hostnamectl  set-hostname  k8s-node-01

修改 10.208.1.198 服务器

#hostnamectl  set-hostname  k8s-node-02

7、关闭防火墙和selinux【所有节点】

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0

#注意以上语句的空格,复制到记事本粘贴,/etc前面有空格

8、关闭swap【所有节点】【必须】

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

9、设置系统【所有节点】

(1)针对于linux7以上,设置允许路由转发,不对bridge的数据进行处理

创建 /etc/sysctl.d/k8s.conf 文件

vim /etc/sysctl.d/k8s.conf

加入下面内容:

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

(2)挂载br_nebrtfilter

modprobe br_netfilter

持久化:

echo "br_netfilter" >> /etc/modules-load.d/modules.conf

(3)生效配置文件

sysctl -p /etc/sysctl.d/k8s.conf

sysctl命令:用于运行时配置内核参数
查看是否生成相关文件

ls /proc/sys/net/bridge

(4)资源配置文件

/etc/security/limits.conf 是 Linux 资源使用配置文件,用来限制用户对系统资源的使用,末尾加入

echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "* soft nproc 65536"  >> /etc/security/limits.conf
echo "* hard nproc 65536"  >> /etc/security/limits.conf
echo "* soft  memlock  unlimited"  >> /etc/security/limits.conf
echo "* hard memlock  unlimited"  >> /etc/security/limits.conf

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

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

相关文章

树的学习day01

树的理解 树是一种递归形式的调用 树是由于多个结点组成的有限集合T 树中有且仅有一个结点称为根 当结点大于1的时候&#xff0c;往往其余的结点为m个互不相交的有限个集合T1,…,Tm&#xff0c;每个互不相交的有限集合本身右是一棵树&#xff0c;称为这个根的子树 空树也是树 关…

选现货白银投资划不划算?

可以肯定的是选择现货白银投资是划算的&#xff0c;但投资者需要有足够的知识和经验&#xff0c;以及对市场的敏锐观察力。只有这样&#xff0c;投资者才能在现货白银投资中获取收益。在投资市场上&#xff0c;白银作为一种特殊的投资品种&#xff0c;一直以来都备受投资者们的…

JUC-CAS

1. CAS概述 CAS(Compare ans swap/set) 比较并交换&#xff0c;实现并发的一种底层技术。它将预期的值和内存中的值比较&#xff0c;如果相同&#xff0c;就更新内存中的值。如果不匹配&#xff0c;一直重试&#xff08;自旋&#xff09;。Java.util.concurrent.atomic包下的原…

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案 Redis的高性能是由于其将所有数据都存储在了内存中&#xff0c;为了使Redis在重启之后仍能保证数据不丢失&#xff0c;需要将数据从内存中同步到硬盘中&#xff0c;这一过程就是持久化。 Redis支持两种方式的持久化…

【51单片机】点亮第一个LED灯

目录 点亮第一个LED灯单片机 GPIO 介绍GPIO 概念GPIO 结构 LED简介软件设计点亮D1指示灯LED流水灯 橙色 点亮第一个LED灯 单片机 GPIO 介绍 GPIO 概念 GPIO&#xff08;general purpose intput output&#xff09; 是通用输入输出端口的简称&#xff0c; 可以通过软件来控制…

数据库查询练习

数据准备 #建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not null, ssex varchar(20) not null, sbirthday datetime, class varchar(20) ); #建立教师表 create table teacher ( tno varchar(20) not null primary…

仿真机器人-深度学习CV和激光雷达感知(项目2)day04【简单例程】

文章目录 前言简单例程运行小海龟仿真启动节点查看计算图发布 Topic调用 Serviece 用 Python 发布和接收 Topic创建工作空间创建功能包&#xff0c;编译编写 Topic Publisher 节点编写 Topic Subscriber 节点运行节点 自定义消息类型用 Python 注册和调用 Serviece新建功能包在…

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别 目录 分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类…

鸿蒙开发案例002

1、目标需求 界面有增大字体按钮&#xff0c;每次点击增大字体按钮&#xff0c;“Hello ArkTS”都会变大 2、源代码 Entry Component struct Page {textValue: string Hello ArkTSState textSize: number 50myClick():void{this.textSize 4}build() {Row() {Column() {//…

stm32 FOC 电机介绍

今年开始学习foc控制无刷电机&#xff0c;这几天把所学整理一下&#xff0c;记录一下知识内容。 前言: 为什么要学习FOC? 1.电机控制是自动化控制领域重要一环。 2.目前直流无刷电机应用越来越广泛&#xff0c;如无人机、机械臂、云台、仿生机器人等等。 需要什么基础&…

基于Springboot的大学生心理健康管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的大学生心理健康管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体…

MySQL安装及可视化工具SQLyog下载

编程如画&#xff0c;我是panda&#xff01; 最近学习Web开发的时候要用到数据库&#xff0c;一开始下载的ZIP版本的&#xff0c;还得修改配置文件&#xff0c;挺麻烦的&#xff0c;后来发现可以直接使用msi版的安装包疯狂next&#xff0c;所以就出一期教程。 前言 MySQL 是一…

Database__进阶

文章目录 &#x1f60a; 作者&#xff1a;Lion J &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_69252724?spm1000.2115.3001.5343 &#x1f389; 主题&#xff1a; 数据库mysql&#xff08;高级部分&#xff09; ⏱️ 创作时间&#xff1a;2024年01月24…

TortoiseSVN源码安装与迁移全攻略

一、前言 随着版本控制系统的普及&#xff0c;越来越多的开发者和团队开始使用SVN&#xff08;Subversion&#xff09;来管理代码。本文将详细介绍TortoiseSVN的源码安装及迁移过程&#xff0c;帮助您轻松掌握这一版本控制工具。 二、TortoiseSVN源码安装 依赖环境安装&…

thymeleaf常用语法大全

有时候需要借鉴别人的代码&#xff0c;发现一个相似的功能点&#xff0c;但是自己的是html页面别人的是jsp页面&#xff0c;那如果不了解thymeleaf的话还是要费点功夫的。 什么是thymeleaf&#xff0c;通俗点&#xff0c;jsp中的${},以及jstl中的if标签什么的都不能用&#xf…

使用 LlamaIndex 部署本地 Mistral-7b 大模型实现 RAG

原理 LlamaIndex的文档链接&#xff1a;Using LLMs - LlamaIndex &#x1f999; 0.9.33 LlamaIndex 的一般使用模式如下&#xff1a; 加载文档&#xff08;手动或通过数据加载器)将文档解析为节点构建索引&#xff08;来自节点或文档)&#xff08;可选&#xff0c;高级&…

2024年 IT 行业就业情况能否回春?很多人说道…

我只能说可以&#xff0c;以前我是看不到的。但是鸿蒙全栈自研让我重新看到希望&#xff01; 2024年1月18日&#xff0c;华为鸿蒙千帆启航发布会。讲到HarmonyOS NEXT作为原生鸿蒙&#xff0c;其系统底座全栈自研&#xff0c;去掉了传统的AOSP 代码&#xff08;“Android 开放…

【latex】在Overleaf的IEEE会议模板中,快速插入参考文献

【LaTeX】在Overleaf的IEEE会议模板中&#xff0c;快速插入参考文献 写在最前面第一步&#xff1a;在文献检索网站导出引用文献的bib文件第二步&#xff1a;编辑overleaf模版方法二&#xff1a;EduBirdie生成参考文献&#xff08;补充&#xff09;使用LaTeX在Overleaf的IEEE会议…

杰卡德距离(Jaccard Distance)

杰卡德距离&#xff08;Jaccard Distance&#xff09;&#xff0c;是用于衡量两个集合差异性的一种指标&#xff0c;它是杰卡德相似系数的补集&#xff0c;可以用来区分集合&#xff08;如知识图谱&#xff09;。 杰卡德相似系数 杰卡德相似系数&#xff08;Jaccard similari…

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;升级Notice类获得背包基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;3be017de38c50653b1…