Kubernetes安装总结
主要步骤
准备一台虚拟机k8s-centos7(2c4g),安装通用环境:CentOS docker kubelet kubeadm kubectl chrony
通过k8s-centos7克隆三台虚拟机:k8smaster、k8snode1、k8snode2
在k8smaster节点执行kubeadm init命令初始化集群
配置CNI网络插件
在k8snode1和k8snode2节点上执行 kubeadm join命令,把节点添加到当前集群
通过部署nginx进行测试
:::info
注意如果kubernetes出现故障需要重新安装的, 需要先执行kubeadm reset 然后才能init:::
基础的配置(虚拟机为例)基础步骤1、在VMware中新建虚拟机k8s-master(2c4g),安装CentOS 72、在VMware中输入root用户名和密码登录CentOS,修改网卡配置文件cd /etc/sysconfig/network-scripts/vi ifcfg-ens33需要修改的内容如下(IP地址第3个数字以本机VMware配 ...
一直在用的ipTables,你真的懂吗?
iptables介绍可能很多人向我一样, 用了这么多年的iptables但是连他是什么都不知道吧,更别提作用。 今天在学习kubernetes中, 在service和pod的流量转发中知道了ipvs(这个后续在介绍)。 然后通过ipvs延申学习, 发现自己一直用的时iptables, 但是自己确实云里雾里, 都不知道他是干什么的。 下面的笔记就简单的来学习一下吧。**概念: **iptables作为Linux系统中的一个重要组件,长期以来一直是网络管理员进行流量(ip信息包)过滤和防火墙配置的主要工具。既然是既然iptables是防火墙配置的主要工具, 同样他的作用是流量过滤, 那么防火墙我们知道是监控和控制进出网络的流量。 它的过滤级别是实例级别(以服务器为例, 就是一个服务器实例)。 所以, 当一个网络包要进入服务器实例的时候, 首先防火墙会拦下它, 然后按照过滤规则来筛选。 下面用一张图来解释
数据包到达linux主机网卡后,内核如何处理数据包
图片引用: https://www.cnblogs.com/huaweiyun/p/18021766
从上述中, 我们可以知道ipt ...
Kubernetes集群搭建(简易命令版)
集群搭建方案集群搭建
Kubernetes RUSH
基本概述Kubernetes是容器集群管理系统(简单来说就是一个开源的、用于管理云平台中多个主机的容器化应用),是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。(docker compose管理的是单机的, 并不是容器化的)
K8S的目标是: 让部署容器化的应用简单并且高效。k8s提供了应用部署、规划、更新、维护的一种机制。
几种不同时代的部署方式![image.png]/images/1710744258125-9bc0cf2f-ac2b-4da2-b0b1-1b63a0816fc4.png)
传统的部署方式是直接部署在操作系统上, 就像我们现在开发阶段一样, 直接将项目在操作系统上进行运行。 (但是存在的问题就是环境不隔离, 导致多个应用同时使用系统中的共享资源而发生的冲突问题。)
接着就进入了虚拟化的部署方式, 虚拟化技术允许你在单个物理服务器的 CPU 上运行多台虚拟机(VM)。 虚拟化能使应用程序在不同 VM 之间被彼此隔离,且能提供一定程度的安全性, 因为一个应用程序的信息不能被另一应用程序随意访问。
每个 VM 是一 ...
缓存穿透、雪崩、击穿三者如何解决
业务场景: 生活点评项目的商品缓存项目地址: https://github.com/Ray2310/Evaluate-System
商品缓存在客户端与数据库之间加上一个Redis缓存,先从Redis中查询,如果没有查到,再去MySQL中查询,同时查询完毕之后,将查询到的数据也存入Redis,这样当下一个用户来进行查询的时候,就可以直接从Redis中获取到数据
缓存模型和思路标准的操作方式就是查询数据库之前先查询缓存,如果缓存数据存在,则直接从缓存中返回,如果缓存数据不存在,再查询数据库,然后将数据存入Redis。
缓存的更新策略三种策略的比较
场景**低一致性需求: **使用内存淘汰机制,例如店铺类型的查询缓存高一致性需求: 主动更新,并且使用超时剔除作为兜底方案。例如店铺的详情查询
数据库和缓存不一致带来的问题
由于我们的缓存数据源来自数据库,而数据库的数据是会发生变化的,因此,如果当数据库中数据发生变化,而缓存却没有同步,此时就会有一致性问题存在,其后果是
用户使用缓存中的过时数据,就会产生类似多线程数据安全问题,从而影响业务,产品口碑等
那么如何解决这个问题呢?有如下 ...
ChatGPT模型请求参数学习
请求响应参数详情:
如果刚开始进行开发, 只用对必须携带的参数进行测试, 等项目熟练了之后再将所有的参数都进行测
查看可用的请求正文 : curl https://api.openai.com/v1/models \ -H “Authorization: Bearer $OPENAI_API_KEY”
请求正文参数(ChatCompletionRequest)请求url: POST https://api.openai.com/v1/chat/completions
messages (array,**必须)**:到目前为止对话中的消息列表。
12345有不同的消息对象, 一般的对话消息: 可以有三个参数,System、User、暂时只研究了Tool、Assistant、Function- content (string,必需):系统消息的内容。- role (string,必需):消息作者的角色,在这种情况下是system。- name (string,可选):参与者的可选名称。为模型提供区分相同角色参与者的信息。如果有其他的模型,
model (string,必须):要使 ...
初识Nginx
正向代理和反向代理的区别
简而言之,正向代理隐藏的是客户端,服务于客户端,而反向代理隐藏的是服务器,服务于服务器。
正向代理
服务对象:正向代理的服务对象是客户端。它允许客户端通过代理来访问互联网上的资源。正向代理代表客户端去获取信息。
使用场景:常用于客户端绕过网络限制(比如访问地理上受限的网站)、进行匿名访问、或在客户端和互联网之间提供缓存服务。
工作方式:客户端配置代理服务器,当客户端发送请求时,请求首先发送到正向代理服务器,然后代理服务器代表客户端向目标服务器发送请求,获取资源后再转发给客户端。
反向代理
服务对象:反向代理的服务对象是服务端。它接收互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给互联网上请求连接的客户端。
使用场景:常用于负载均衡、加密和SSL加速、缓存静态内容、压缩内容、减少服务器直接暴露在外的安全风险等。
工作方式:客户端对某个网站发起请求,反向代理服务器接收请求后,将请求转发到内部服务器,并将服务器的响应结果返回给客户端。对于客户端来说,它感觉就像是直接与反向代理服务器进行通信一样。
Nginx的常用功能Ng ...
2023,我这一年
写在前面
大家好 ,我是Rayce。
这篇文章是我对于自己在2023这一年经历的事,包括学习、生活上的一些事情的回忆和总结。
关于学习
关于写博客我想说
转眼2023年已经到年底了, 从开始正式的使用hexo来搭建博客网站到现在的写博客, 正好一年。 还记得当初最开始的时候 ,年初1.1号, 先是从自己曾经的CSDN和稀土掘金上的内容搬到这里, 然后再进行修改。接着就是总结每日的学习总结, 干了什么就写什么, 虽然内容看着很多, 但是我知道内容质量很低, 所以我就将自己在CSDN和稀土掘金上发布的文章全部删除, 因为我认为自己的水平并没有达到能够输出文章让别人阅读的地步。当然还有一个最重要的原因就是我认为自己在那种网站上写文章之后自己的心态完全发生了变化, 已经完全不是为了学习, 而是关注每天的文章阅读量、点赞量、转发量、收藏数等等。 这种虚荣心作祟的感觉让我不在沉醉于技术, 而是“妄想成名”。意识到这点之后我立马将里面的内容删除,账号注销, 内容全部搬到这里, 所以能够看到这篇文章的人应该是很少数的,我并未有过任何想要宣传的想法和行动。“花香蝶自来”这句话时刻指明着我前进的 ...
文件上传是如何实现的?
文件上传是程序开发中必不可少的一个环节,对于文件上传的实现也是千奇百怪。 但是上传的基本流程基本一致。这里我们大致学习一下。
大致流程就是:浏览器端提供了一个表单,在用户提交请求后,将文件数据和其他表单信息 编码并上传至服务器端,服务器端将上传的内容进行解码了,提取出 HTML 表单中的信息,将文件数据存入磁盘或数据库。
数据库中文件的表有哪些字段 ?数据库中的文件字段其实没那么复杂,就是简单的描述文件的基本信息, 以及文件的编码值(便于后面解码下载文件), 当然还有文件在服务器中存储的位置。这里是否删除和是否启用我们使用的类型是tinyint类型, 相信经常开发的同学应该是知道为什么使用吧。
数据名称
数据类型
数据描述
id
bigint(0)
主键
name
varchar(255)
文件名称
type
varchar(255)
文件类型
size
bigint(0)
大小
url
varchar(255)
文件路径
is_delete
tinyint(1)
是否删除
enable
tinyint(1)
是否启用
md5
varcha ...