网站建站方案说明书/建什么网站可以长期盈利
本次安装K8S版本为1.26.0
服务器环境配置
ip | 描述 | 配置 |
---|---|---|
192.168.233.221 | master节点 | CPU(2C) 内存(2G) 硬盘(50G) |
192.168.233.222 | node1节点 | CPU(2C) 内存(2G) 硬盘(50G) |
192.168.233.223 | node2节点 | CPU(2C) 内存(2G) 硬盘(50G) |
服务器环境配置准备
服务器环境配置三台服务器都要执行下面的操作
设置服务器主机名
#192.168.43.201服务器执行
hostnamectl set-hostname k8s-master
#192.168.43.202服务器执行
hostnamectl set-hostname k8s-node1
#192.168.43.203服务器执行
hostnamectl set-hostname k8s-node2
修改host文件解析域名
cat >> /etc/hosts << EOF
192.168.56.100 k8s-master
192.168.56.101 k8s-node1
192.168.56.102 k8s-node2
EOF
配置免密登录
#生成密钥,一路回车即可
ssh-keygen
#将本机密钥拷贝至目标服务器,实现免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-master
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-node1
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-node2
时间同步
yum -y install ntp ntpdate#时间服务器可以选择:ime.nist.gov、time.nuri.net、0.asia.pool.ntp.org、1.asia.pool.ntp.org、2.asia.pool.ntp.org、3.asia.pool.ntp.org中任意一个,只要保证可用就OK
tpdate 0.asia.pool.ntp.org#将系统时间写入硬件时间
hwclock --systohc
timedatectl
禁用iptables和firewalld服务
kubernetes和docker在运行中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则
# 1 关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
# 2 关闭iptables服务
systemctl stop iptables
systemctl disable iptables
禁用selinux
selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的奇葩问题
# 编辑 /etc/selinux/config 文件,修改SELINUX的值为disabled
# 注意修改完毕之后需要重启linux服务
SELINUX=disabled
# 永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config # 临时
setenforce 0
禁用swap分区
# vim /etc/fstab 分区配置文件,注释掉swap分区一行
# 注意修改完毕之后需要重启linux服务UUID=455cc753-7a60-4c17-a424-7741728c44a1 /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0
# /dev/mapper/centos-swap swap swap defaults 0 0
# 临时关闭swap
swapoff -a
# 永久关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
修改linux的内核参数
# 修改linux的内核参数,添加网桥过滤和地址转发功能
# 创建/etc/sysctl.d/kubernetes.conf文件,添加如下配置:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1# 重新加载配置
sysctl -p# 加载网桥过滤模块
modprobe br_netfilter# 查看网桥过滤模块是否加载成功
lsmod | grep br_netfilter
配置ipvs功能
# 1 安装ipset和ipvsadm
yum install ipset ipvsadmin -y# 2 添加需要加载的模块写入脚本文件
cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF# 3 为脚本文件添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules# 4 执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules# 5 查看对应的模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
重启服务器
reboot
Docker和cri-dockerd安装
三台服务器都要安装
- CRI是Kubernetes中定义的一种标准化接口,用于与容器运行时通信,并管理容器的创建、启动、停止和销毁等操作。K8S => cri-docker => docker
Docker安装参考博客:Centos安装docker
cri-dockerd安装:
#下载rpm包
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1-3.el7.x86_64.rpm
#创建路径
mkdir /usr/local/cri-dockerd
#移动安装包至文件夹下
mv cri-dockerd-0.3.1-3.el7.x86_64.rpm /usr/local/cri-dockerd
#安装rpm包
rpm -ivh cri-dockerd-0.3.1-3.el7.x86_64.rpm
#需要修改配置
vim /usr/lib/systemd/system/cri-docker.service#注释以下配置项
#ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://
#新增以下配置项
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7#修改后保存,然后重新加载,并配置cri-docker开机自启
systemctl daemon-reload
systemctl start cri-docker && systemctl enable cri-docker
K8S安装
配置k8s yum源
配置yum源为阿里源,提高安装速度
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装K8s
#安装文件
yum install -y kubelet-1.26.0 kubeadm-1.26.0 kubectl-1.26.0
#启动kubelet
systemctl enable kubelet
配置集群
Master节点执行初始化命令
#注意 192.168.233.221需要改成自己服务器的ip
kubeadm init \--apiserver-advertise-address=192.168.233.221 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.26.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--cri-socket=unix:///var/run/cri-dockerd.sock \--ignore-preflight-errors=all
#执行后稍等片刻,K8s会输出一大串提示,告诉你如果想要使用集群,需要把配置文件放到家目录下
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#上面这三个命令必须执行,不让会提示权限问题。#init后还会输出各节点join时的命令,从节点加入时通过改命令加入
kubeadm join 192.168.226.128:6443 --token b3n3vs.kopnhfh0r34j7yl4 \
--discovery-token-ca-cert-hash sha256:b3562644ef3bf180939252c79157c96850c6fa1db5dcee0f1889156508730fb9
从节点加入集群
#注意要制定cri-docker.sock的地址
kubeadm join 192.168.226.128:6443 --token b3n3vs.kopnhfh0r34j7yl4 \
--discovery-token-ca-cert-hash sha256:b3562644ef3bf180939252c79157c96850c6fa1db5dcee0f1889156508730fb9 \
--cri-socket=unix:///var/run/cri-dockerd.sock
安装容器网络插件
kubernetes支持多种网络插件,比如flannel
、calico、canal等等,任选一种使用即可,本次选择flannel
#master节点安装 获取fannel的配置文件,这个文件是外网的,如果下载不下来可以用下面提供的文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 使用配置文件启动flannel
kubectl apply -f kube-flannel.yml
执行完 kubectl apply后可以通过 kubectl get pods -A 查看pods是否创建成功,这里需要多等待下,等到pods的状态都为就绪状态就表示安装成功了。
#稍等片刻再次查看集群状态
kubectl get nodes
K8S卸载
#1、停止相关服务
systemctl stop kubelet
systemctl stop etcd
systemctl stop docker#2、卸载k8s
kubeadm reset -f#3、删除k8s相关目录
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd#4、卸载k8s相关程序
yum -y remove kube*#5、更新镜像
yum clean all
yum -y update
yum makecache
附件
kube-flannel.yml
cri-dockerd安装包:后缀更改为rpm即可
cri-dockerd-0.3.1-3.el7.x86_64.txt
相关文章:

KubeAdmin方式搭建K8S(1.26.0)
本次安装K8S版本为1.26.0 服务器环境配置 ip描述配置192.168.233.221master节点CPU(2C) 内存(2G) 硬盘(50G)192.168.233.222node1节点CPU(2C) 内存(2G) 硬盘…...

代码随想录打卡—day57—【编辑距离】— 9.2+9.3 编辑距离系列
1 647. 回文子串 647. 回文子串 纯暴力解法,应该是O(n^3),居然AC了: class Solution { public:int countSubstrings(string s) {// 暴力int cnt 0;cout << s.substr(1,1);for(int i 0; i < s.size();i){…...

Blender界面学习03 原点、鼠标所在位置的缩放与旋转
物体的坐标原点可以移动 放大缩小时默认是屏幕中央,修改为鼠标在哪儿就缩放哪儿 默认旋转时围绕屏幕的中心 可以修改为指定对象旋转...

指针结构体题
目录 初阶指针_指针的概念 1.使用指针打印数组内容 2.字符串逆序 3.整形数组和字符串数组 4.打印菱形 5.打印水仙花数 6.计算求和 结构体 7.喝汽水问题 8.程序死循环解释 9.选择题总结tips 今天是重点是指针&结构体题题目。🆗🆗&#x…...

【力扣每日一题02】数组篇--删除有序数组中的重复项
一、题目 给你一个 升序排列 的数组 nums , 请你原地删除重复出现的元素,使每个元素 只出现一次 返回删除后数组的新长度。 元素的 相对顺序 应该保持 一致 。 然后返回 nums 中唯一元素的个数。 二、思路解析 这道题要用到 “双指针” 的概念&…...

Vue在表格中拿到该行信息的方式(作用域插槽-#default-scope-解决按钮与行点击的顺序问题)
遇到的问题 在做表格的时候,表格是封装好了的,用于展示数据。如果想给单行增加按钮,可以单独写一列存放按钮,最基本的需求是,点击按钮后要拿到数据然后发起请求。 且Vue的element-plus,当我们点击按钮之后…...

OJ练习第158题——单词拆分 II
单词拆分 II 力扣链接:140. 单词拆分 II 题目描述 给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。 注意:词典中的…...

ArcGIS地块面积分割调整工具插件
地块分割调整工具可以实现将选定的图斑按照面积比例或者指定的面积,分割成多个图斑。 各个图斑的面积用逗号分隔,比例分割设置时,用整数表示。 面积分割时,最后一个图斑的面积可以不写,插件可以自动计算图斑的面积&a…...

基于Matlab实现多个图像增强案例(附上源码+数据集)
图像增强是数字图像处理中的一个重要步骤,它通过一系列的算法和技术,使图像在视觉上更加清晰、明亮、对比度更强等,以便更好地满足人们的需求。在本文中,我们将介绍如何使用Matlab实现图像增强。 文章目录 部分源码源码数据集下载…...

计算机网络 概述部分
目录 计算机网络在信息时代的作用 计算机网络的重要特征 网络,internet,Internet的区别 局域网 广域网的区别 网络协议的分层 计算机网络在信息时代的作用 计算机网络的重要特征 连通性:彼此联通,交换信息 共享性:信息共享…...

使用DOSBOX运行TurboC2,TC2使用graphics库绘图
Turbo C是由美国Borland公司开发的一套C语言程序开发工具,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套Turbo系列软件,如Turbo BASIC、Turbo Pascal、Turbo Prolog,这些软件很受用户欢迎 [1] 。 Turbo C集成了程序…...

OpenCV(二):认识Mat容器
目录 1.什么是Mat类 2.Mat类能存储的数据 整数类型(有符号和无符号): 浮点数类型: 布尔类型: 3.Mat类的创建 1.利用矩阵宽、高和类型参数创建Mat类 2.利用矩陈Size(结构和数据类型参数创建Mat类 3.利用已有Mat…...

springboot整合Excel填充数据
填充一组数据 准备模板 封装数据 import java.util.ArrayList; import java.util.List;/*** 使用实体类封装填充数据** 实体中成员变量名称需要和Excel表各种{}包裹的变量名匹配*/ Data public class FillData {private String name;private int age;// 生成多组数据代码pub…...

c语言技术面试记录 ---- 纲要、题目、分析及给分标准
纲要 作为一个面试官,除了编程类的问题,你还可以考虑问一些关于技术知识、项目经验、解决问题能力和团队合作等方面的问题,以全面评估应聘者的能力和适应性。以下是一个可能的提问逻辑和大纲,供你参考: 技术知识和基…...

前端进阶之——模块化
在做项目的时候越来越发现模块化的重要性,做好模块化开发不仅给后期的维护带来不少好处而且大大提升项目开发效率,接下来整理一下模块化相关知识吧。 模块化开发的优点 封装方法、提高代码的复用性、可维护性和可读性隔离作用域,避免污染全…...

Python爬虫抓取表情包制作个性化聊天机器人
在现代社交媒体和即时通讯应用中,使用表情包已经成为一种流行的沟通方。本文将介绍如何利用Python编写一个简单而有趣的聊天机器人,并通过爬虫技术来抓取各类表情包,使其具备个性化特点。 1.确定需求与功能 -定义聊天机器人需要实现哪…...

使用pip命令安装库,装到其他环境中的问题。
问题描述:我们在pycharm中创建了新的虚拟环境,但是在其终端使用Pip命令安装库时,发现库却安装到了其他conda创建的环境中。图示安装gym库,刚开始安装到了其他地方,第二次正确安装。 原因分析:安装库时&…...

如何使用CSS实现一个带有动画效果的进度条?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTML 结构:⭐ CSS 样式:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那…...

uni-app 报错 navigateTo:fail page “/pages/.../...“ is not found
这个错误的意思是:识别不到该页面 错误可能一:没有在 pages.json【微信小程序是 app.json】中定义该页面的路径 如: pages.json "pages": [{"path": "pages/index/index" }, {"path": "pag…...

【unity插件】使用BehaviorDesigner插件制作BOSS的AI行为树
文章目录 前言素材插件一、基础使用二、敌人物理攻击三、敌人面向玩家四、敌人法术攻击五、随机进行攻击六、敌人不同的阶段推荐学习视频源码完结 前言 Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化…...

概念解析 | 量子机器学习:将量子力学与人工智能的奇妙融合
注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:量子机器学习。 量子机器学习:将量子力学与人工智能的奇妙融合 量子增强机器学习:量子经典混合卷积神经网络 量子机器学习是量子计算和机器学习的结合,它利用量子力学的特…...

【Cortex-M3权威指南】学习笔记4 - 异常
目录 实现 CM3流水线CM3 详细框图CM3 总线接口总线连接模板 异常异常类型优先级定义优先级组 向量表中断输入于挂起NMI中断挂起 Fault 类异常总线 faults存储器管理 faults用法 faults SVC 与 PendSV 实现 CM3 流水线 CM3 处理器使用 3 级流水线,分别是:…...

RISC-V(2)——特权级及特权指令集
目录 1. 特权级 2. 控制和状态寄存器(CSR) 2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程(hart)是运行在某个特权级上的,这个特权级被编码到一个或者多个 CSR(control and status register&a…...

Linux——常用命令大汇总(带你快速入门Linux)
纵有疾风起,人生不言弃。本文篇幅较长,如有错误请不吝赐教,感谢支持。 💬文章目录 一.终端和shell命令解析器终端和shell命令解析器概述终端提示符的格式常用快捷键 二.Linux命令格式帮助文档:man 三.目录基础知识Wind…...

记录 使用 git 克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
解决方法: 1. 新建空文件夹->右键->点击 Git Bash Here2. 输入 cd C:3. 输入 cat ~/.ssh/id_rsa.pub4. 输入 ssh-keygen重复回车,生成一个矩形,则说明公钥已经生成了。重复步骤3,生成publickey,右键…...

kafka---- zookeeper集群搭建
1.准备工作: ##准备3个节点,要求配置好主机名称,服务器之间系统时间保持一致 ##注意/etc/hostname 和/etc/hosts 配置主机名称(在这个里我准备Prac-zk-133, Prac-zk-134 , Prac-zk-135二节点) vim /etc/hosts #保证可以通过主机名互通 添加格式为IP 主…...

linux安装firefox
1.下载对应包 https://www.mozilla.org/en-US/firefox/all/#product-desktop-release 2. 挂载桌面链接(如果/usr/bin/firefox下有的话,先删除) ln -s /opt/firefox/firefox /usr/bin/firefox 3.执行以下命令,即可启动Firefox客户端: firefox...

【MySQL】基础语法总结
MySQL 基础语句 一、DDL 数据库定义语言 1.1CREATE 创建 1.1.1 创建数据库 语法结构 CREATE DATABASE database_name;示例 CREATE DATABASE demo;1.1.2 创建表 语法结构 CREATE TABLE 表名 (列1 数据类型,列2 数据类型,... );示例 CREATE TABLE new_user (id INT PRIMARY KE…...

【玩玩Vue】使用el-menu作为菜单时,通过一二级路由控制菜单高亮
原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、Vue路由二、路由一级控制高亮(常用)1.vue中路由文件2.网址样式3.Vue文件4.$route的内容 三、路由二级控制高亮…...

9.2 【C语言】使用结构体数组
一个结构体变量中可以存放一组有关联的数据(如一个学生的学号、姓名、成绩等数据),如果有10个学生需要参加运算,显然应该用数组,这就是结构体数组。 9.2.1 定义结构体数组 例9.3 有三个候选人,每个选民只…...