- 博客(96)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 K8s - openeuler2203SP1安装 K8s + flannel
调整 yml 镜像拉取策略,在 image 下增加 imagePullPolicy: Never。导入 k8s.io 命名空间,需要通过 docker 进行转换。下载 flannel yml。编写 service 文件。通过离线下载网站获取镜像。
2024-12-24 15:45:21
1438
1
原创 借助 Pause 容器调试 Pod
在 K8S 中,Pod 是最核心、最基础的资源对象,也是 Kubernetes 中调度最小单元。在介绍 Pause 容器之前需要先说明下 Pod 与容器的关系来理解为什么需要 Pause 容器来帮助调试。
2024-11-12 15:57:00
528
1
原创 OVS - 数据包处理流程
SDN(Software-Defined Networking)是一种网络架构和理念,与传统网络架构最大的区别就在于将网络的控制平面从数据平面中分离出来,将网络决策集中在一个独立的软件控制器中,从而使网络更加灵活、可编程和易于管理。SDN控制器(SDN Controller):控制器是SDN的中央控制节点,它负责管理整个网络的行为和策略。控制器可以通过北向接口与上层应用程序或网络管理平台进行通信,通过南向接口与网络设备(如交换机和路由器)进行通信。
2024-03-08 14:19:33
1695
原创 KONG - API转发流程梳理
Kong是一个开源的API网关,集成了服务注册和发现、负载均衡、健康检查等功能,还可以通过插件来提供限流、熔断、监控、日志等能力,在kong的微服务架构中,kong担当了注册中心的角色,服务提供者(Provider)首先将服务信息注册到kong,服务消费者(Consumer)调用服务的过程是调用端先将请求发到kong,再通过kong把请求转发到服务提供者而实现间接调用。本文通过梳理kong数据库中的字段关联关系,从而了解请求的转发流程。kong一个完整的kongrouteserviceupstream。
2024-03-07 15:22:42
1692
原创 Linux - 反弹Shell
那么如果用正向 Shell,其实就是在 A 上输入 B 的连接地址,比如通过 ssh 连接到 B,连接成功之后,我们就可以在 A 上通过命令控制 B 了。如果用反向 Shell,那就是在 A 上先开启一个监听端口,然后让 B 去连接 A 的这个端口,连接成功之后,A 这边就能通过命令控制 B了。Shell 估计大家都不陌生,简单来说,就是实现用户命令的接口,通过这个接口我们就能实现对计算机的控制,比如我们常见的 ssh 就是执行的 Shell 命令实现对远程对服务器的控制。
2024-03-07 14:58:57
1204
1
原创 Web - OAuth2 认证流程
令牌与密码的区别令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是主要有以下几点区别:令牌密码有效时长令牌到期自动失效用户不修改就长期有效谁可撤销数据所有者撤销即失效一般不允许他人撤销权限范围令牌具有权限范围,可限制操作一般为完整权限注:只要知道了令牌,就能进入系统。系统一般不会再次确认身份,所以令牌必须保密,泄漏令牌与泄漏密码的后果是一样的。 这也是为什么令牌的有效期,一般都设置得很短的原因。认证流程(A)用户打
2021-04-21 09:50:45
1629
原创 Linux - 多命令顺序执行连接符
分号分号,没有任何逻辑关系的连接符。当多个命令用分号连接时,各命令之间的执行成功与否彼此没有任何影响,都会一条一条执行下去。[root@localhost ~]# echo test>test.txt; cat test.txttest逻辑或逻辑或,当用此连接符连接多个命令时,前面的命令执行成功,则后面的命令不会执行。前面的命令执行失败,后面的命令才会执行。# 不存在 test.txt,所以会执行 echo命令[root@localhost ~]# ls test.txt || ech
2021-01-27 10:52:41
1407
原创 MySQL - Centos7安装配置MariaDB10.3
生成配置在 MariaDB Repository Configuration Tool 选择系统版本以及需要安装的mariadb版本。将生成的内容将生成的内容保存至/etc/yum.repos.d/mariadb.repo。例如我选择的是系统版本是centos7 (x86_64),要安装的是10.3[old stable]版本。# MariaDB 10.3 CentOS repository list - created 2021-01-21 06:32 UTC# http://downloads
2021-01-21 14:56:59
1534
原创 Ansible - Roles 使用示例
参考bilibili马哥视频运维派教程介绍roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种机制目录组织├──playbook.yml├── roles│ ├── project│ ├── default│ ├── files│ ├── handlers│ ├──
2021-01-05 10:58:47
606
原创 Ansbile - Playbook 使用
参考bilibili马哥视频运维派教程介绍在Playbook中,使用task来定义一个子任务,并在任务中指定需要使用的模块,以及触发条件等信息。最终一个Playbook的Yml文件中可由多个task组成,按照任务顺序对指定主机进行自动化运维YAML语言教程https://www.runoob.com/w3cnote/yaml-intro.html核心元素Hosts 执行的远程主机列表remote_user:指定执行任务时在远程主机上所用的用户Tasks 任务集Va
2021-01-05 10:51:24
309
原创 Ansible -常用模块介绍
参考bilibili马哥视频运维派教程基础配置[root@localhost ~]# cat /etc/ansible/hosts [server]10.91.156.209[node]10.91.156.205Command模块功能在远程主机执行命令,此为默认模块,可忽略-m选项注意:此命令不支持 $VARNAME < > | ; & 等,用shell模块实现文档[root@localhost ~]# ansible-doc -s com
2021-01-05 10:28:17
301
原创 Ansible - 安装介绍
介绍ansible是一种自动化运维工具,基于Python开发,可实现批量系统配置、批量程序部署、批量运行命令等功能。以下笔记均汇总于bilibili马哥视频运维派教程环境信息# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 752d91f949a840fa9f2ed0b2ca54
2021-01-05 10:22:56
226
原创 Go - net/smtp发送邮件
目的使用go简单实现发送邮件的逻辑基础SMTP简单邮件传输协议(英语:Simple Mail Transfer Protocol,缩写:SMTP)可以简单的使用telnet来连接测试一个SMTP服务器代码package mainimport ( "errors" "fmt" "net/smtp")// 自行实现 smtp.Auth 接口type loginAuth struct { username, password string}func (l login
2020-12-03 21:07:59
5272
原创 MySQL - 用户权限控制和密码策略
项目安全测试时发现数据库用户权限不合理,并且缺失密码复杂度校验,So借机学习一波环境信息root@505e4d918942:~# mysql -Vmysql Ver 14.14 Distrib 5.7.32, for Linux (x86_64) using EditLine wrapper设置用户权限例: 新增suhw用户,只给访问suhw_db数据库的权限mysql> create user suhw;Query OK, 0 rows affected (0.00 sec
2020-12-03 10:28:45
574
原创 Linux - 搭建LDAP统一认证服务
目的通过以下步骤最终可使用ldap server中的用户登录一台ldap client,并允许有sudo权限。平常公司中所用的域账号以及服务器账号也许就是使用如下方式,但是应该没有这么简陋,只是借机了解一波ldap环境信息[root@suhw ~]# hostnamectl Static hostname: suhw Icon name: computer-vm Chassis: vm Machine ID: c9006a74a367
2020-11-17 11:20:24
8178
原创 Linux - 磁盘操作命令小结
以下几个命令在操作磁盘时容易搞混,特此梳理一下各自的使用场景df作用df - report file system disk space usage用于展示文件系统的磁盘使用情况示例[root@suhw ~]# df -hTFilesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 17G 1013M 16G 6% /devtm
2020-10-09 15:11:13
305
原创 Linux - LVM逻辑卷的创建与扩容
LVM介绍LVM简介全称逻辑卷管理器(Logic Volume Manager)。是在内核中块设备和物理设备之间添加的一个新的抽象层次。通过LVM,可以将几块磁盘(物理卷PV)组合形成一个存储池或卷组(VG),最终在卷组的基础上再划分逻辑卷。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整
2020-09-30 15:21:08
996
原创 Linux - 通过软硬链接学习inode
说到软硬链接,首先要了解inode是什么,了解了inode的结构,会有助于区分软硬链接inodeinode 内容在Linux系统中,每个文件都有对应的inode,而inode作为数据索引的标识符,其中包含了一个文件的基本信息,如inode编号,修改时间,文件的位置等。所以linux中不使用文件名,而是使用inode号来识别文件。通常打开一个文件的步骤也就被系统大致的拆分为三个步骤:找到目标文件对应的inode号通过inode号,获取出inode信息根据获取出的信息,找到文件数据所在的
2020-09-28 10:59:05
457
原创 MySQL - json_search 小结
在开发过程中遇到某个表中采用text格式存储了压缩后的JSON字符串,在代码中通过 json_search方法对 JSON 中的内容进行搜索,特此整理有关json_search的内容。MySQL在5.7的官方文档中就有关于JSON的相关说明,更详细的可直接参考官方文档。JSON_SEARCH用法JSON_SEARCH(json_doc,one_or_all,search_str [,escape_char [,path] ...])说明通过JSON_SEARCH函数,返回符合查询条件的key
2020-09-22 20:39:28
19078
1
原创 Nginx - 使用 autoindex 开启目录浏览
开启目录浏览Nginx默认是不允许列出整个目录的,如需此功能,需要使用到 ngx_http_autoindex_module,接下来进行详细的介绍autoindex_module配置autoindexSyntax: autoindex on | off;Default: autoindex off;Context: http, server, location启用或禁用目录列表输出。autoindex_exact_sizeSyntax: autoindex_exact_size o
2020-09-21 12:02:36
2690
原创 使用TortoiseGit导出GIT分支差异文件
使用场景B分支是基于A分支开发的,需要单独获取出B分支在A的基础上有哪些文件进行了改动,对改动的文件进行后续的代码扫描或其他操作。不采用git diff的原因是需要导出差异文件,而不是改动记录使用工具TortoiseGit 操作步骤使用 TortoiseGit 工具 将当前仓库选择 与上一版本比较差异若想导出当前分支与基础分支的差异,则点击浏览引用将版本1选择为比较的基准分支,版本2 选择当前分支在文件展示框内选择要导出的差异文件(ctrl + a也可全选),右键选择导出选择
2020-09-03 20:10:10
3262
原创 Git - stash(暂存区) 用法
使用场景功能开发一半,改了个BUG需要提交,此时就需要把开发功能的改动代码暂存起来,将BUG修改内容进行提交并推送,推送后再恢复原有改动执行流程先git commit要提交的内容将剩下内容通过git stash存入暂存区git pull --rebase拉取远程最新代码将提交记录通过git push推到远程仓库git stash pop恢复之前暂存的改动命令介绍git stash保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会
2020-08-31 20:16:32
13212
原创 Linux- Top命令查看系统资源状况
介绍top命令是Linux下常用得性能分析工具,能够实时的显示系统中各个进程的资源占用状况,类似于平常使用的Windows任务管理器,除此之外,top还提供交互式的界面来筛选可用的信息。下面将分别介绍top命令的输出以及常用操作统计信息top命令前五行的输出是当前系统情况整体的统计信息区top - 20:12:44 up 2 days, 9:49, 9 users, load average: 0.83, 1.21, 1.58Tasks: 370 total, 3 running,
2020-07-21 11:20:03
4234
原创 Redis -持久化方式对比
redis 提供两种持久化方式,一种是RDB持久化(定时将数据被分到磁盘上),另一种是AOF(append only file)持久化(将对 redis 的操作日志以追加形式写入文件)RDB持久化RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。配置方式在redis.conf中默认配置# save <seconds> <changes># 时
2020-06-29 10:19:31
353
原创 Linux - vsftpd 使用小结
FTP介绍FTP(File transfer protocol)在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议,主要功能用于实现用户间文件分发共享,以及网络管理者在进行设备版本升级、日志下载和配置保存等业务操作时,均会使用到FTP功能。FTP不同于其他服务的是它使用了两个端口,一个数据端口(通常为20端口),一个命令端口,也称控制端口(通常为21端口)传输模式FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动模式和被动模式。其中是否主动是站在FTP
2020-06-28 21:08:00
483
原创 Linux - SSH 服务器信任关系配置
介绍SSH(Secure Shell)是一项创建在应用层和传输层基础上得安全协议,为shell提供安全得传输和使用环境。具体协议以及服务相关知识不再赘述,下面主要介绍如何配置服务器之间的信任关系。以配置A免密登录到B为例生成密钥在A机器上通过ssh key-gen生成密钥[root@suhw ~]# eval `ssh-agent -s`[root@suhw ~]# ssh-keygen -t rsa若不指定存放密钥的路径以及名字的话,会默认生成在当前用户家目录下的.ssh目录中生成一个私
2020-06-28 17:24:13
685
原创 KVM - qcow2 和 raw 格式对比
以下内容主要介绍 KVM 中最常见的 RAW 和 QCOW2 镜像格式以及一些准备知识,分别说明并加以对比准备知识ls 和du的区别ls - list directory contentsdu - estimate file space usage通过man手册可以看出du命令查看的是磁盘空间占有数,而ls展示的是文件的一些相关属性。而在Linux中,一个文件占用的磁盘大小和一个文件的大小在众多情况下并不相等,下面通过示例来更清晰的说明。# 创建一个13k的文件[root@suhw ~]#
2020-06-28 15:03:47
9395
1
原创 Go - Linux环境安装配置
环境[root@suhw ~]# cat /etc/redhat-releaseCentOS Linux release 7.7.1908 (Core)下载下载地址可访问 https://golang.org/dl/ 或 https://golang.google.cn/dl/上传将下载好的 gox.x.x.linux-amd64.tar.gz 上传到服务器的 到/usr/local/目录下[root@suhw local]# tar -C /usr/local/ -xzf go1.
2020-06-18 15:20:13
360
原创 Linux - NFS 服务器小结
参考http://cn.linux.vbird.org/linux_server/0330nfs.php#What_NFS_0NFS介绍介绍NFS是Network FileSystem的缩写,主要功能是通过网络,让不同的机器,不同的操作系统,可以彼此分享指定的资源文件,可简单的认为是一个文件服务器,可以将远程NFS服务器共享的目录挂载到本地机器中,在本地机器看起来,被挂载的目录就像是自己的一个磁盘分区一样,使用非常方便。上图中的NFS服务器设定好了要共享的目录后,其他客户端就可直接将该目录挂
2020-06-16 17:40:33
443
原创 常用开发破解软件开源替换品下载地址汇总
由于公司禁止使用非商业版软件,也就是不能自己使用破解软件,所以将可以替代的开源软件列举如下,并附上下载地址工具类型源软件替换下载地址IDEphpStormVscodehttps://code.visualstudio.com/DownloadSSH工具xshellmobaxtermhttps://mobaxterm.mobatek.net/download.html思维导图xminddraw-iohttps://draw-io.softonic.cn/
2020-06-12 20:04:28
756
原创 Docker - 安装 docker-compose
获取包直接下载运行此命令下载Docker Compose的当前稳定版本:sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose若开发机访问不了外网,可参考离线下载方式离线安装获取环境信息[root@suhw ~]# uname -mx86_64[root
2020-06-11 19:54:05
630
原创 Linux-进程管理supervisor
简介Supervisor 是可以在类 UNIX 系统中进行管理和监控各种进程的小型系统。它自带了客户端和服务端工具。可以通过用户所定义的配置文件来管理和监控单个或多个进程,并且它可以根据配置来对异常崩溃的进程进行重启操作。环境信息[root@suhw ~]# cat /etc/redhat-releaseCentOS Linux release 7.7.1908 (Core)安装[root@suhw ~]# yum install epel-release[root@suhw ~]# y
2020-06-10 10:27:01
257
原创 CAS-认证流程详解
基础知识名词解释ASAuthentication Service:认证服务,发放TGTKDCKey Distribution Center:密钥发放中心TGSTicket-Granting Service:票据授权服务,索取TGT,发放STTGCticket-granting cookie:授权的票据证明,由CAS Server通过SSL方式发送给终端用户。该值存在Cookie中,根据TGC可以找到TGT。TGTTicket Granting tieckt:俗称大令牌,或者票根,由KD
2020-06-09 10:35:42
12857
1
原创 Linux-chrony设置集群同步时间
简介Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确。比NTPD时间精度更高,性能更好。Chrony分为守护进程chronyd,用于调整内核中运行的系统时间和时间服务器同步 以及 用于监控性能并进行多样化的配置的chronyc环境信息[root@suhw ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)[root@suhw ~]# uname -aLinux suhw
2020-06-05 11:44:38
3950
原创 CAS-Centos7安装CAS服务端
环境信息[root@suhw ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)[root@suhw ~]# uname -aLinux suhw 3.10.0-1062.4.3.el7.x86_64 #1 SMP Wed Nov 13 23:58:53 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux安装jdk查看系统信息[root@suhw ~]# cat /etc/redhat
2020-06-03 14:26:14
3739
2
原创 KVM-调整虚机内存大小
查看内存大小root@controller:~# virsh dominfo suhw-test | grep memoryMax memory: 4194304 KiBUsed memory: 4194304 KiB增大虚拟机内存、增加虚拟机CPU个数需要首先关机虚拟机增加步骤关闭虚拟机root@controller:~# virsh shutdown suhw-test#virsh destroy suhw-test修改虚拟机配置文件root@control
2020-06-02 17:56:42
2824
原创 Yii-组件延迟加载机制
使用场景$session = \YII::$app->sessionYII框架中每个组件都是一个单例,通过服务定位模式,在组件使用之时才进行初始化。准备知识程序入口index.php 中实例化 yii\web\Application(new yii\web\Application($config))->run();类继承关系了解下类继承关系,方便后续寻找对应成员函数class yii\web\Application extends yii\base\Applicatio
2020-06-01 21:40:46
393
原创 Docker-私有仓库使用
环境信息[root@suhw ~]# docker --versionDocker version 19.03.10, build 9424aeaee9[root@suhw ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)获取镜像可通过自己下载tar包引入,也可通过默认直接从docker hub下载,以下方式二选一引入镜像下载地址:https://hub.docker.com/_/registry若已经手
2020-06-01 16:45:07
353
原创 Linux-ifcfg-eth0配置介绍
环境信息[root@suhw-host ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)网卡配置目录CentOS7默认网卡设备文件存放于/etc/sysconfig/network-scripts/参数介绍使用 /etc/sysconfig/network-scripts/ifcfg-eth0 举例NAME="eth0"# 物理设备名称,与 ifcfg-eth0 对应DEVICE="eth0"# 是
2020-06-01 14:18:18
5827
原创 Linux-hostname查看及修改
系统信息[root@suhw ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) hostname命令该用于显示和设置系统的主机名称。使用该命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,建议使用hostnamectl# 查看当前hostname[root@suhw ~]# hostnamesuhw# 临时修改hostname[root@suhw
2020-06-01 12:05:42
24550
C-C++复习.xmind
2021-03-18
安卓:编程操作sqlite数据库,一访问就闪退出错。
2018-12-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人