DevOps
文章平均质量分 86
照物华
一切过往,皆为序章
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解决 `registry.k8s.io` 拉取镜像慢或失败:配置 Docker 代理一劳永逸
本文介绍了如何通过配置Docker全局网络代理解决从registry.k8s.io等国外镜像仓库拉取镜像缓慢的问题。方法包括:创建代理配置文件设置HTTP/HTTPS代理,重载systemd并重启Docker服务,以及验证配置生效。相比手动使用国内镜像源,配置代理能永久生效、适用于所有国外仓库,且部署环境友好。通过简单的四步操作,即可实现稳定快速的镜像拉取,提升开发和运维效率。原创 2025-08-25 01:38:48 · 1518 阅读 · 0 评论 -
从手动到自动:我的 Kubernetes NFS 存储之旅
Kubernetes存储管理从手动到自动化的实践指南 本文分享了Kubernetes存储管理的实践经验,从静态存储到动态供应的完整解决方案。文章首先介绍了NFS服务器的搭建步骤。然后深入讲解了PV和PVC的静态绑定机制,通过房产中介的比喻形象说明自动匹配逻辑,并对比了手动绑定和自动匹配两种模式的区别。最后,文章将引导读者实现基于StorageClass的NFS动态存储供应,解决手动创建PV的低效问题,充分发挥Kubernetes的自动化优势。整个实践过程循序渐进,适合Kubernetes初学者理解存储管理。原创 2025-08-25 01:23:05 · 1338 阅读 · 0 评论 -
容器安全实践(二):实践篇 - 从 `Dockerfile` 到 Pod 的权限深耕
本文深入探讨容器安全实践,重点分析runAsNonRoot的本质意义、镜像构建与运行时权限的契约关系。文章指出runAsNonRoot不仅是简单的安全开关,更是彻底放弃root权限的安全理念。在镜像构建环节,强调"构建时用root,运行时用非root"的黄金法则,详细说明Dockerfile中创建非root用户、处理文件权限等关键步骤。最后,提出Kubernetes部署时的安全配置组合拳,强调容器安全是从镜像构建到Pod运行的全生命周期防护过程。原创 2025-08-23 16:44:47 · 1059 阅读 · 0 评论 -
容器安全实践(一):概念篇 - 从“想当然”到“真相”
容器安全不能依赖默认配置,共享内核机制使其存在安全风险。默认情况下容器以root用户运行,可能危及宿主机。特权容器(privileged)更危险,几乎等同宿主机root权限。Kubernetes提供了Pod安全策略(PSA)和安全上下文双重防护,建议:1)强制非root用户运行(runAsUser);2)丢弃所有非必要特权(capabilities);3)禁止权限提升;4)使用只读文件系统(readOnlyRootFilesystem)。通过Pod级别通用策略和容器级精细配置,构建深度防御体系。原创 2025-08-23 15:21:26 · 2186 阅读 · 0 评论 -
告别硬编码:用 Command 和环境变量动态配置 Kubernetes 应用
本文探讨了容器镜像中的ENTRYPOINT和CMD指令与Kubernetes Pod配置中command和args字段的关系,介绍了如何通过环境变量实现灵活配置。文章首先解释了Dockerfile中ENTRYPOINT定义主程序、CMD提供默认参数的作用,以及docker run命令如何覆盖这些设置。随后详细说明了Kubernetes中command覆盖ENTRYPOINT、args覆盖CMD的机制,并提供了多个配置示例。最后强调了使用环境变量解耦配置的最佳实践原创 2025-08-23 12:51:07 · 1270 阅读 · 0 评论 -
深入理解Kubernetes核心:标签与标签选择器实战解析
Kubernetes标签(Labels)和标签选择器(Label Selectors)是资源编排的核心机制。标签是附加到资源的键值对,用于组织和筛选对象,遵循[前缀/]名称的格式规范。标签选择器分为基于等值关系(如=、!=)和基于集合关系(如in、exists)两种,用于查询符合条件的资源。标签用于程序筛选,而注解用于记录非识别性元数据。掌握标签和选择器是高效管理Kubernetes集群的关键。原创 2025-08-22 21:32:05 · 1069 阅读 · 0 评论 -
k8s标签深度解析:别再混淆 metadata 和 template 了!
Kubernetes YAML文件中顶层metadata.labels和spec.template.metadata.labels的区别: 顶层metadata:标识资源对象本身(如Deployment),用于资源管理和分类 template metadata:定义由控制器创建的Pod的标签,必须包含selector.matchLabels中指定的所有标签。理解这两者的区别对Kubernetes资源管理至关重要。原创 2025-08-22 21:02:04 · 1000 阅读 · 0 评论 -
使用 YAML 文件,如何优雅地删除 k8s 资源?
本文介绍了两种基于文件删除Kubernetes资源的方法:1)kubectl delete -f直接删除YAML文件中定义的资源,操作简单安全;2)kubectl apply --prune通过比较集群状态与本地文件实现同步删除,适用于GitOps场景但需谨慎使用标签选择器。第一种方法适合日常删除操作,第二种更适合自动化集群管理。两种方法各有优势,可根据实际需求选择使用。原创 2025-08-22 20:19:16 · 599 阅读 · 0 评论 -
深入理解 Kubernetes 网络:四种核心通信模型详解
本文深入解析Kubernetes网络四大核心通信模型:1)同一Pod内容器间通过共享网络命名空间通信;2)Pod间通过CNI插件实现直接通信;3)Pod通过Service的稳定地址访问服务,由kube-proxy提供负载均衡;4)外部流量通过NodePort/LoadBalancer/Ingress访问集群服务。Kubernetes网络遵循"每个Pod拥有唯一IP"原则,确保透明通信,为微服务架构奠定基础。理解这些模型对构建可靠云原生应用至关重要。原创 2025-08-22 01:02:07 · 1052 阅读 · 0 评论 -
K8s概念之进程、容器与 Pod 的终极指南
本文用通俗比喻解析Kubernetes中进程、容器和Pod的区别:进程是程序执行的实例(如房间里的活动);容器是隔离的运行时环境(如独立房间);Pod则是多个容器的逻辑分组(如整栋房子),共享网络、存储并被统一调度。这三个概念层层嵌套,Pod作为Kubernetes最小调度单元,是应用部署的基本单位。通过"房子"的比喻和对比表格,帮助初学者快速理解这些核心概念的本质差异和相互关系。原创 2025-08-21 23:49:30 · 414 阅读 · 0 评论 -
告别踩坑:Kubernetes 集群节点的四大核心配置指南
Kubernetes节点配置需重点关注四大核心要素:禁用Swap:避免性能下降和调度误判,需永久修改/etc/fstab;DNS配置:确保内外网域名解析,检查systemd-resolved状态及/etc/resolv.conf;防火墙规则:精准开放K8s所需端口(如6443、10250等),避免全关导致安全风险;时间同步:通过NTP(如chrony)保持节点时间一致,防止证书失效和日志混乱。这些配置是集群稳定运行的基础,需在部署前严格校验。原创 2025-08-20 19:10:57 · 569 阅读 · 0 评论 -
Ubuntu 主机名:精通配置与管理
本文详细介绍了 Ubuntu 主机名的配置最佳实践是将静态主机名设为完全限定域名(FQDN),如 k8s-node03.ilinux.io。配置分两步:首先,使用现代命令 sudo hostnamectl set-hostname FQDN 设置主机名,该命令会自动更新 /etc/hostname。其次,手动编辑 /etc/hosts 文件,将 FQDN 和短主机名同时映射到 127.0.1.1。遵循此流程可确保主机名在所有网络环境中都能正确解析原创 2025-08-20 18:43:23 · 1283 阅读 · 0 评论 -
精简 Ubuntu 登录欢迎信息:让你的终端更干净、高效
文章介绍了三种精简 Ubuntu 登录欢迎信息(MOTD)的方法。最推荐的是通过移除 /etc/update-motd.d/ 下特定脚本的执行权限,实现按需精简。如果只想精简 SSH 登录,可修改 /etc/ssh/sshd_config 并设置 PrintMotd no。最后,文章提到一种高级方法:注释掉 /etc/pam.d/sshd 中的 pam_motd.so 行,以完全禁用 MOTD。文章强调,通过这些方法,可将冗长的登录信息变为一个简洁、高效的终端环境。原创 2025-08-20 18:28:58 · 525 阅读 · 0 评论 -
docker之构建自己的镜像
文章目录官方Dockerfile使用容器创建镜像Dockerfiledockerfile 语法FROM 指定基础镜像RUN 执行命令定义自己的镜像发布镜像将镜像发布到 docker hub将镜像发布到阿里云 docker 仓库通过docker之初见 和 docker之基石—镜像中体验了通过 docker 来使用tomcat和mysql,并了解了镜像的构成,那么有个问题,我们以前都是通过官网去下载安装包==>解压到指定目录==>修改配置文件==>启动使用,现在使用 docker 只要pul原创 2020-05-31 19:47:50 · 836 阅读 · 0 评论 -
Docker之基石—镜像
文章目录镜像的组成容器和层镜像大小中间层镜像镜像的删除总结当我们pull一个Docker Image时,就会看到如下的输出,那么pull的时候,控制台输出的这些信息是什么意思呢?想说明什么呢?[vagrant@nexus3 ~]$ docker pull mongoUsing default tag: latestlatest: Pulling from library/mongo23884877105a: Pull completebc38caa0f5b9: Pull complete 29原创 2020-05-31 14:56:46 · 806 阅读 · 0 评论 -
Docker之间导出/导入镜像
方式一、使用 export 和import格式:docker export CONTAINER(容器)使用 docker ps -a 查看本机已有的容器以Postgres为例docker ps -a导出到home根目录下:docker export 4116acb7050d > ~/my-postgres-image.tar导入镜像:docker import ~/my-postgres-image.tar方式二、使用save 和 load格式:docker sav.转载 2020-05-26 21:28:30 · 375 阅读 · 0 评论 -
docker常用命令列表
推荐使用 vagrant + virtualbox 快速搭建 centos 环境来学习 docker。使用Vagrant快速搭建centos虚拟机解决vagrant中的centos主机无法远程连接的问题docker 安装简直就是傻瓜式的,按照 官方文档 一顿操作就搞定了,实在没啥可说的。## 输出正常就表示安装成功了sudo docker version#Client: Docker...原创 2020-05-26 16:06:44 · 462 阅读 · 0 评论 -
使用Nexus搭建npm和maven私服的配置记录
我是在centos7环境上安装的 Nexus,版本是nexus-3.22.0-02修改端口号端口的配置在/path/nexus-3.22.0-02/etc/nexus-default.properties 文件,修改application-port属性,并重启即可。禁用匿名访问权限...原创 2020-04-12 18:39:32 · 1421 阅读 · 0 评论
分享