- 博客(123)
- 收藏
- 关注
原创 k8s学习之路 | Day17 k8s 工作负载
官方参考链接:https://kubernetes.io/docs/concepts/workloads/podsPodcontainers工作负载是在 k8s上运行的应用程序相对来说,一个应用程序又很复杂,可能由一个或者多个组件共同协同完成,这种情况我们都可以用一组Pod来表示一个应用,也就是一个工作负载之前我们学到的内容来看,Pod遵循预定义的生命周期,如果Pod所在节点出现致命错误,该节点上所有的Pod状态都会失败,即使这个节点恢复正常了,也是需要创建新的Pod来恢复应用打个比方。
2023-02-28 21:03:12
913
原创 k8s学习之路 | Day16 k8s 中的容器初探
k8s 集群中最小的管理单元就是一个Pod,而Pod里面才是容器,但是容器里面到底应该怎么写yaml呢?这个就是我今天学习的目标Pod。
2023-02-27 17:18:11
1507
原创 负载均衡:LVS 负载调度原理
数据包走向原理说明:客户端请求数据包报文源地址和目标地址:CIP、VIP负载均衡将客户端请求数据包报文的源 MAC 地址改为自己 DIP 的 MAC 地址,目前 MAC 地址改为 RIP 的 MAC 地址,并将这个数据包发送给后端服务器后端服务器和负载均衡服务器只能在一个局域网内,不能跨 VLAN后端服务器直接获取的是客户端的源IP地址后端服务器发现请求的数据包报文中的目标地址的 MAC 是自己,就接收了这个数据包,由于数据包的 MAC 地址被修改,因此后端服务器需要在 lo 网口绑定 VIP,处理完报文后
2023-02-26 10:50:13
1055
原创 k8s学习之路 | Day15 k8s 中的 yaml 语法
来自百度百科的定义:YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
2023-02-25 20:59:52
1351
原创 k8s学习之路 | Day14 有关 k8s 弃用 Docker
CRI 是一个插件接口,它使 kubelet 能够使用各种容器运行时,你需要在集群中的每个节点上都有一个可以正常工作的容器运行时, 这样 kubelet 能启动 Pod 及其容器。容器运行时接口(CRI)是kubelet 和容器运行时之间通信的主要协议。
2023-02-24 14:36:05
801
2
原创 k8s学习之路 | Day13 k8s 模板插件和命令补全
在 Shell 中导入(Sourcing)补全脚本,将启用 kubectl 自动补全功能。我们可以借助 vscode 的插件来快速生成一个 K8S 资源的模板 yaml 文件。kubectl 的 Bash 补全脚本可以用命令。然而,补全脚本依赖于工具。
2023-02-23 12:21:51
1846
原创 k8s学习之路 | Day12 k8s 对象(二)
标签(Labels) 是附加到 Kubernetes 对象(比如 Pod)上的键值对旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义标签可以用于组织和选择对象的子集标签可以在创建时附加到对象,随后可以随时添加和修改每个对象都可以定义一组键/值标签。每个键对于给定对象必须是唯一的为对象附加任意的非标识的元数据客户端程序(例如工具和库)能够获取这些元数据信息有助于识别对象信息。
2023-02-22 12:56:53
442
原创 负载均衡:LVS 入门知识
LVS (Linux Virtual Server 的简称),意为 Linux 虚拟服务器。由国人章文嵩博士发起的一个开源项目,是中国官网地址:http://www.linuxvirtualserver.org/Linux 标准内核的一部分,Linux 2.4 之前,必须重新编译内核才能支持通过 LVS 达到的负载均衡技术实现的 Linux 服务器集群,有良好的可靠性、可扩展性、可操作性等优点LVS 架构逻辑可分为调度层Server 集群层共享存储层。
2023-02-21 08:50:47
379
原创 k8s学习之路 | Day11 k8s 对象(一)
名称空间作用域仅针对带有名称空间的对象,例如 Deployment、Service 等, 这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。用于区分多次创建的同名对象(如前所述,按照名字删除对象后,重新再创建同名对象时,两次创建的对象 name 相同,但是 UID 不同。通过创建对象,你就是在告知 Kubernetes 系统,你想要的集群工作负载状态看起来应是什么样子的, 这就是 Kubernetes 集群所谓的。
2023-02-20 16:00:18
436
原创 Firewalld 防火墙浅析(一)
与Linux系统中其他的防火墙策略配置工具一样,使用firewalld配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且会随着系统的重启而失效。则管理入口,firewalld 自身并不具备防火墙的功能,而是和 iptables 一样需要通过内核的 netfilter 来实现,也就是说 firewalld 和 iptables 一样,他们的作。出站或入站必须经过的安检门,有的严格、有的宽松、有的检查细致、有的检查粗略。firewall-cmd --reload**命令。
2023-02-18 17:06:20
304
原创 k8s学习之路 | Day10 Dashboard 部署
Dashboard 是基于网页的 Kubernetes 用户界面。你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。
2023-02-17 20:15:00
439
原创 k8s学习之路 | Day9 初识声明式 API
之前总听说什么声明式 API ,一直不知道是什么玩意,但是 k8s 有一个核心,赖以生存的一个东西,就是这个【声明式API】
2023-02-16 19:30:00
473
1
原创 k8s学习之路 | Day8 k8s 入门操作(二)
咱接着入门操作进行,今天主要学习一下在 k8s 环境中,如何实现外部访问等操作上一天,知道了如何进行部署,以及部署的一些简单细节,复习了一些常用的命令,我现在部署一个 nginx。
2023-02-15 20:00:00
315
原创 Rsync 文件同步(四):实时同步 Rsync + Lsyncd
Lsyncd 旨在将缓慢变化的本地目录树同步到远程镜像。Lsyncd 对于将数据从安全区域同步到不太安全的区域特别有用。Lsyncd 使用文件系统事件接口(inotify 或 fsevents)来监视对本地文件和目录的更改。整理文件系统时事件性能好,会以1个或者多个进程同步到目标服务器的文件系统中。官网地址:https://lsyncd.github.io/lsyncd/客户端需要配置 daemon 服务(文件同步过来存放的服务器),博文中有有更详细的应用场景和示例。是一种轻量级的实时镜像解决方案。
2023-02-15 14:21:22
1183
原创 Rsync 文件同步(三):实时同步 Rsync + Sersync
这个模式安装配置也不难,但是没有经过实际性能测试,不知道在大文件下同步效率如何整个流程也可以封装成一个 shell 脚本,这样可以快速拿到其他环境去用,后面可以搞一下。
2023-02-15 11:54:03
1364
原创 k8s学习之路 | Day7 k8s 入门操作(一)
我之前按照官方的minikube流程走了一遍,现在是我自己搭建的 k8s 环境,加深一下命令操作的印象和基础操作,反正学习也就是反反复复才能记得牢固。
2023-02-14 13:56:34
308
1
原创 k8s学习之路 | Day6 kubeadm 引导 k8s 集群
使用kubeadm准备好服务器,让他们网络互通每台服务器初始化环境安装好 docker 环境,不过后面版本好像已经不能用 docker 环境,这个明天我在详细学习一下每台服务器装好必备的组件(kubeadm、kubelet、kubectl)准备好对应版本的控制面板组件的镜像(这个可能因为网络原因,有时候很难下载下来)直接使用和创建集群。
2023-02-13 16:13:44
333
原创 Rsync 文件同步(一):系统基本操作
第一个路径参数一定是源文件路径,即作为同步基准的一方,可以同时指定多个源文件路径。最后一个路径参数则是目标文件路径,也就是待同步方。路径的格式可以是本地路径,也可以是使用user@host:path或user@host::path的远程路径,如果主机和path路径之间使用单个冒号隔开,表示使用的是远程shell通信方式,而使用双冒号隔开的则表示的是连接rsync daemon。另外,连接rsync daemon时,还提供了URL格式的路径表述方式rsync://user@host/path。
2023-02-13 11:17:21
1209
原创 k8s学习之路 | Day5 kubernetes架构原理
云控制器管理器(Cloud Controller Manager)允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。容器运行时接口(Container Runtime Interface),CRI 中定义了容器和镜像的服务的接口,因为容器运行时与镜像的生命周期是彼此隔离的,因此需要定义两个服务。负责运行控制器进程,从逻辑上讲, 每个控制器都是一个单独的进程, 但是为了降低复杂性,它们都被编译到同一个可执行文件,并在同一个进程中运行。
2023-02-12 10:48:30
682
5
原创 k8s学习之路 | Day4 跟着官方使用 Minikube 操作应用
到现在为止,我们实验了通过 Deployment 创建 Pod,然后利用 Service 实现开放访问扩缩容是通过改变 Deployment 中的副本数量来实现的实现概述图:扩展 Deployment 将创建新的 Pods,并将资源调度请求分配到可用资源的节点上收缩将会改变 Pods 的数量,减少到所需的状态,收缩到0也是可以的,会终止所有已经部署的 Pods。
2023-02-11 12:22:29
488
原创 k8s学习之路 | Day2 来自Minikube的折磨
官网地址:https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/minikube 是一种轻量级的 Kubernetes 实现,可在本地计算机上创建 VM 并部署仅包含一个节点的简单集群。我在自己的本地虚拟机实在搞不定这个minikube拉取镜像的问题了,我直接在我的云主机上面操作了。官网地址:https://minikube.sigs.k8s.io/docs/start/我习惯新建的虚拟机安装后做一个快照备份,
2023-02-09 20:00:00
919
原创 k8s学习之路 | Day1 kubernetes基础概念入门
kubernetes是一个生产级别的容器编排系统,是用于自动部署、扩缩和管理容器化应用程序的开源系统。将组成应用程序的容器组合成逻辑单元,便于管理和服务发现星际尺度处处适用:本地测试、跨国公司,具有灵活性永不过时,可以自由地部署在企业内部、私有云、混合云、公有云kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。kubernetes拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
2023-02-08 20:00:00
340
原创 ceph状态报:pgs not deep-scrubbed in time
scrubbed 功能用于 PG,是为了检测 PG 分布到各 osds 上的数据是否一致,deep-scrubbed 的检测模式除了检测数据的元数据信息外,还会检测数据的内容是否一致,速度较慢且消耗磁盘读取,一般设置在晚上进行scrubbed ,如果超过了设定时间,若有PG未进行deep-scrubbed,就会报警了。**先查看哪些PG需要deep-scrubbed **
2023-02-08 12:12:45
5448
2
原创 Elasticsearch 笔记 |快速使用
第13行,确切来说,默认情况下,hits.total.value是不确切的命中计数,在这种情况下,当hits.total.relation的值是eq时,hits.total.value的值是准确计数。更新文档:并不是就地更新,而是删除旧的文档,然后索引一个新的文档,但对我们程序调用来说,只调用一次,由于底层数据结构决定了所有的更新操作都是先删除就文档,再插入一条新的文档,和关系型数据库不一样,无法做到字段级别的更新。从某种意义上说,这是非常强大和高效的,可以同时运行和查询多个聚合,并一次。
2023-02-07 15:50:43
553
原创 Elasticsearch 笔记 | 入门概念
百度百科:Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。
2023-02-07 15:47:42
177
原创 iptables 防火墙笔记(二)
为什么还需要自定义链?默认链中如果规则太多,不方便我们管理实际比方一下我们可以通过-N选项创建一个自定义链我们来创建一个关于 web 相关的链可以看到创建了一个自定义链,引用计数为0,要引用了才能使用在自定义链中创建一些规则引用一下这个链从192.168.204.101 尝试通过 ssh 登录一下从下面的比方可以看出来,登录不了,所以上述的规则意思就是:通过22端口过来的时候匹配交给 IN_WEB 链去处理,自定义链是拒绝了源地址是192.168.204.101的访问如何删除自定义链使用-X。
2023-02-07 15:08:49
868
原创 iptables 防火墙笔记(一)
扩展模块:-m tcp 表示使用 tcp 扩展模块,上述省略了( iptables 默认会调用与 -p 选项对应的协议名称相同的模块);-p tcp与 -m tcp 并不冲突,-p 用于匹配报文的协议,-m 用于指定扩展模块的名称,正好,这个扩展模块也叫 tcp。请看下面:要注意看表名和链名呢,是有关系的,在什么点进行规则设置,才能有效的拦截,虽然有时候我也要去前面翻翻,记不住。这个工具是属于一种包过滤的软件防火墙,它是免费的,不要钱,就很nice。请看下面:阻止了回环网卡的流量(我也不知道说的对不对)
2023-02-07 15:06:50
922
原创 标准分区的磁盘扩容
从以往的经验来看,LVM分区更有利于扩容操作,标准分区没有尝试过,印象中是不支持扩容操作的,但是网上也有教程说是能够扩容,因此有了这条记录来验证是否支持扩容?的输出类似于这种磁盘下直接一个小分区挂载使用的,就是非LVM管理。而LVM分区管理则不一样。某项目环境需要扩容一下。
2023-02-06 21:02:49
457
1
原创 vsftpd 文件服务器搭建
全称:Very Secure FTP(是一个非常安全的FTP软件)来自百度百科的简介:vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
2023-02-06 18:14:40
2230
原创 Smba文件共享快速搭建
客户端访问samba共享时所使用的账户名称就是服务器操作系统中真实存在的系统账号,但是访问samba共享的密码必须是独立于系统的samba密码,安装好samba软件后,默认会将账户与密码文件存放在/var/lib/samba/private/下。无法写入文件:可以看一下服务器的目录权限,修改一下应该就可以了。我们就在本机上测试,作为客户端,我们需要安装。我们就在本机上演示一下挂载samba共享。
2023-02-06 15:42:42
2762
原创 基于ip+https内网harbor镜像仓库的实现参考
harbor离线包:https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
2023-02-05 22:23:39
543
原创 Redis系列六 | 缓存穿透和雪崩
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面,但同时也会带来一些问题,其中,最要害的就是数据的一致性问题,从严格意义上来讲,这个问题无解,如果对数据一致性要求较高的,那么就不能使用缓存。在即将发生大并发访问前手动触发加载缓存不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀。缓存击穿是指一个key非常热点,在不停的扛着大并发, 大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就会穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。
2023-02-05 00:25:16
110
原创 Redis系列五 | 主从复制和哨兵模式
主从切换技术的方式是:当主服务器宕机后,需要手动把一台服务器切换为主服务,这就需要人工干预,费时费力,还会造成一段时间内服务不能使用。这不是一种推荐的方式,更多的是我们考虑哨兵模式,Redis从2.8开始正式提供Sentinel(哨兵)架构来解决这个问题。能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,是一个独立的进程,作为进程,它会独立运行。原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
2023-02-05 00:22:32
291
原创 Redis系列四 | 持久化和发布订阅
以日志的形式来记录每个操作,将redis执行过的所有指令记录下来(读操作不会记录),只许追加文件但不可改写文件,redis启动之后会读取文件重新构建数据,换言之,redis重启的话根据日志文件的内容将写指令从前到 后执行一次以完成数据的恢复工作。AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以Redis协议追加保存每次写的操作到文件末尾。(俺也不懂C,俺也不是开发,咋整)如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式.。
2023-02-05 00:19:11
370
原创 Redis系列三 | 配置文件和事务
乐观锁:很乐观,任务任何时候都不会出现问题,所以不会上锁,更新数据的时候去判断一下,在此期间,是否有人修改过这个数据,mysql用的version字段!持久化,在规定的时间内,执行了多少次操作,则会持久化到文件,.rdb .aof,如果没有持久化,那么数据就会断电及失。Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,事务执行中,按照顺序执行。认为任何时候都会出现问题,无论做什么都加锁,影响性能。Redis单条命令保证原子性,但是事务不保证原子性!启动时候就是通过配置文件来启动的。
2023-02-05 00:17:08
201
原创 Redis系列二 | 数据类型和基础知识
它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。核心:Redis是将所有数据放在内存中的,所以说使用单线程去操作效率就是最高的,因为多线程会产生CPU上下文切换,消耗时间的操作,对于内存系统来说,没有上下文切换,效率就是最高的,多次读写都是在一个CPU上的。高性能服务器一定是多线程的?
2023-02-05 00:12:32
121
原创 Redis系列一 | 入门概述与安装
单机mysql时代:90年代,一个基本的网站访问量不会太大,单个数据库足够!更多的使用静态网页html数据量太大,一个机器放不下数据的索引,一个机器的内存也放不下访问量太大,读写混合,性能问题memcached(缓存)+mysql+读写分离(垂直拆分)网站百分之80情况都是在读,每次都要去数据库查询太麻烦,减轻数据库的压力,可以使用缓存来保证效率(Cache)-------解决读的问题发展过程:优化Mysql底层结构和索引–>文件缓存(IO操作)—>Memcached 当时最热门的技术。
2023-02-05 00:08:07
306
RockyLinux8.6操作系统的openssh9.4p1的离线RPM升级包
2023-09-02
centos7.9最小化系统 基础软件离线RPM包(gcc gcc-c++ make等等)
2023-02-05
k8s 静态Pod不自动启动的问题
2023-03-02
NFS客户端修改同时发起的NFS请求数量,真的能提高NFS性能吗?
2023-02-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅