- 博客(90)
- 资源 (12)
- 收藏
- 关注
原创 20250801-2-Kubernetes 存储-节点本地数据卷_笔记
生命周期绑定:与Pod生命周期完全绑定,Pod删除时卷会自动删除临时存储特性:存储在宿主机上的临时目录,路径为/var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~empty-dir/data共享机制:Pod内多个容器可通过挂载同一个emptyDir实现数据共享核心用途:仅适用于同一Pod内多个容器间的数据共享存储位置:实际存储在宿主机节点,但路径由kubelet自动维护使用限制:不适合需要持久化的数据,不能跨Pod共享。
2025-08-02 15:43:29
93
原创 20250802-1-Kubernetes 存储-数据卷介绍_笔记
数据加密存储(Secret)vs 明文配置(ConfigMap)解决容器临时存储问题(崩溃时数据丢失)和多容器文件共享需求。单节点监控工具(如Prometheus)、宿主机文件访问。测试环境、临时数据交换(如日志采集容器读取主容器日志)数据通过网络存储到独立服务器(如NFS、Ceph)临时存储卷,随Pod创建/删除而自动创建/销毁。直接集成云厂商存储服务(如AWS EBS)跨Pod共享,需配置服务器地址/认证。动态配置、按需扩展,但绑定特定云平台。容器日志采集、主从容器数据交互。直接挂载宿主机目录到容器。
2025-08-02 15:21:08
64
原创 20250707-2-Kubernetes 网络-Ingress暴露应用(http与https)_笔记
实现选择: 官方维护的Nginx控制器(lizhenliang/ingress-nginx-controller:v0.49.0)部署方式:NodePort暴露宿主机网络模式(hostNetwork:true,性能更优但存在限制)项目地址: https://github.com/kubernetes/ingress-nginx替代方案: 其他控制器参考K8s官方文档。
2025-07-27 23:46:04
253
原创 20250727-1-Kubernetes 网络-Ingress介绍,部署Ingres_笔记
本文对比分析了Kubernetes中NodePort与七层负载均衡的差异,重点介绍了Ingress的实现原理。NodePort作为四层负载均衡,基于iptables/ipvs实现,仅支持IP和端口转发;而七层负载均衡(Nginx等)能解析HTTP协议内容,支持域名分流、URL路由等高级功能。Ingress通过Controller(Nginx/HAProxy)实现七层负载均衡,提供统一入口(80/443),自动发现Pod并动态生成路由规则,解决了NodePort的端口冲突和功能限制问题。文章还对比了NodeP
2025-07-27 23:11:04
239
原创 20250726-5-Kubernetes 网络-Service 代理模式详解(iptables与ipvs)_笔记
两种模式:IPtables:基于Linux防火墙规则IPVS:基于内核级负载均衡选择依据:决定流量如何被转发到后端Pod完整流程:流量进入节点匹配对应Service规则经过负载均衡策略层最终转发到具体Pod设计特点:通过多级规则实现服务发现和负载均衡功能。
2025-07-27 00:21:07
358
原创 20250726-4-Kubernetes 网络-Service DNS名称解析_笔记
1. 例题:通信需求知识点核心内容考试重点/易混淆点难度系数Service DNS名称解析Service通过DNS名称实现稳定通信,格式为<service名称>.<命名空间>.svc.cluster.local域名格式必须包含命名空间,否则解析失败⭐⭐k8s DNS服务(CoreDNS)为每个Service自动生成A记录,集群内Pod默认使用CoreDNS解析CoreDNS的Service IP固定为10.96.0.10⭐⭐跨命名空间访问访问其他命名空间的Service需指定完整域名(如web.
2025-07-26 23:44:44
326
原创 20250726-3-Kubernetes 网络-Service三种常用类型_笔记
手动维护负载均衡规则的问题:每新增一个服务(如a.com、b.com),需在LB中手动配置域名与NodePort的映射。管理复杂度随服务数量增加,易出错。
2025-07-26 17:11:49
413
原创 20250726-2-Kubernetes 网络-Service 定义与创建_笔记
标签位置:Deployment中有三处定义标签的地方最上层metadata.labels为可选通用标签spec.selector.matchLabels为必选匹配标签spec.template.metadata.labels为Pod模板标签作用区别:通用标签:主要用于资源筛选和查询,可任意定义匹配标签:必须与Pod模板标签一致,用于Service关联项目隔离: 不同项目的标签必须保持唯一性,避免Service关联错误。
2025-07-26 16:23:40
296
原创 20250726-1-Kubernetes 网络-Service存在的意义_笔记
1. Service存在的意义本质特性:知识点核心内容考试重点/易混淆点难度系数Service控制器解决Pod动态IP变化和服务发现问题的核心组件服务发现机制与负载均衡策略的区别⭐⭐⭐⭐Service存在的意义1. 为动态Pod提供稳定访问端点2. 实现多Pod副本的负载均衡与传统静态IP架构的本质区别⭐⭐⭐Service三种类型ClusterIP/NodePort/LoadBalancer不同代理模式的应用场景⭐⭐⭐⭐Pod与Service关系LabelSelector机制关联动态Pod组健
2025-07-26 15:53:23
710
原创 20250720-6-Kubernetes 调度-nodeName字段,DaemonS_笔记
精确匹配配置:实践经验:明确指定key/value的配置更可靠calico等系统组件使用Exists操作符容忍所有污点生产环境建议为关键组件配置专用容忍常见问题:效果(effect)必须匹配:NoSchedule/NoExecutemaster节点默认有NoSchedule污点多个污点需要分别配置容忍工作特点:自动在符合条件的节点上创建pod验证案例:删除节点污点后,DaemonSet会自动拉起pod。
2025-07-20 18:23:52
1170
原创 20250720-5-Kubernetes 调度-污点与污点容忍_笔记
匹配精度:nodeSelector仅支持完全匹配nodeAffinity支持多种逻辑运算符策略灵活性:nodeSelector只有硬性要求nodeAffinity支持软硬两种策略使用场景:简单需求使用nodeSelector复杂调度需求使用nodeAffinity。
2025-07-20 17:54:00
534
原创 20250720-4-Kubernetes 调度-指定节点调度:nodeSelector&nodeAffinity笔记
软硬策略:requiredDuringScheduling(硬)和preferredDuringScheduling(软)kubectl label nodes <node-name> key=value(添加)kubectl label nodes <node-name> key-(删除)高级匹配:支持in/notIn/Exists等操作符。硬性约束:必须完全匹配标签否则调度失败。硬件特定调度(如GPU/SSD节点)通过节点标签完全匹配调度Pod。Node: 显示实际调度节点。GPU节点:AI计算任务。
2025-07-20 17:24:23
998
原创 20250720-3-Kubernetes 调度-资源限制对Pod调度的影响(2)_笔记
1)Kubernetes资源请求与限制配置request与limit的关系:request必须小于limit的20%-30%(推荐比例)request绝对不能大于limit(存在约束限制)节点limits配置原则:节点上limits值不建议超过宿主机物理配置超过物理配置20%时限制将失去意义建议配置不超过宿主机物理资源的80%
2025-07-20 16:58:29
1239
原创 20250720-2-Kubernetes 调度-资源限制对Pod调度的影响(1)_笔记
默认调度器: 通过schedulerName: default-scheduler指定自定义调度器: Kubernetes支持多个调度器并存,可通过指定不同调度器名称使用自定义调度逻辑。
2025-07-20 15:55:58
1223
原创 20250720-1-Kubernetes 调度-白话理解创建一个Pod的内部工作流_笔记
系统映射:小卖铺 → Kubernetes集群老板 → API Server仓库 → etcd学生 → 各组件(Scheduler/Kubelet等)商品 → 资源对象(Pod/Service等)
2025-07-20 15:37:32
808
原创 20250718-6-Kubernetes 调度-Pod对象:环境变量,初始容器,静态_笔记
配置要点:livenessProbe和readinessProbe使用相同参数结构可独立配置不同检查方式和参数通常两者会同时定义但可调整不同行为验证方法:kubectl get pods查看RESTARTS列计数kubectl get ep -w实时观察endpoints变化kubectl describe pod查看检查日志典型场景:模拟应用故障:删除index.html触发404观察现象:容器重启计数+1,短暂从负载均衡移除。
2025-07-18 23:55:23
1181
原创 20250718-5-Kubernetes 调度-Pod对象:重启策略+健康检查_笔记
完整YAML示例:kind: Podmetadata:spec:关键要点:多容器Pod操作必须指定容器名称日志和终端访问是故障排查的重要工具删除操作不是即时生效,有优雅终止过程。
2025-07-18 22:35:04
597
原创 20250718-4-Kubernetes 应用程序生命周期管理-Pod对象:实现机制_笔记
通过infra container实现网络协议栈共享(TCP/IP/MAC/端口等),打破网络命名空间隔离。一个Pod内多个容器端口可通过Service同时暴露(如Nginx 80和辅助服务8080)在边车容器通过127.0.0.1访问主容器服务(如wget 127.0.0.1:80)使用emptyDir卷实现多容器目录共享(如Nginx日志目录与边车容器采集目录)主容器(如Nginx)与辅助容器(如日志采集器)通过共享网络/存储协同工作。验证方法:在边车容器修改文件后主容器可实时读取。
2025-07-18 22:08:15
931
原创 20250718-3-Kubernetes 应用程序生命周期管理-Pod对象:存在意义_笔记
Docker与K8s的namespace区别:虽然都基于Linux namespace,但K8s的namespace是逻辑隔离单元。包括bridge/host/container/none等模式,container模式可实现网络命名空间共享。通过infra container创建共享网络空间,业务容器通过container模式加入。实现容器隔离的基础技术,包括网络、文件系统、进程PID、用户与用户组等6种隔离类型。与namespace的关系:namespace负责隔离,cgroup负责限制。
2025-07-18 21:48:52
918
原创 20250718-2-Kubernetes 应用程序生命周期管理-Pod对象:基本概念(豌豆荚)_笔记
1)Pod基本概念定义:Pod是Kubernetes创建和管理的最小单元,一个逻辑抽象概念组成:由一个或多个容器组成特点:可理解为一个应用实例容器始终部署在同一个节点上容器间共享网络和存储资源设计灵感:类比豌豆荚结构,外层Pod抽象封装,内部容器如同豌豆颗粒。
2025-07-18 21:27:40
570
原创 20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
升级过程:K8s默认采用滚动升级策略,通过逐步替换Pod实现零停机发布。例如一个应用有3个Pod副本,升级时先升级1个Pod(红色变蓝色),完成后升级第二个,最后升级第三个。命令语法:kubectl rollout history deployment <deployment名称>默认策略,可通过kubectl set image或修改yaml触发。管理Pod和ReplicaSet,支持滚动升级、回滚、副本数调整。支持层级查询如deployment.spec。--dry-run生成标准模板。
2025-07-18 21:16:28
840
原创 20250712-3-Kubernetes 应用程序生命周期管理-服务编排(YAML)及编写技巧_笔记
控制器作用:管理被控制对象(如Pod)的生命周期层级关系:控制器(如Deployment)→ Pod → 容器Pod是抽象资源单位,实际运行的是容器核心字段:所有控制器必须包含apiVersion、kind、metadata三个字段。
2025-07-12 22:19:41
1570
原创 20250712-2-Kubernetes 应用程序生命周期管理-部署应用的流程_笔记
1. 制作镜像(Dockerfile)→ 2. 使用Deployment部署 → 3. Service/Ingress暴露应用 → 4. 日常运维(监控/更新/架构优化)从生到死的全过程(如:人类生老病死、树木生长枯萎),在K8s中指应用从开发部署到维护下线的完整过程。2. 通过Service暴露targetPort(镜像内应用端口,如80)镜像与环境一致性是关键优势,需掌握Service与Pod的端口映射关系。Deployment与Pod的创建关系(非直接创建容器)是易混淆点。- ---分隔多资源。
2025-07-12 21:21:55
1038
原创 20250712-1-Kubernetes 监控与日志管理-K8s日志管理与维护_笔记
关键路径:/var/lib/docker/containers/<容器ID>/<容器ID>-json.log。流程顺序:API Server → Metrics Server → kubelet → cAdvisor。2. 容器标准输出日志(/var/lib/docker/containers)证书验证参数:--kubelet-insecure-tls 的作用与安全考量。1. 标准输出:节点部署日志采集器监控 docker 日志目录。1. 组件日志(kubelet/journalctl)
2025-07-12 20:52:42
1029
原创 20250710-3-Kubernetes 监控与日志管理-监控集群资源利用率(部署Metric-server)_笔记
default(默认)、kube-system(系统)、public(公开)系统命名空间(kube-system)无需手动管理。NotReady状态需检查kubelet服务。必须指定命名空间查看非default资源。逻辑隔离资源、分类整理、权限控制基础。连带删除所有内部资源,需先清理资源。命名空间是RBAC授权的重要维度。不同命名空间可存在同名资源。需额外部署监控组件才能使用。后续可实现团队间的资源隔离。1. 查看资源集群状态。命名需体现业务/团队属性。部署时需明确目标命名空间。必须配套命名空间参数。
2025-07-11 19:28:40
657
原创 20250710-2-Kubernetes 集群部署、配置和验证-网络组件存在的意义?_笔记
Kubernetes制定的网络插件接口标准,Calico/Flannel都遵循该标准。移除dockershim适配层,要求容器运行时必须支持CRI标准。同节点Pod通过docker0网桥二层通信,跨节点需网络组件。独立主机分配相同IP段导致容器IP冲突,无法直接跨主机通信。区分Calico/Flannel等不同网络组件的适用场景。解决跨主机容器通信问题,实现集群内Pod间网络互通。通过BGP协议实现跨节点路由,支持网络策略控制。CNI与CRI(容器运行时接口)的区分。1. 部署网络组件的目的。
2025-07-11 18:41:37
978
原创 20250710-1-Kubernetes 集群部署、配置和验证-搭建K8s集群常见问题_笔记
修改/etc/kubernetes/manifests下对应yaml文件,注释port: 0配置。2. 查看日志kubectl logs -n kube-system <pod-name>手动设置sysctl net.ipv4.ip_forward=1。2. 确认token对应dashboard-admin账户。1. IP指定错误(公有云需用内网IP)1. kubeadm init失败。1. 精确复制token不带空格。1. 复制的token包含空格。2. 使用了错误的token。
2025-07-11 18:26:50
849
原创 20250708-2-Kubernetes 集群部署、配置和验证-使用kubeadm快速部署一个K8s集群_笔记
1. 执行kubeadm init命令。1. 执行kubeadm join命令。安装kubeadm/kubelet。docker pull 阿里云镜像。1. Token有效期问题。SELinux默认开启需关闭。使用kubeadm init。注意API Server地址。执行kubeadm join。关闭防火墙和SELinux。1. 安装Docker。防火墙规则会影响节点通信。需配置Service类型。1. 前提条件与准备。Master节点初始化。1. 网络部署过程。设置主机名和时间同步。
2025-07-08 23:23:20
950
原创 20250708-1-Kubernetes 集群部署、配置和验证-K8s基本资源概念_笔记
1)基础命令create: 通过文件名或标准输入创建资源expose: 为Deployment或Pod创建Servicerun: 在集群中运行特定镜像set: 在对象上设置特定功能explain: 查看文档参考资料get: 显示一个或多个资源edit: 使用系统编辑器编辑资源delete: 通过多种方式删除资源。
2025-07-08 18:18:01
584
原创 20250708-02-redis通用key操作命令_笔记
字符串(string)、哈希(hash)、链表(list)、集合(set)、有序集合(sorted set)查询所有键、随机返回键、判断键存在、删除键、重命名键、移动键。TTL返回-1表示永久有效,-2表示键不存在。SELECT index (切换数据库)KEYS *会返回所有键,生产环境慎用。KEYS s[ae]t (字符集匹配)Redis默认16个数据库(0-15)PEXPIRE/PTTL (毫秒单位)MSET/MGET (批量操作)KEYS s* (星号匹配)DBSIZE (查看键数量)
2025-07-08 16:21:55
847
原创 20250708-03-string结构及命令详解_笔记
基本语法: bitop operation destkey key1 [key2...]操作类型:AND: 按位与操作OR: 按位或操作NOT: 按位非操作(注意:NOT操作只能对单个key执行)XOR: 按位异或操作存储机制: 将操作结果保存到destkey中字符串限制:offset最大值为由此可推出最大字符串长度为512MB。
2025-07-08 15:06:59
802
原创 20250708-01-redis特点及安装使用_笔记
基本属性:开源项目,采用BSD许可证高级键值(Key-Value)存储系统支持多种数据结构的数据服务器Redis与Memcached的区别功能定位:Redis:完整存储解决方案,支持持久化Memcached:轻量级缓存工具数据结构支持:Redis支持5种数据结构:字符串、哈希、链表、集合、有序集合Memcached仅支持字符串类型发展历史:Redis相对年轻(2008-2009年推出)Memcached历史更悠久Redis的持久化功能。
2025-07-08 11:45:24
648
原创 20250707-4-Kubernetes 集群部署、配置和验证-kubeconfig_笔记
项目地址:https://github.com/kubernetes-sigs/cri-tools/功能特点:支持多种容器运行时(containerd、cri-o等)命令设计参考docker命令,便于迁移使用文件位置: 默认存储在用户家目录下的.kube/config文件中核心功能: 作为kubectl连接Kubernetes集群的认证配置文件,包含集群连接信息和客户端认证凭据生成方式: 可通过kubectl config指令生成配置文件。
2025-07-07 21:02:38
719
原创 20250707-4-Kubernetes 集群部署、配置和验证-K8s基本资源概念初_笔记
1)基础命令create: 通过文件名或标准输入创建资源expose: 为Deployment或Pod创建Servicerun: 在集群中运行特定镜像set: 在对象上设置特定功能explain: 查看文档参考资料get: 显示一个或多个资源edit: 使用系统编辑器编辑资源delete: 通过多种方式删除资源。
2025-07-07 20:21:02
651
原创 20250707-3-Kubernetes 核心概念-有了Docker,为什么还用K8s_笔记
Docker安装简单(yum install或二进制部署),Kubernetes需额外学习。Docker是单机容器引擎,Kubernetes是容器编排系统,用于管理多节点容器集群。Swarm已淘汰,Mesos非容器原生,Kubernetes是行业标准。无状态应用适合容器化,有状态应用(如MySQL集群、ETCD)需谨慎。容器与宿主机用户体系隔离,需确保容器内用户对挂载目录有权限。从Docker基础到K8s集群搭建,逐步掌握核心概念。Docker适合单机,Kubernetes适合集群。
2025-07-07 19:47:46
720
原创 20250707-2-第二章:Kubernetes 核心概念-K8s集群架构,生产部署K8s两_笔记
Master组件(API Server/Controller Manager/Scheduler) + Node组件(kubelet/kube-proxy) + etcd存储。测试环境:2C2G;生产环境:Master 8C16G+100G,Node 16C64G+500G。与容器引擎(Docker/containerd)交互。kubeadm(快速部署) vs 二进制(深度可控)初始化集群、节点加入、版本升级、Token管理。集群统一入口、组件协调者、状态存储至etcd。调度策略(资源需求/亲和性)
2025-07-07 15:37:14
1305
原创 20250707-1-第二章:Kubernetes 核心概念-K8s核心概念,熟悉官方文档_笔记
起源: 由Google在2014年开源,基于Google15年生产环境运维经验。核心功能: 容器集群管理系统,将多个容器组合成逻辑单元进行管理。名称由来: "K8S"是"Kubernetes"的缩写,K和s之间有8个字母,也有人简称为K8。
2025-07-07 09:24:16
972
原创 20250706-13-Docker快速入门(下)-容器网络_笔记
docker0网桥(默认)、veth pair(虚拟网线)、iptables规则。容器通过veth pair连接到docker0网桥,基于MAC地址二层互通。容器流量经docker0→宿主机→SNAT转换源IP后出站。veth pair解决宿主机与容器网络命名空间隔离问题。通过docker0网桥实现容器通信,类比交换机功能。ip addr/ifconfig查看docker0。目标地址转换(DNAT)+路由表查询。虚拟网桥+veth pair设备对。网桥管理+流量转发+地址转换。Docker网络基础模型。
2025-07-06 23:27:46
535
原创 20250706-12-Docker快速入门(下)-容器数据持久化_笔记
Docker 管理的宿主机文件系统部分,存储在固定目录(/var/lib/docker/volumes)挂载宿主机目录到 /usr/share/nginx/html,修改内容后删除容器仍保留数据。容器重启不会丢失数据,但删除容器会导致数据丢失;允许将宿主机任意目录挂载到容器中,直接覆盖容器目标目录。需要保留关键数据的容器化服务(如数据库、日志服务)宿主机空目录会覆盖容器目录内容,需预先准备数据。容器内持久化目录需与应用数据目录一致。镜像模板数据 vs 运行时持久化数据。1)例题:容器数据持久化命令示例。
2025-07-06 23:15:45
695
原创 20250706-11-Docker快速入门(下)-构建Nginx镜像和Tomcat镜像_笔记
定义: 由VMWare公司开源的容器镜像仓库,基于Docker Registry进行企业级扩展企业级特性:提供管理用户界面基于角色的访问控制集成审计日志功能官方资源:官网: https://goharbor.io/
2025-07-06 22:08:48
661
IT 取证解密工具,针对微软系统
2010-11-16
Azure_AD_PowerShell_Version_1.1.166.0_GA_Release_Notes_V2
2018-04-20
网络操作系统高级管理
2010-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅