借助 Pause 容器调试 Pod 在 K8S 中,Pod 是最核心、最基础的资源对象,也是 Kubernetes 中调度最小单元。在介绍 Pause 容器之前需要先说明下 Pod 与容器的关系来理解为什么需要 Pause 容器来帮助调试。
OVS - 数据包处理流程 SDN(Software-Defined Networking)是一种网络架构和理念,与传统网络架构最大的区别就在于将网络的控制平面从数据平面中分离出来,将网络决策集中在一个独立的软件控制器中,从而使网络更加灵活、可编程和易于管理。SDN控制器(SDN Controller):控制器是SDN的中央控制节点,它负责管理整个网络的行为和策略。控制器可以通过北向接口与上层应用程序或网络管理平台进行通信,通过南向接口与网络设备(如交换机和路由器)进行通信。
KONG - API转发流程梳理 Kong是一个开源的API网关,集成了服务注册和发现、负载均衡、健康检查等功能,还可以通过插件来提供限流、熔断、监控、日志等能力,在kong的微服务架构中,kong担当了注册中心的角色,服务提供者(Provider)首先将服务信息注册到kong,服务消费者(Consumer)调用服务的过程是调用端先将请求发到kong,再通过kong把请求转发到服务提供者而实现间接调用。本文通过梳理kong数据库中的字段关联关系,从而了解请求的转发流程。kong一个完整的kongrouteserviceupstream。
Linux - 反弹Shell 那么如果用正向 Shell,其实就是在 A 上输入 B 的连接地址,比如通过 ssh 连接到 B,连接成功之后,我们就可以在 A 上通过命令控制 B 了。如果用反向 Shell,那就是在 A 上先开启一个监听端口,然后让 B 去连接 A 的这个端口,连接成功之后,A 这边就能通过命令控制 B了。Shell 估计大家都不陌生,简单来说,就是实现用户命令的接口,通过这个接口我们就能实现对计算机的控制,比如我们常见的 ssh 就是执行的 Shell 命令实现对远程对服务器的控制。
Web - OAuth2 认证流程 令牌与密码的区别令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是主要有以下几点区别:令牌密码有效时长令牌到期自动失效用户不修改就长期有效谁可撤销数据所有者撤销即失效一般不允许他人撤销权限范围令牌具有权限范围,可限制操作一般为完整权限注:只要知道了令牌,就能进入系统。系统一般不会再次确认身份,所以令牌必须保密,泄漏令牌与泄漏密码的后果是一样的。 这也是为什么令牌的有效期,一般都设置得很短的原因。认证流程(A)用户打
Linux - 多命令顺序执行连接符 分号分号,没有任何逻辑关系的连接符。当多个命令用分号连接时,各命令之间的执行成功与否彼此没有任何影响,都会一条一条执行下去。[root@localhost ~]# echo test>test.txt; cat test.txttest逻辑或逻辑或,当用此连接符连接多个命令时,前面的命令执行成功,则后面的命令不会执行。前面的命令执行失败,后面的命令才会执行。# 不存在 test.txt,所以会执行 echo命令[root@localhost ~]# ls test.txt || ech
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
Ansible - Roles 使用示例 参考bilibili马哥视频运维派教程介绍roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种机制目录组织├──playbook.yml├── roles│ ├── project│ ├── default│ ├── files│ ├── handlers│ ├──
Ansbile - Playbook 使用 参考bilibili马哥视频运维派教程介绍在Playbook中,使用task来定义一个子任务,并在任务中指定需要使用的模块,以及触发条件等信息。最终一个Playbook的Yml文件中可由多个task组成,按照任务顺序对指定主机进行自动化运维YAML语言教程https://www.runoob.com/w3cnote/yaml-intro.html核心元素Hosts 执行的远程主机列表remote_user:指定执行任务时在远程主机上所用的用户Tasks 任务集Va
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
Ansible - 安装介绍 介绍ansible是一种自动化运维工具,基于Python开发,可实现批量系统配置、批量程序部署、批量运行命令等功能。以下笔记均汇总于bilibili马哥视频运维派教程环境信息# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 752d91f949a840fa9f2ed0b2ca54
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
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
Linux - 搭建LDAP统一认证服务 目的通过以下步骤最终可使用ldap server中的用户登录一台ldap client,并允许有sudo权限。平常公司中所用的域账号以及服务器账号也许就是使用如下方式,但是应该没有这么简陋,只是借机了解一波ldap环境信息[root@suhw ~]# hostnamectl Static hostname: suhw Icon name: computer-vm Chassis: vm Machine ID: c9006a74a367
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
Linux - LVM逻辑卷的创建与扩容 LVM介绍LVM简介全称逻辑卷管理器(Logic Volume Manager)。是在内核中块设备和物理设备之间添加的一个新的抽象层次。通过LVM,可以将几块磁盘(物理卷PV)组合形成一个存储池或卷组(VG),最终在卷组的基础上再划分逻辑卷。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整
Linux - 通过软硬链接学习inode 说到软硬链接,首先要了解inode是什么,了解了inode的结构,会有助于区分软硬链接inodeinode 内容在Linux系统中,每个文件都有对应的inode,而inode作为数据索引的标识符,其中包含了一个文件的基本信息,如inode编号,修改时间,文件的位置等。所以linux中不使用文件名,而是使用inode号来识别文件。通常打开一个文件的步骤也就被系统大致的拆分为三个步骤:找到目标文件对应的inode号通过inode号,获取出inode信息根据获取出的信息,找到文件数据所在的
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
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