Docker
未读YAML 文件概述 在 Kubernetes 中,YAML(YAML Ain’t a Markup Language)文件是用于定义和管理集群资源的核心工具。通过编写 YAML 格式的资源清单文件(Resource Manifest),用户可以声明式地创建、更新或删除 Kubernetes 资源对象(如 Pod、Deployment、Service 等)。这些文件通过 kubectl 命令(如 kubectl apply 或 kubectl create)执行,实现对集群资源的编排和部署。 YAML 文件书写格式 YAML 基础语法 缩进:使用空格缩进,相同层级的元素需左侧对齐,禁止使用 Tab 键。 注释:以 # 开头,从该字符到行尾的内容会被忽略。 数据结构: 对象(映射):键值对集合,如 key: value。 数组(序列):用 - 标记的列表,如: 123ports: - containerPort: 80 - containerPort: 443 纯量:单个值,如字符串、数字、布尔值等。 示例代码结构 123456789101112apiVersi ...
Docker
未读服务器规划 角色 IP地址 主机名 资源配置 组件 关键要求 Master 192.168.56.101 k8smaster 4CPU/4GB/20GB+ kube-apiserver、kube-controller-manager、kube-scheduler、etcd 确保与Worker节点网络互通,时间同步,Swap关闭 Node1 192.168.56.102 k8snode1 4CPU/8GB/40GB+ kubelet、kube-proxy、docker、etcd 容器运行时(Docker)版本与K8s兼容,Cgroup驱动配置为systemd Node2 192.168.56.103 k8snode2 4CPU/8GB/40GB+ kubelet、kube-proxy、docker、etcd 同上 目录结构 所有节点执行以下命令创建统一目录: mkdir -p /opt/kubernetes/{bin,cfg,ssl,logs,templates} 目录结构如下: 123456/opt/kubernetes/├── bin/ ...
Docker
未读搭建K8s环境平台规划 架构设计对比 架构类型 优点 缺点 适用场景 单Master节点 部署简单,资源消耗低 存在单点故障风险,扩展性差 测试环境、小规模开发环境 多Master节点 高可用、无单点故障,支持大规模集群 部署复杂,资源消耗高 生产环境、中大型企业级应用 多Master节点核心组件高可用设计 API Server高可用:通过负载均衡器(如Nginx、HAProxy)暴露VIP,流量分发到多个Master节点的API Server。 etcd集群:部署3/5节点etcd集群,确保数据一致性和高可用。 Controller Manager与Scheduler:以 Leader Election 模式运行,同一时间只有一个实例生效 服务器硬件配置要求 测试环境(非生产) 节点类型 CPU 内存 硬盘 数量 说明 Master节点 2核 4GB 20GB 1 可运行核心组件(API Server、etcd等) Worker节点 4核 8GB 40GB ≥2 运行业务容器 生产环境(最低要求) 节点类型 CPU 内存 硬盘 ...
Docker
未读k8s概述和特性 Kubernetes的官网:https://kubernetes.io/ 发音 有很多人不知道kubernetes应该怎么发音,正确的发音是[kubə’netis],重音在第三个音节,读音:库伯耐踢死 那为什么很多场景称为 是 k8s呢? 这个其实和硅谷的人起名有关系,他们有一个坏习惯,就是喜欢把一个单词首字母+跳过的字母数来进行缩写,比如亚马逊的Algorithms被缩写成A9,而kubernetes缩写为k8s,意思就是k后面跳过8个字母后到s,就变成了k8s。 概述 1. 什么是 Kubernetes? 定义: Kubernetes 是一个开源的 容器编排平台,用于自动化部署、扩展和管理容器化应用。 由 Google 基于其内部系统 Borg 的经验设计,2014 年开源并捐赠给 CNCF(云原生计算基金会)。 核心目标: 自动化运维:简化容器化应用的部署、扩缩容、故障恢复等操作。 跨环境一致性:提供一致的运行环境(开发、测试、生产)。 资源高效利用:优化计算、存储、网络资源的分配与调度。 2. Kubernetes 解决了什么问题? 容器化应 ...
Docker
未读Docker
未读Python
未读安装 pip install loguru 简单使用 123456import loguruloguru.logger.info('info')loguru.logger.debug('debug')loguru.logger.error('error')loguru.logger.warning('warning') 默认的输出格式是包含【时间、级别、模块名、行号以及日志信息】,不需要手动创建 logger ,直接使用即可,另外其输出还是彩色的,看起来会更加友好。 保留日志文件 一般情况,我们都需要将日志输出保存到文件中,loguru直接通过 add() 方法,就可以配置一个日志文件 12345678910111213import loguru## 保留日志文件loguru.logger.add("interface_log_{time}.log", rotation="500MB", ...
Python
未读原文链接:刘江的博客教程 既然有压缩模块zipfile,那有一个归档模块tarfile也是很自然的。tarfile模块用于解包和打包文件,包括被gzip,bz2或lzma压缩后的打包文件。如果是.zip类型的文件,建议使用zipfile模块,更高级的功能请使用shutil模块。 定义的类和异常 tarfile.open(name=None, mode=‘r’, fileobj=None, bufsize=10240, \**kwargs) 返回一个TarFile类型的对象。本质上就是打开一个文件对象。Python随处可见这种文件对象类型的设计,你很容易就明白,不是吗? name是文件名或路径。 bufsize用于指定数据块的大小,默认为20*512字节。 mode是打开模式,一个类似filemode[:compression]格式的字符串,可以有下表所示的组合,默认为“r”。 模式 说明 ‘r’or’r:*’ 自动解压并打开文件(推荐模式) ‘r:’ 只打开文件不解压 ‘r:gz’ 采用gzip格式解压并打开文件 ‘r:bz2’ 采用bz2格式解压并打开 ...
又很多添加水印的方法,如opencv模块、PIL模块但是感觉都较为复杂,filestools模块其本质上也是对ImageDraw.Draw.text()方法做了进一步的封装,让我们用起来更加的简便。 使用 filestools实现全图水印 /usr/local/bin/pip3 install filestools -i https://pypi.douban.com/simple/ # 安装 我们使用add_mark()方法可以生成数量较多的水印,该方法有8个参数,比较重要的有 mark:水印的内容 水印样式包括color、size、opacity、space、angle:颜色、大小、不透明度、空间、角度 123456789101112131415import osfrom watermarker.marker import add_mark # 添加水印模块def update_img(dir,water_name): try: if not dir and water_name: print("文件夹地址或水印名称不能为空") retu ...