![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux相关
文章平均质量分 81
Linux学习入门,Linux网络安全相关
dumplings。
本人的文章仅用于信息安全教学,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与UP主无关。遵纪守法做一个良好公民,切勿违法国家计算机安全法,以免牢底坐穿。
展开
-
Trojan搭建教程
我在搭建时候遇到最大的问题就是镜像源,第一次update用下面的镜像源sudo vi /etc/yum.repos.d/CentOS-Base.repo,写入如下内容。原创 2024-08-20 17:49:10 · 307 阅读 · 0 评论 -
Windows安装linux子系统
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。原创 2024-07-14 10:01:24 · 277 阅读 · 0 评论 -
Prometheus介绍和安装
6)Web UI:Prometheus内置一个简单的Web控制台,可以查询指标,查看配置信息或者Service Discovery等,实际工作中,查看指标或者创建仪表盘通常使用Grafana,Prometheus作为Grafana的数据源;在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。总之,通过使用Prometheus exporter,你可以方便地监控应用程序的性能、资源利用率和其他重要指标。原创 2023-12-23 22:13:42 · 1086 阅读 · 0 评论 -
在k8s中使用Helm安装harbor并将Chart推送到私有仓库harbor
注意,harbor从2.8.0开始已经不支持chartmuseum了,而是改为了OCI ,鉴于新版本不太成熟和使用人太少,所以当前,我们安装2.6.2版本。注意:如果你的harbor是之前docker-compose安装的,还需要额外做一个动作,让它支持chart。Harbor的chartmuseum可以让Helm直接将chart包推送到harbor里,但是。1)下载harbor的chart包。2)修改默认values.yaml。到harbor浏览器后台。检查plugins列表。升级本地release。原创 2023-12-22 10:40:15 · 1096 阅读 · 0 评论 -
k8s中Chart的命名模板
相对于 deployment.yaml 这种主模板,命名模板只是定义部分通用内容,然后在各个主模板中调用。templates目录下有个_helpers.tpl文件。公共的命名模板都放在这个文件里。如,这里先简单定义一个只包含字符串的模板,用作资源名称。命名模板有时候也被称为部分或子模板。命名模板使用 define 来定义。2)自定义templates模板文件。注意:假定NFS服务器已经搭建好了。5)到NFS服务器上创建一个测试页。生成一个deployment模板。删除掉默认的模板文件。原创 2023-12-22 10:39:24 · 709 阅读 · 0 评论 -
k8s中Chart模板流程控制if_with_range和变量
{{- 表示删除左边的所有空格,直到非空格字符,而 -}}表示删除右边的所有空格。注意,换行符也是空格,当然还包括空格,TAB字符。with 语句块内不能带 .Release.Name 对象,否则报错。上面在 range 循环中使用 $k 和 $v 两个变量来接收后面列表循环的键和值。with 语句块里, 把当前范围定义在了.Values.env这个变量上了。变量在模板中,使用变量的场合不多,但个别情况下不得不使用变量。上面的变量引用都需要从.Values开始, 有点繁琐。修改values.yaml。原创 2023-12-21 22:42:53 · 753 阅读 · 0 评论 -
k8s中Helm工具实践
Helm最核心的就是模板,即模板化的K8s清单文件(如,deployment, service等),模板经过渲染后会被提交到K8s中,本质上就是Go语言的template模板,模板文件位于template/目录中。变量的值定义在values.yaml文件中,该文件中定义了变量的缺省值,但可以在helm install命令中配置新的值来覆盖缺省值。将K8s清单文件中可能经常变动的字段,通过指定一个变量,在安装的过程中该变量将被值value动态替换掉,这个过程就是模板的渲染。原创 2023-12-21 22:21:30 · 1198 阅读 · 0 评论 -
Kubernetes Operator
1)Operator是什么你可以理解成Operator就是CRD+自定义Controller的实践应用。Kubernetes Operator由CoreOS公司开发,它是一种自定义控制器,它扩展了 Kubernetes API 的功能,用于管理和自动化应用程序、服务或资源的生命周期。Operator 可以将复杂的操作封装到 Kubernetes 中,以便在集群中创建、配置、部署和管理特定类型的应用程序或服务。原创 2023-12-20 14:53:00 · 469 阅读 · 0 评论 -
k8s的API资源对象CustomResourceDefinition(CRD)
和我们定义普通的资源对象比较类似,这里可以随意定义一个自定义的资源对象,但是在创建资源的时候,肯定不是任由我们随意去编写 YAML 文件的,当我们把上面的 CRD 文件提交给 Kubernetes 之后,Kubernetes 会对我们提交的声明文件进行校验,从定义可以看出 CRD 是基于。在Kubernetes中,像Pod、Service和Deployment这样的资源是由内置的资源类型如Pod、Service和Deployment表示的。一旦创建完自定义的CRD,那么就会生成一个自定义的API。原创 2023-12-20 14:52:07 · 655 阅读 · 0 评论 -
API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph
SC的主要作用在于,自动创建PV,从而实现PVC按需自动绑定PV。下面我们通过创建一个基于NFS的SC来演示SC的作用。要想使用NFS的SC,还需要安装一个NFS provisioner,provisioner里会定义NFS相关的信息(服务器IP、共享目录等)github地址: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner修改deployment.yaml应用yamlSC YAML示例。原创 2023-12-19 17:23:53 · 1429 阅读 · 0 评论 -
Kubernetes里的Pod亲和性;Pod反亲和性;API资源对象PV和PVC;本地存储;NFS存储
与其他PV类型(例如NFS、Ceph或云存储)不同,本地存储类型的PV直接使用节点上的存储资源,因此具有更低的延迟和更高的性能。如果没有匹配的PV,PVC将保持未绑定状态。Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储的属性,通过PVC再去申请合适的存储资源(PV),匹配到合适的资源后PVC和PV会进行绑定,它们两者是一一对应的;PV可以手动创建,也可以自动创建,当PV需求量非常大时,如果靠手动创建PV就非常麻烦了,SC可以实现自动创建PV,并且会将PVC和PV绑定。原创 2023-12-19 13:21:51 · 1009 阅读 · 0 评论 -
Kubernetes里的DNS;API资源对象ingress;Kubernetes调度;节点选择器NodeSelector;节点亲和性NodeAffinity
调度器在执行绑定操作的时候是一个异步过程,调度器会先在缓存中创建一个和原来Pod一样的Assume Pod对象用模拟完成节点的绑定,如将Assume Pod的Nodename设置成绑定节点名称,同时通过异步执行绑定指令操作。在Pod和Node绑定之前,Scheduler需要确保Volume已经完成绑定操作,确认完所有绑定前准备工作,Scheduler会向Api Server 发送一个Bind 对象,对应节点的Kubelet将待绑定的Pod在节点运行起来。节点分值计算是通过调度器算法实现的,而不是固定的。原创 2023-12-10 22:22:14 · 936 阅读 · 0 评论 -
k8s中的Pod网络;Service网络;网络插件Calico
当执行到创建网络这一步骤时,它首先会读取刚才我们所说的配置目录中的配置文件,配置文件里面会声明所使用的是哪一个插件,然后去执行具体的 CNI 插件的二进制文件,再由 CNI 插件进入 Pod 的网络空间去配置 Pod 的网络。由于Calico是一种纯三层的方案,因此可以避免与二层方案相关的数据包封装的操作,中间没有任何的NAT,没有任何的overlay,所以它的转发效率是所有方案中最高的,因为它的包直接走原生TCP/IP的协议栈,它的隔离也因为这个栈而变得好做。而真正实现和落地这些规范的是CNI插件。原创 2023-12-07 21:19:46 · 1731 阅读 · 2 评论 -
水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例
比如创建Pod,它会检查提交的信息是否符合创建Pod的规范,如果不符合规范就拒绝。另外,准入控制还会帮助我们把我们没有明确指定的字段信息,通过默认值的方式把对应的字段填充到客户端请求中,然后把填充好的信息一并由APIserver把客户端请求更新到对应资源在etcd中的对应信息上。Adminssion Control实际上是一个准入控制器插件列表,发送到API Server的请求都需要经过这个列表中的每个准入控制器插件的检查,检查不通过,则拒绝请求。基于白名单模式,符合规则的对象通过,不符合的拒绝。原创 2023-12-07 21:16:11 · 899 阅读 · 0 评论 -
Kubernetes中API资源对象Job;API资源对象CronJob;API资源对象Endpoint;API资源对象ConfigMap;API资源对象Secret
有时候K8s里的Pod需要访问外部资源,比如访问外部的MySQL服务,就可以定义一个对外资源的Ednpoint,然后再定义一个Service,就可以让K8s里面的其它Pod访问了。Endpoint(简称ep)资源是和Service一一对应的,也就是说每一个Service都会对应一个Endpoint。CronJob简称(cj)是一种周期运行的Pod,比如有些任务需要每天执行一次,就可以使用CronJob。ConfigMap(简称cm)用来存储配置信息,比如服务端口、运行参数、文件路径等等。原创 2023-12-05 21:41:30 · 438 阅读 · 0 评论 -
API资源对象Deployment;API资源对象Service;API资源对象DaemonSet;API资源对象StatefulSet
Daemonset不支持使用kubectl create获取YAML模板,所以只能照葫芦画瓢了,参考Deployment的YAML编写,其实Daemonset和Deployment的差异很小,除了Kind不一样,还需要去掉replica配置。有些场景需要在每一个node上运行Pod(比如,网络插件calico、监控、日志收集),Deployment无法做到,而Daemonset(简称ds)可以。另外,要想使用NFS的sc,还需要安装一个NFS provisioner,它的作用是自动创建NFS的pv。原创 2023-12-04 22:29:23 · 1200 阅读 · 0 评论 -
kubernetes中YAML介绍;API资源对象Pod;Pod原理和生命周期;Pod资源限制
官网(https://yaml.org/)YAML 语言创建于 2001 年,比 XML 晚了三年。YAML虽然在名字上模仿了XML,但实质上与XML完全不同,更适合人类阅读,计算机解析起来也很容易。JSON是YAML的子集,YAML支持整数、浮点数、布尔、字符串、数组和对象等数据类型。也就是说,任何合法的JSON文档也都是YAML文档,如果你了解JSON,那么学习YAML会容易很多。使用缩进表示层次,缩进不允许使用tab,只能用空格,缩进空格数多少不要求,只要保证同一层级空格数一样多即可。原创 2023-12-02 18:59:02 · 1056 阅读 · 0 评论 -
K8s介绍和各组件盘点;搭建一个单机版的k8s
Kubernetes(K8s),是用于自动部署、扩容、缩容和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes源自google 15年生产环境的运维经验,同时凝聚了社区最佳创意和实践。原创 2023-12-01 12:00:20 · 1185 阅读 · 0 评论 -
如何申请https免费证书
FreeSSL 是一个免费证书和 SSL 证书管理平台。旨在为个人和小型企业提供免费 SSL 证书,以加强他们的网站和应用程序的安全性。与传统的 SSL 证书颁发机构不同,FreeSSL 使用自动化过程生成 SSL 证书,并提供一个管理面板,让用户可以轻松管理他们的证书和域名。https免费证书申请原创 2023-12-01 09:44:57 · 424 阅读 · 0 评论 -
docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许你通过一个单独的YAML文件来定义应用程序的服务、网络和卷等配置,然后使用简单的命令来创建和管理这些容器。Harbor是一个开源的企业级Docker仓库,提供了一个安全可靠的容器镜像存储和分发解决方案。原创 2023-11-30 15:34:45 · 1489 阅读 · 0 评论 -
Docker的数据持久化;Docker网络;Dockerfile编写
在 Docker 中,数据持久化是指将容器中的数据保存到宿主机或其他外部存储介质,以确保数据在容器重新创建、更新或删除时不会丢失。Docker服务启动时会生成一个docker0的网卡,这个网卡是实现容器网络通信的根本。 默认容器使用的网络类型为桥接(bridge)模式,这个桥接和我们的vmware里的桥接可不是一回事。它更像是vmware的NAT模式。什么是Dockerfile?是实现自定镜像的一种手段,通过编写Dockerfile,来编译成自己想要的镜像。原创 2023-11-29 12:06:41 · 1246 阅读 · 0 评论 -
docker容器入门
容器技术是一种操作系统级的虚拟化技术,它允许在一个物理或虚拟机上运行多个隔离的应用程序实例,每个实例都被封装在一个独立的容器中。每个容器都包含应用程序及其依赖的运行时环境,如操作系统、库文件和配置文件,它们共享主机操作系统的内核,但相互之间是隔离的。简单来说,容器技术就是可以把你想跑的配置文件“打包”,然后在任何计算机节点上都可以始终这个打好的包。因为有了容器,可以一条命令让你把自己想跑的服务跑起来,实现了一次打包,遍地使用,就比如,我们可以把整套zabbix环境(原创 2023-11-28 14:15:27 · 1550 阅读 · 0 评论 -
vmware虚拟机怎么安装linux-rocky操作系统
Rocky Linux 简介企业Linux,社区方式。Rocky Linux是一个开源的企业操作系统,旨在与红帽企业Linux®100%兼容。社区正在大力发展。原创 2023-11-28 12:58:15 · 752 阅读 · 0 评论 -
rocky8.9配置K8S集群kubernetes,centos同理
下载完后还需要修改⾥⾯定义 Pod ⽹络(CALICO_IPV4POOL_CIDR),与前⾯ kubeadm init 的 --podnetwork-cidr 指定的⼀样。5)设置crictl连接 containerd(三个节点都操作)4)安装kubeadm和kubelet(三个节点都操作)8)node节点上加入master(两个节点主机都执行)3)配置kubernetes仓库(三个节点都操作)2)安装containerd(三个节点上操作)9)安装dashboard(master上)原创 2023-11-24 16:12:39 · 1366 阅读 · 0 评论 -
Linux搭建pikachu靶场(以centos为例)
Pikachu是一个使用PHP语言编写的Web漏洞测试靶场。修改Pikachu靶场的配置文件,将数据库信息更新为你的实际数据库信息。首先,需要在CentOS 7服务器上安装LAMP堆栈。替换为你的MySQL root用户的密码。的MySQL数据库,我们需要手动创建它。现在,应该就可以通过在浏览器中输入。Pikachu靶场需要一个名为。访问Pikachu靶场。原创 2023-08-03 18:37:08 · 3685 阅读 · 2 评论 -
Linux入侵排查
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。原创 2023-08-01 15:56:40 · 411 阅读 · 0 评论 -
【Linux新手篇】day9
linux操作系统支持很多不同文件系统,如ext4 ,xfs,fat等linux以文件的形式对计算机中数据及资源进行管理,一切皆文件。ext4 支持度广,但是创建文件系统(格式化)慢,修复慢而inode有时候会不够用。xfs文件系统,高容量,支持大存储,高性能。inode是需要用到时,才动态产生。说说centos默认的文件系统是什么?xfs /ext4df -Th 查看分区。原创 2023-04-27 20:25:11 · 124 阅读 · 0 评论 -
【Linux新手篇】day8
使用pvcreate /dev/sdb命令会执行以下操作:1. 在/dev/sdb磁盘上创建物理卷(physical volume)2. 将该磁盘设备(/dev/sdb)初始化为LVM磁盘3. 在磁盘上写入LVM元数据,用于后续管理这个物理卷4. 当pvcreate成功完成后,可以使用pvs命令查看新创建的物理卷pvcreate命令执行后,/dev/sdb磁盘就成为了LVM可管理的物理存储设备。pvcreate /dev/sdb 在磁盘/dev/sdb上创建物理卷,sdb变成物理卷。原创 2023-04-26 17:14:05 · 188 阅读 · 0 评论 -
【Linux新手篇】day7
UUID=df5002f1-1654-406e-8778-1d6968a0d3a /dir1 xfs defaults 0 0 同上 目录挂载和UUID挂载效果一样。分别挂载在 /data1 /data2 /data3 /data4 文件类型为xfs。mkfs.ext4 /dev/sdb2 将sdb2格式成ext4文件系统。umount /dev/sdb1 /mnt/dir1取消挂载。mount /dev/sdb1 /mnt/dir1 挂载。原创 2023-04-25 20:11:41 · 240 阅读 · 0 评论 -
【Linux新手篇】day6
0 2 1,4,6 * * /mysql_back.sh 每月的1号,4号,6号的凌晨2点执行/mysql_back.sh脚本。0 2 * * 5 /usr/bin/touch /tmp/1.txt 每周5的凌晨2点创建/tmp/1.txt文件。*/5 * * * * /usr/bin/touch /tmp/1.txt 每五分钟创建/tmp/1.txt文件。a:vi /etc/fstab 在/dev/前面加#,然后重启服务器。原创 2023-04-24 19:03:16 · 433 阅读 · 0 评论 -
【Linux新手篇】day5
lsof命令可以列出系统中打开的文件、目录、网络连接等信息,输出详细的文件相关信息,如文件描述符、进程ID、用户ID、打开的文件路径等。含正在使用cpu的进程,还包含等待cpu的进程及等待io的进程;这个命令会直接列出打开22端口的相关进程,如果有输出则表示22端口开启,没有输出则表示22端口没有被打开。孤儿进程会被init进程(PID为1)回收,成为init进程的子进程,不会占用机器资源。-i :列出符合条件的进程打开的文件,比如lsof -i:22列出打开端口22的进程。原创 2023-04-23 21:00:48 · 228 阅读 · 0 评论 -
【Linux新手篇】day4
linux中,ps命令的用法,kill命令的用法等。原创 2023-04-21 19:31:02 · 276 阅读 · 0 评论 -
【Linux新手篇】day3
chmod o+t,当一个目录设置了o+t权限后,普通用户只能删除自己在此目录下创建的文件/目录,无法删除其他用户创建的文件/目录。当一个目录设置了g+s权限后,在此目录下创建的文件或子目录的组所有者会自动设为该目录的组所有者。这就实现了在share这个目录下,无论谁创建的文件,组所有者都会统一为group1。file文件的组所有者会自动设为group1(share目录的组)。chmod u+s /usr/bin/cat 针对文件(命令)让cat命令拥有root权限,就可以随意查看文件了。原创 2023-04-20 19:11:26 · 83 阅读 · 0 评论 -
【Linux新手篇】day2
在Linux系统中,绝对路径一定是由根目录 / 开始写起。相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起(可以使用pwd命令查看当前工作目录)。所以,简单判断,如果一个命令后面的路径是以 / 开头,就是绝对路径,不是,就是相对路径了。如 cd /home/test, /home/test 就是绝对路径;cd test , test就是指当前工作目录下的test目录,也就是相对路径。相对路径就是相对当前你所在路径开始算。绝对路径是从linux最底层的根(/)开始算。原创 2023-04-19 19:22:09 · 365 阅读 · 0 评论 -
【Linux新手篇】day1
Linux从入门到工作,从浅入深学习Linux。原创 2023-04-19 14:36:11 · 69 阅读 · 0 评论