Docker/K8s
文章平均质量分 78
Docker基本入门并记录项目实战应用。
流烟默
程序员奶爸一枚,有业务合作可联系哦(* ̄︶ ̄)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
彻底搞懂 K8s 内部 DNS 解析:为什么跨 Namespace 访问不用加 `.svc.cluster.local`?
Kubernetes 内部 DNS 通过 search 域实现跨 Namespace 简化访问。当使用 服务名.命名空间 格式时,因点数少于 ndots:5,系统会自动拼接 .svc.cluster.local,无需手动添加后缀。此方式简洁、可读性强,且不受集群域名变更影响,是官方推荐的跨命名空间调用标准。避免使用 xxx.local 等错误格式,排查连接失败问题应优先检查 Service 的端口与选择器配置。原创 2026-11-03 15:49:42 · 278 阅读 · 0 评论 -
Nacos 3.x 集群落地答疑:六个最容易混淆的概念
Nacos 3.x 集群落地中六个易混淆概念解析:8848为基准端口,其余端口由其推导;9848(客户端gRPC)与9849(节点间gRPC)职责分离;配置变更不走Distro,仅通知重读;Distro是临时实例的AP型同步协议,用于服务发现;FQDN确保K8s内域名全局可解析,避免通信失败。理解本质,方能精准排障。原创 2026-09-21 10:55:56 · 195 阅读 · 0 评论 -
从单机到三节点:Nacos 3.x 集群在 K8s 上的落地实践
本文介绍Nacos 3.x在K8s上从单机升级为3节点集群的实践,通过共享MySQL存储实现数据零迁移,利用Headless Service实现成员发现,结合集群配置与端口规范(8848/9848/9849/7848/8080)完成平滑切换。采用“新旧并存、逐工程切流、可随时回滚”策略,确保业务连续性。关键点包括:使用FQDN配置member.list、开启鉴权、移除standalone模式、补全数据库表结构,并通过镜像构建暴露全部端口。最终实现高可用、强一致的注册配置中心。原创 2026-09-21 09:57:41 · 414 阅读 · 0 评论 -
K8s StatefulSet 详解:有状态应用的“身份证”与“固定住址”
StatefulSet 是 Kubernetes 中管理有状态应用的核心控制器,为 Pod 提供稳定的身份、网络标识和存储。与 Deployment 的无状态特性不同,StatefulSet 通过固定序号命名(如 nacos-cluster-0)、Headless Service 提供稳定 DNS、独立 PVC 保证数据持久化,并支持有序或并行编排,适用于数据库、消息队列、注册中心等需成员身份与数据一致性的场景。它不解决应用层一致性问题,仅提供底层基础设施保障,是 Nacos 等集群化服务在 K8s 上稳定原创 2026-09-21 08:59:28 · 248 阅读 · 0 评论 -
K8s 中 Nacos 集群的 Service 编排:Headless、ClusterIP 与 PDB 全解析
PodDisruptionBudget 用于限制自愿中断(Voluntary Disruption)时同时不可用的 Pod 数量。驱逐节点;集群自动缩容;节点维护。PDB 不能阻止非自愿中断(如节点宕机),但能确保运维操作不会一次性干掉太多 Pod。StatefulSet 给了 Nacos 节点稳定的身份,而 Service 编排给了它们通信的神经网络让节点互相发现,得以解析;让业务客户端有一个稳定入口,无需关心后端节点;保护集群多数派,避免运维操作导致选主失败;正确的 apply 顺序。原创 2026-09-21 08:51:53 · 103 阅读 · 0 评论 -
K8s 中为什么 Nacos 集群不能只改 replicas?——从 StatefulSet 设计谈起
在K8s中部署Nacos集群时,仅修改replicas会导致集群组建失败,因Nacos为有状态分布式系统,依赖固定网络标识、成员列表和一致性协议。必须使用StatefulSet配合Headless Service实现稳定身份与发现,通过publishNotReadyAddresses、并行启动、镜像内嵌配置等设计保障集群正常运行。扩缩容需同步更新成员列表并重建镜像,不可仅靠副本数调整。原创 2026-09-21 08:40:29 · 219 阅读 · 0 评论 -
Kubernetes Helm 完全指南:包管理工具从入门到精通
本文是Kubernetes Helm工具的完整指南,详细介绍了Helm的核心技术要点。主要内容包括: Helm解决了传统K8s部署中的配置重复、版本管理、回滚困难等问题,通过模板化、版本控制和依赖管理实现高效部署。 解析了Helm 3的架构设计,包括Chart、Release等核心概念,以及从创建到部署的完整工作流程。 详细拆解了Chart的标准目录结构,重点说明了Chart.yaml和values.yaml的配置规范,涵盖应用元数据、镜像配置、资源限制等生产级参数。 提供了Helm的实用命令速查,包括安装原创 2026-08-15 14:04:17 · 102 阅读 · 0 评论 -
Kubernetes 调度器完全指南:从原理到生产实战
本文深入解析Kubernetes调度器的核心原理与生产实践,主要内容包括: 调度器架构:介绍调度器的工作流程(预选过滤-优选打分-节点绑定)和核心职责(资源匹配、策略应用、负载均衡等) 关键调度策略: 节点选择:nodeSelector/nodeName/nodeAffinity 亲和性/反亲和性:控制Pod的共置或分散 污点与容忍:节点排斥机制 拓扑分布约束:跨故障域部署 生产实践: 多调度器配置方法 常用调度命令速查 性能优化与故障排查建议 最佳实践指南(如合理设置资源请求/限制) 通过实际YAML配置原创 2026-08-15 13:56:59 · 219 阅读 · 0 评论 -
Kubernetes 探针完全指南:健康检查机制深度解析
Kubernetes探针完全指南:健康检查机制解析 本文深入解析Kubernetes三种探针的核心机制: 关键要点: 探针类型与作用: LivenessProbe:检测容器存活状态,失败则重启 ReadinessProbe:检测服务就绪状态,失败则移除流量 StartupProbe:保护慢启动应用,失败则重启 探测方式: HTTP GET(适用于Web服务) TCP Socket(适用于非HTTP服务) Exec命令(适用于复杂检查) GRPC(1.24+版本支持) 核心配置参数: 初始延迟(initial原创 2026-08-15 13:52:30 · 166 阅读 · 0 评论 -
Kubernetes Namespace 完全指南:资源隔离与多租户管理
摘要:本文全面介绍了Kubernetes Namespace的核心概念与实践应用。主要内容包括:Namespace的架构设计、资源隔离机制、配额管理(ResourceQuota/LimitRange)、网络策略(NetworkPolicy)、YAML配置详解及多租户管理最佳实践。文章通过图表和代码示例,详细说明了如何实现资源隔离、权限控制和DNS解析等关键功能,并提供了生产环境中的配额配置模板和操作命令速查。Namespace作为Kubernetes多租户管理的基础单元,能有效解决单集群多团队场景下的资源冲原创 2026-08-15 13:50:21 · 133 阅读 · 0 评论 -
Kubernetes PersistentVolume 完全指南:持久化存储从入门到精通
Kubernetes持久化存储完全指南摘要: 本文系统介绍了Kubernetes持久化存储解决方案,重点讲解了PV/PVC机制和StorageClass动态供给。主要内容包括: 持久化存储的必要性:解决容器数据易失、无法共享等问题 核心架构:PV(存储资源)、PVC(存储请求)、StorageClass(存储模板)的关系 详细配置:PV/PVC的YAML定义和关键参数说明 存储类型:支持hostPath、NFS、CephFS等主流存储后端 动态供给:通过StorageClass实现按需创建PV 生产实践:包原创 2026-08-15 13:48:57 · 236 阅读 · 0 评论 -
Kubernetes ConfigMap & Secret 完全指南:配置管理最佳实践
本文深入解析Kubernetes配置管理的核心组件ConfigMap和Secret,从基础概念到生产实践全面覆盖。主要内容包括: 配置管理必要性:分析硬编码配置的问题,阐述12-Factor应用的配置分离原则,对比ConfigMap与Secret的特性差异 ConfigMap详解:提供命令行和YAML两种创建方式,说明data/binaryData字段,展示环境变量、配置文件等使用场景 Secret详解:介绍6种Secret类型,演示创建方法,讲解Base64编码原理,并给出etcd加密和外部密钥管理方案原创 2026-08-15 13:42:53 · 258 阅读 · 0 评论 -
Kubernetes Service 完全指南:从原理到生产实战
Kubernetes Service 核心指南摘要 本文全面解析 Kubernetes Service 的核心原理与生产实践,主要内容包括: 核心价值:解决 Pod IP 不固定、负载均衡和服务发现问题,提供稳定访问入口。 架构设计: 通过 Label Selector 关联 Pod kube-proxy 实现流量转发(iptables/IPVS) Endpoints 动态维护后端 Pod 四种服务类型: ClusterIP(默认内部访问) NodePort(节点端口暴露) LoadBalancer(云平台原创 2026-08-15 13:37:56 · 219 阅读 · 0 评论 -
Kubernetes Deployment 完全指南:从原理到生产实战
本文是Kubernetes Deployment的全面指南,从基础原理到生产实践,涵盖以下核心内容: 架构设计:解析Deployment-ReplicaSet-Pod三层架构及控制循环机制 配置详解:深入讲解YAML关键字段,包括副本管理、更新策略和选择器配置 滚动更新:图解更新流程,分析maxSurge和maxUnavailable参数的作用 版本控制:介绍版本回滚机制,包括历史版本查看和指定版本回退方法 扩缩容:展示副本数调整的多种方式及自动扩缩容配置 生产实践:提供最佳实践建议,包括健康检查、资源限制原创 2026-08-15 13:32:02 · 254 阅读 · 0 评论 -
Kubernetes Pod 核心技术深度解析:从原理到实战
本文系统性地解析 Kubernetes Pod 核心技术,涵盖 Pod 架构设计(包括 Pause 容器作用)、YAML 核心字段详解、容器深度配置(镜像管理、资源限制等)、生命周期状态机(5种状态)、健康检查机制等内容,并提供生产级 Pod 编写指南和操作命令速查。文章通过表格对比和代码示例,帮助开发者深入理解 Pod 作为 K8s 最小调度单元的本质特性(共享网络/存储、原子性调度),并掌握多容器协作模式(边车/大使/适配器)的实现方法。适合从初学者到有经验开发者系统提升 K8s Pod 相关知识。原创 2026-08-15 13:04:37 · 286 阅读 · 0 评论 -
Kubernetes (K8s) 资源清单(Resource Manifest)详细说明
本文是一份Kubernetes资源清单编写指南,主要内容包括: 资源清单概念:介绍Kubernetes中通过YAML/JSON文件声明资源期望状态的声明式API思想 核心字段详解:系统讲解资源清单的关键组成部分: 必备顶层字段(apiVersion/kind/metadata/spec) 容器定义、存储卷挂载、端口配置 环境变量注入、资源限制配置 Pod级别策略(重启策略、节点选择器等) Nginx Pod实战:提供带完整注释的示例文件,展示如何配置镜像版本、资源限制、存储卷挂载等生产级参数 进阶内容:包含原创 2026-08-15 12:58:57 · 335 阅读 · 0 评论 -
从入门到实战的完整 Docker Compose 教程
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具,通过 YAML 文件配置服务、网络和卷等组件。本文介绍了其核心概念、安装方法、常用指令和两个实战案例。主要内容包括: 基本概念:服务、网络和卷的定义,以及项目命名规则 YAML文件编写:详细说明常见配置项如镜像、构建、端口映射等 常用命令:如up、down、logs等容器管理操作 实战案例: Flask+Redis计数器应用 Node.js+MongoDB+Mongo Express带健康检查的完整应用 文章提供了清晰的配置原创 2026-07-30 22:06:47 · 733 阅读 · 0 评论 -
Docker下部署微服务实践踩坑总结
【1】java.net.UnknownHostException① 问题背景与表现背景:docker启动应用服务注册到别处eureka(注意是别的服务器的eureka),启动命令格式类似如下:sudo docker run -d --name mallprovider -p 9122:9122 -v /home/app/fs:/root/fs -v /home/app/provider/server:/usr/local/server/ --privileged=true mallprovide原创 2020-08-05 17:20:41 · 4207 阅读 · 1 评论 -
Docker本地镜像发布到阿里云Docker Hub
【1】基础环境准备这里使用DockerFile使用与自定义镜像详解中的自定义镜像mycentos的DockerFile。如果不会安装Docker,请参考Docker基础入门与安装实践。##使用的时候注意去掉注释 可以在vim窗口模式下使用dd命令快速删除一行#继承自centos镜像FROM centos#作者与邮箱MAINTAINER jane<jane@qq.com>#设置环境 ENV MYPATH /usr/local#容器启动后的落脚路径WORKDIR $MYP原创 2020-07-13 19:14:46 · 1538 阅读 · 0 评论 -
Docker实践总结
【1】防火墙或者网络错误① 修改了防火墙或者网络,启动容器报错背景:修改了iptables,没有重启docker服务启动容器报错:Error response from daemon: Cannot restart container 2907e4188b3d: iptables failed: iptables -t nat ...原创 2020-02-20 13:51:59 · 1853 阅读 · 0 评论 -
Docker下安装Redis实践
① 检索Redis镜像命令如下:docker search Redis② 从docker hub上(阿里云加速器)拉取redis镜像命令如下:docker pull redis③ 列出本地镜像命令如下:docker images④ 本地/mydocker/myredis/下编辑redis.conf文件...原创 2020-02-13 19:47:52 · 799 阅读 · 1 评论 -
Docker下安装MySQL
Docker下安装并使用MySQL有两种方式,第一使用远程仓库镜像,第二自定义镜像。【1】使用Hub镜像安装MySQL从Hub镜像安装软件常规步骤搜索镜像、拉取镜像、查看镜像、启动镜像、停止容器与移除容器。① 搜索MySQL镜像docker search mysql② 从docker hub上(阿里云加速器)拉取mysql镜像到本地如下所示,拉去MySQL5.7:docker ...原创 2020-02-13 16:41:10 · 6962 阅读 · 0 评论 -
DockerFile使用与自定义镜像详解
【1】DockerFile是什么简单来说,Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。构建的三个步骤:编写Dockerfile文件docker build生成镜像docker run创建容器运行这里以我们熟悉的Centos为例 ,查看DockerFile大致文件结构FROM scratchADD CentOS-8-Container...原创 2020-02-12 22:16:15 · 4839 阅读 · 0 评论 -
Docker容器数据卷与数据共享持久化
【1】Docker容器数据卷先来看看Docker的理念:将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的容器之间希望有可能共享数据Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。为了能保存数据在docker中我们使用数据卷,主要为了容器的持...原创 2020-02-12 19:27:36 · 1860 阅读 · 0 评论 -
Docker镜像原理详解与镜像创建
【1】Docker镜像是什么Docker镜像都是只读的。当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。① UnionFSUnion文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several direc...转载 2020-02-12 14:40:16 · 1114 阅读 · 0 评论 -
docker run -it centos提示FATAL: kernel too old
服务器环境:Centos6.8 64位。内核信息如下:Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 201...转载 2020-02-12 12:45:24 · 6060 阅读 · 4 评论 -
Docker基础入门与安装实践
【1】Docker是什么Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。Docker支持将软件编译成一个镜像,然后在镜像中各种软件...原创 2018-06-22 16:49:21 · 7618 阅读 · 3 评论 -
Docker镜像与容器操作命令详解与实践
【1】镜像基础操作 操作 命令 说明 检索 docker search 关键字 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG 拉取 dockerpull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest 列表 docker images 查看所有本地镜像 删除 ...原创 2018-06-24 15:00:11 · 3416 阅读 · 0 评论
分享