- 博客(166)
- 收藏
- 关注
原创 MySQL 主从复制、切换
MySQL 主从复制是一种常见的高可用性和数据冗余解决方案,通过将数据从主服务器(Master)同步到从服务器(Slave),可以实现数据备份和读写分离。
2024-10-31 19:13:21 787
原创 【kubernetes】安全机制
Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。在 Kubernetes (k8s) 中,认证、鉴权和准入控制构成了确保集群安全的三大核心机制,它们分别在不同的阶段执行,以确保只有经过验证的请求才能对资源执行允许的操作。:它们的作用是在对象被创建或更新时,允许修改该对象的配置。:这些控制器的主要作用是在资源创建或更新前进行验证,确保其符合集群的安全和策略要求。如果资源不符合要求,则请求会被拒绝。每个步骤都是互相关联的,只有通过了前面的步骤,才能进入后续的流程。
2024-09-10 09:16:21 805
原创 【Kubernetes 】k8s常用单词
Kubernetes 是一个用于自动化部署、扩展和管理容器化应用的开源系统。在 Kubernetes (通常简称为 k8s) 集群调度中,有一些关键的概念和技术术语需要了解。这些术语构成了 Kubernetes 的基础概念,理解它们对于操作和管理 Kubernetes 集群至关重要。了解这些术语有助于更好地理解和配置 Kubernetes 集群的调度策略,从而更有效地管理和优化资源。
2024-09-03 19:13:31 748
原创 【Kubernetes】 Ingress HTTPS代理访问
在宿主机的 C:\Windows\System32\drivers\etc\hosts 文件中添加 192.168.99.172 www3.tomxcz.com 记录。使用谷歌浏览器访问 https://www3.tomxcz.com。
2024-08-31 23:22:22 961
原创 【kubernetes】kubernetes Deployment 详解
蓝绿部署(Blue/Green Deployment):蓝绿部署是一种发布策略,可以在Kubernetes集群中同时运行两个版本的应用程序。金丝雀部署(Canary Deployment):金丝雀部署是一种渐进式发布策略,可以在部署新版本应用程序之前先将一小部分流量引导到新版本,以测试新版本的稳定性和性能。根据实际需求,你可以选择适合你的发布策略来部署和更新你的应用程序。以上是一些常见的Kubernetes发布策略,可以根据具体的需求选择合适的发布策略来管理和部署应用程序。
2024-08-29 17:24:42 1391
原创 【k8s】Kubernetes初步
它是一个全新的基于容器技术的分布式架构领先方案,确切地说,Kubernetes是谷歌严格保密十几年的秘密武器Borg的一个开源版本。Borg是谷歌内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。环境不一致使得应用部署出现了各种问题,从而产生了Docker容器来解决应用部署的问题。而大集群上容器的部署、伸缩和管理的各种问题,衍生出来了容器编排引擎,比较出名的有K8S(Kubernetes) 和 Docker Swarm。
2024-08-27 10:47:18 1451
原创 nmcli网卡管理
连接管理:nmcli允许用户创建、编辑和删除网络连接,包括以太网、Wi-Fi、VPN、DSL等连接类型。用户可以使用命令来配置网络连接的属性,如IP地址、网关、DNS服务器等。网络设备管理:nmcli允许用户管理网络设备,包括启用和禁用、连接和断开连接、配置设备属性等。用户可以使用命令查看可用的Wi-Fi网络、连接到指定的网络、配置Wi-Fi密码等。连接状态查询:用户可以使用nmcli查看当前活动的网络连接及其状态信息,如连接名称、设备名称、连接类型、IP地址等。命令来连接到特定的Wi-Fi网络,使用。
2024-08-26 09:22:57 563
原创 【ansible】ansible roles
Ansible Roles是一种组织和管理Ansible Playbooks的方法。它们允许将相关的配置和任务分组到一个可重用的单元中,使得代码更加模块化和可维护。一个Ansible Role包含了一组预定义的变量、任务和文件结构。它可以被其他Playbooks调用和使用,从而实现代码的重用。Roles可以用于定义各种不同的配置,从简单的软件安装和配置到复杂的系统部署。tasks:包含了要执行的任务列表,可以是Ansible模块的调用或者是其他角色的引用。
2024-08-26 08:44:53 948
原创 【python】paramiko模块基于公钥密钥transport登录
paramiko是一个用于连接和操作远程服务器的Python模块。它使用SSH协议来实现安全的远程连接,并提供了一些方便的API来执行命令、上传和下载文件等操作。paramiko模块提供了很多方便的功能来简化远程服务器的操作,如连接池、端口转发等。
2024-08-22 10:03:59 405
原创 【Ansible】Ansible playbook
Ansible playbook是一种用于描述和自动化IT基础设施配置和管理的工具。它使用YAML格式来定义一系列任务和配置项,并利用Ansible的执行引擎自动执行这些任务。Playbook包含一个或多个play,每个play定义了一组任务,这些任务将在目标主机上执行。每个任务可以是一个模块(例如复制文件、安装软件等),也可以是一个自定义的脚本。Playbook还可以定义变量、条件语句、循环和其他控制结构,以实现更复杂的配置和管理逻辑。
2024-08-22 09:58:35 1442
原创 Haproxy搭建Web群集简介
(1)目前常见的Web集群调度器分为软件和硬件(2)软件通常使用开源的LVS、Haproxy、Nginx(3)LVS性能最好(基于内核转发),但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有 Haproxy好。(4)硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等https://www.f5.com.cn/扫面处理漏洞方式:升级到最新的版本,安全加固方式升级服务最新版本或做黑白名单。
2024-08-21 03:02:23 513
原创 【Docker】Docker Consul
其他服务可以通过查询 Consul 来发现注册的服务,并通过元数据了解服务的健康状况和其他相关信息。Consul 提供了一个中心化的服务注册和发现系统,可以帮助开发人员轻松地在 Docker 容器和集群之间进行服务发现和配置管理。总结来说,Docker Consul通过注册、发现、健康检查和配置管理等功能,帮助应用程序实现了服务发现和配置管理的自动化。注册服务:应用程序的不同组件(例如Web服务、数据库等)可以使用Docker Consul的API将自己注册到集群中。重开一个consul终端。
2024-08-21 02:27:26 1181
原创 Ansible初识
要获取完整的ansible命令列表和详细的使用说明,请参考ansible官方文档。总之,Ansible是一种功能强大、易于使用的自动化工具,适用于各种场景,可以简化管理工作,提高效率。基于模块化:Ansible提供了丰富的模块和插件,可以用于完成各种任务,如安装软件、配置系统、部署应用程序等。简单易用:Ansible使用YAML语言来定义任务和配置,具有简单、直观的语法,使得操作起来非常容易。基于代理:Ansible可以通过代理服务器来管理无法直接访问的主机,如跳板机、防火墙后的主机等。
2024-08-21 02:16:04 1038
原创 浏览器非安全端口号
浏览器非安全端口号主要是指使用HTTP协议进行通信的端口号。一般来说,标准的HTTP连接使用的是80端口号,而HTTPS连接使用的是443端口号。这些端口号是被认为安全的,因为数据在传输过程中会使用加密技术进行保护。
2024-08-19 16:03:38 506
原创 【docker】docker compose进阶
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务、网络和卷,并使用单个命令即可启动、停止和管理应用程序。通过使用Docker Compose,开发人员可以轻松地在多个容器之间建立连接、定义关系和扩展应用程序。Docker Compose的主要特性包括:定义服务:使用YAML文件定义应用程序的各个服务,包括镜像、容器参数、环境变量等。管理多容器:通过单个命令即可启动、停止、重启和删除多个容器,而不需要逐个处理。
2024-08-15 18:52:40 720 1
原创 VMware下centos扩容
扩展物理卷使用pvresize扩展物理卷/dev/sda2的大小,使其能够利用所有可用的磁盘空间。查看卷组信息使用vgdisplay查看卷组的信息,确认物理卷/dev/sda2的扩展情况。扩展逻辑卷使用lvextend命令扩展逻辑卷的大小,使其能够利用卷组中剩余的所有可用空间。扩展 XFS 文件系统使用xfs_growfs命令扩展挂载在下的 XFS 文件系统的大小。按照上述步骤操作,您将能够扩展物理卷、逻辑卷以及 XFS 文件系统的大小。
2024-08-14 14:48:05 525
原创 【docker】dockerfile部署lnmp、docker compose初步
dockerfile部署lnmp、docker compose初步
2024-08-13 18:02:39 502
原创 【docker】Dockerfile练习
修改 merged 层的 a.txt 文件,可以看到 merged 层的 a.txt 内容虽然改变,但 A 目录(只读层)下的 a.txt 内容并没有发生变化,而在 C 目录(读写层)下多了一个 a.txt 文件,内容就是我们修改过的 a.txt 的内容,这就是只读层与读写层的关系,在 merged 目录对文件进行修改并不会影响到只读层的源文件,只会在读写层进行编辑。
2024-08-12 18:33:38 426
原创 TCP原理
发送方先向接收方发送一个连接释放报文段,接收方收到后回复一个确认报文段,然后发送方再回复一个连接释放报文段,最后接收方回复一个确认报文段,完成连接的关闭。发送方先向接收方发送一个连接请求报文段,接收方收到后回复一个连接确认报文段,发送方再回复一个连接确认报文段,完成连接的建立。数据传输:连接建立后,双方可以开始进行数据的传输。数据被切分成小的数据块(称为报文段),每个数据块都会按照一定的顺序进行编号,并通过IP协议进行传输。接收方的确认:接收方会不断向发送方发送确认报文段,用于确认已经接收到的数据。
2024-08-12 14:49:40 936
原创 【docker】Docker 的存储驱动 Overlay2
overlay2Docker 将容器镜像做了分层存储,每个层相当于包含着一条 Dockerfile 的指令。而这些层在磁盘上的存储方式,以及在启动容器时,如何组织这些层,并提供可写层,便是存储驱动的主要作用了。在生产环境中,推荐挂载 /var/lib/docker 目录到单独的磁盘或者磁盘分区,这样可以避免该目录写满影响主机的文件写入,并且把挂载信息写入到 /etc/fstab,防止机器重启后挂载信息丢失。
2024-08-12 11:25:12 825
原创 【docker】docker资源管理
Docker提供了多种方式来管理容器的CPU使用情况,包括以下几种方法:Docker有几种方式来管理容器的内存使用情况:限制容器可以使用的内存量:可以使用选项来限制容器可以使用的内存量。例如,可以使用选项将容器的内存限制为1GB。内存交换限制:可以使用选项来设置容器可以使用的交换空间的限制。默认情况下,Docker会将设置为的两倍。(非必要)容器内存分配策略:Docker支持以下几种容器内存分配策略:查看容器的内存使用情况:可以使用命令来查看容器的内存使用情况,包括使用的内存量、缓冲区和缓存量、交换空间使用
2024-08-12 04:09:27 617
原创 【docker】docker数据卷与网络部署服务
浏览器访问192.168.99.130:8088,添加一个Registries。修改jdbc为20.0.0.2:3306后。搜索镜像php,pull 这个镜像。访问192.168.99.130。
2024-08-08 23:08:59 804
原创 zsh 配置 docker 自动补全
在终端中使用 docker 的命令的时候必须要全部手敲,没有提示,于是就在找是否有自动补全的脚本,搜索了一圈踩了一些坑总结了一下具体的步骤。注意这里下载的文件是 _docker 不是 _docker-compose,下错了就还是用不了,好多教程都是下的后者。然后重启 shell 或者 source 一下即可。然后将如下两条命令加到 .zshrc 中去。
2024-08-06 17:15:35 521
原创 Docker 常用命令
创建镜像,将主机的端口 8080 映射到容器的端口 80,挂载主机目录。创建并启动一个新的容器。这个命令有很多选项来定制容器的行为。实时获取Docker事件,如容器的创建、启动、停止等。从Docker Hub或其他镜像仓库拉取指定的镜像。从Dockerfile构建一个新的镜像。列出本地所有的Docker镜像。将镜像保存为一个tar文件。列出所有容器,包括已停止的。删除本地的一个或多个镜像。重启一个已经运行过的容器。列出所有正在运行的容器。删除一个已经停止的容器。进入一个正在运行的容器。停止一个运行中的容器。
2024-08-06 16:25:01 659
原创 【docker】docker和镜像仓库
阿里云(Aliyun Container Registry)是阿里云提供的容器镜像存储和管理服务。它以Docker Registry协议为基础,为容器开发者提供了稳定可靠的镜像存储和分发服务。使用阿里云镜像仓库,您可以将自己的Docker镜像推送到阿里云,实现镜像的统一管理和分发。同时,阿里云镜像仓库还提供了丰富的功能,如镜像版本管理、镜像权限控制、镜像自动构建等,方便您管理和使用镜像。使用阿里云镜像仓库,您可以享受到阿里云提供的高可用、高性能的存储和分发能力,大大提高了容器应用的部署效率和稳定性。
2024-08-06 15:47:51 1038
原创 【python】序列化与反序列化
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使用键值对的形式来表示数据,常用于Web应用程序之间的数据交互。JSON格式的数据可以通过JSON序列化和反序列化来转换为其他编程语言中的对象。YAML格式的数据可以通过YAML序列化和反序列化来转换为其他编程语言中的对象。CSV格式的数据可以通过CSV序列化和反序列化来转换为其他编程语言中的对象。通过这些库,可以方便地进行JSON、CSV和YAML的序列化和反序列化操作,以实现数据的转换和交互。
2024-08-06 14:53:00 467
原创 【docker】虚拟化与docker基础
什么是虚拟化?虚拟化:将应用程序和系统内核资源进行解耦,以操作系统级别进行隔离,目的是提高资源利用率Docker是一个开源的平台,用于自动化部署、打包和运行应用程序。它使用容器化技术,将应用程序及其依赖打包为一个独立的可移植的容器,使应用程序可以在不同的环境中运行。Docker通过减少依赖关系和提供隔离的运行环境,提高了应用程序的可移植性和可扩展性。它具有快速部署、高效管理、资源隔离、易于迁移和弹性伸缩的特点,因此被广泛应用于云计算、DevOps和微服务架构等领域。
2024-08-05 16:16:21 987
原创 【python】Flask框架
Flask是一个使用Python编写的轻量级Web应用框架。它使用简洁的代码语法和丰富的扩展库,可以帮助开发者快速地构建Web应用。Flask的设计理念是简单而灵活,它提供了一系列简单易用的工具和API,以便开发者可以根据自己的需求灵活地定制和扩展应用。Flask采用了"micro"(微型)的设计风格,意味着它的核心功能非常简单,但通过第三方扩展库的使用,可以轻松地增加更多功能。Flask提供了路由功能,可以根据不同的URL请求调用不同的函数,并返回不同的结果。
2024-08-05 08:59:58 626
原创 【python】os和sys模块
os是Python提供的用于与操作系统进行交互的模块,可以执行操作系统相关的功能,如文件和目录操作、进程管理、环境变量等。它提供了许多与操作系统相关的函数和方法。sys是Python提供的用于提供对Python解释器的访问的模块,可以访问解释器的一些变量和函数,以及与解释器相关的功能。它提供了一些与解释器相关的操作,如获取命令行参数、退出程序、设置和读取解释器的环境变量等。
2024-08-01 15:43:07 456
原创 【python】 进程与线程
CPU时间片是操作系统中的一个概念,指的是每个进程在CPU上执行的时间段。每个进程被分配一个固定的时间片,当时间片用完后,操作系统会中断该进程的执行,重新分配CPU时间片给其他进程。线程是进程中的一个执行单元,一个进程可以包含多个线程。线程之间的通信可以直接通过共享内存来实现,避免了进程间通信的开销。进程和线程各有优缺点。线程之间切换开销小,可以更好地实现并发执行和资源共享,但线程之间的访问需要通过同步机制来进行控制。进程可以用来实现任务的隔离和资源管理,而线程可以用来实现任务的并发执行和资源共享。
2024-07-30 21:17:49 333
原创 centos安装python 3.9
配置、编译并安装 Python 3.9,把 Python 3.9 安装到。从 Python 官方网站下载 Python 3.9 的源码包。自带的python2。
2024-07-30 18:57:49 715
原创 【python】python网络编程
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的传输协议。TCP协议通过建立连接、数据传输和断开连接的过程来实现可靠的数据传输。Python中的socket编程是一种网络编程的方法,用于在不同的计算机之间进行通信。使用socket编程,可以实现各种网络应用,比如创建一个简单的聊天程序、发送和接收文件,或者搭建一个简单的Web服务器等。总之,TCP协议提供了可靠的、面向连接的数据传输服务,适用于需要可靠性和有序性的应用程序。
2024-07-24 08:55:50 484
原创 【python】python面向对象之——继承
通过继承,一个对象可以基于另一个已存在的对象来创建,从而从已有的对象中获取属性和方法。子类可以继承父类的属性和方法,并且可以添加自己的属性和方法。一般来说,继承的关系是单向的,子类继承了父类的特性,但父类不知道子类的存在。方法将不会被调用,这可能会导致一些问题,比如父类的初始化代码没有执行,或者父类期望的一些属性没有被正确设置。继承的一个主要目的是实现分类和封装,通过将共同的属性和方法抽象到父类中,可以更好地组织和管理代码。子类通过继承父类的属性和方法,并且可以覆盖父类的方法来实现具体的功能。
2024-07-20 01:19:48 693
原创 【python】Python面向对象之——多态
多态指的是一类事物有多种形态。定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果。① 多态依赖继承② 子类方法必须要重写父类方法首先定义一个父类,其可能拥有多个子类对象。当我们调用一个公共方法时,传递的对象不同,则返回的结果不同。好处:调用灵活,有了多态,更容易编写出通用的代码,做出通用的编程,以适应需求的不断变化!例如,我们可以定义一个Animal类,其中有一个make_sound方法用于输出动物的声音。
2024-07-20 01:11:54 799
原创 【python】python面向对象基础(1)
另外,由于属性被限制在__slots__中指定的名字中,所以可以提高属性名字的访问速度。需要注意的是,一般情况下,我们不需要直接使用这些特殊属性,而是通过常规的方式来访问对象的属性和方法。__slots__是Python中的一个特殊属性,用于限制类的实例只能拥有特定的属性。字典的键是属性和方法的名称,值是属性和方法的值。在类的方法中,self作为第一个参数传递,用于引用该方法所属的实例对象。通过定义这些魔法方法,我们可以自定义对象在不同上下文中的行为,使其具有类似内置类型的功能和特性。
2024-07-15 15:19:42 836
原创 【python】函数重构
通过函数重构,可以改善代码的质量和可维护性,提高开发效率和代码的可读性。检查函数的参数是否过多或过少,是否有不必要的参数,可以考虑重新设计参数,使函数的接口更清晰和简洁。检查函数的参数是否过多或过少,是否有不必要的参数,可以考虑重新设计参数,使函数的接口更清晰和简洁。函数的命名应该准确地描述函数的功能和作用,可以根据函数的具体功能和语义重新命名。函数的命名应该准确地描述函数的功能和作用,可以根据函数的具体功能和语义重新命名。如果函数的逻辑过于复杂,可以将其拆分成多个较小的函数,每个函数只负责一部分逻辑。
2024-07-12 16:58:01 1324
原创 【每日一练】python函数与装饰器
可以看到,装饰器可以方便地为函数添加额外的功能,而不需要修改原函数的代码。装饰器可以是函数形式的装饰器,也可以是类形式的装饰器。使用装饰器的常见场景是在不改变原函数代码的情况下,给函数添加日志记录、性能统计、输入验证等功能。当定义了一个函数或类后,可以通过在其上面添加@装饰器名称,将装饰器应用到函数或类上。有一个计算两个数和的方法,为其添加一个确保两个参数都是int或float类型的装饰器,保证运算不会抛异常。装饰器可以在不修改原始函数或类的情况下,为它们添加额外的功能。在上面的示例中,定义了一个装饰器。
2024-07-12 16:45:53 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人