Deployment容器编排?怎么编排
工作负载在上一章中, 我们简要的了解了工作负载的作用及其概要, 在这章节的学习中 , 在学期容器编排之前 , 让我们来再加深一下对工作负载的理解。
在Kubernetes中,工作负载是对一组Pod的抽象模型,用于描述业务的运行载体。这些工作负载类型帮助用户定义和管理他们的应用程序,确保它们在容器化环境中高效运行。
借用我阅读的过的文章的一个图, 来表示一下工作负载到底再干什么?
从图中清晰明了的看到,工作负载管理者一组pod ,而pod其实是一组或者一个容器的集合。 所以说, 工作负载是一组pod的抽象模型。
Deployment是一种工作负载,在Kubernetes中用于描述期望的状态。具体来说,Deployment是用于部署、扩展和管理Pod的API对象,它代表用户期望的Pod集合的状态。
为什么要有工作负载?为了减轻用户的使用负担,通常不需要用户直接管理每个 Pod。 而是使用负载资源来替用户管理一组 Pod。 这些负载资源通过配置 控制器 来确保正确类型的、处于运行状态的 Pod 个数是正确的,与用户所指定的状态相一致。这就是我前面所说的工作负载代表用户期望pod的状 ...
Kubernetes的pod解析
容器、镜像、Pod三者的关系
在正式学习pod这个概念之前, 我想先和读者共同学习一下容器、镜像、pod这几个我们在云原生环境中经常听到的名词的概述, 以及他们三者之间究竟有者怎么样的关联关系, 使得我们在云原生中常常用到。
镜像——部署项目的基石定义:容器镜像是一个只读的模板,包含了运行应用程序所需的所有代码、运行时库、环境变量和配置文件等。它是一个特殊的文件系统,用于提供容器运行时所需的程序、库、资源、配置等文件,并包含了一些为运行时准备的一些配置参数作用:在制作镜像时 , 常常用到的就是Docker技术 。制作成的镜像使得应用程序及其依赖项可以在不同的环境中进行部署和运行, 无需担心环境问题而导致的问题。它是创建容器的起点,通过在镜像上添加一个可写层,容器可以在镜像的基础上进行变化,而不会影响到原始镜像 , 其实对于相关的配置文件在现网中不是打包到镜像中的,而是通过环境变量的方式读取的, 这就是在可写层执行的一个实例。
容器——应用运行的实例定义:容器是Docker的核心概念之一,是一个独立运行的应用程序及其所有运行时依赖项的轻量级、可执行单元。它与镜像几乎一模一样,区别在于 ...
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 ...