logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Ansible文件部署

Jinja2 是一款面向 Python 的模板引擎,Ansible 将其集成进来,实现了动态配置的生成能力:运维人员只需要编写一份模板文件,在其中定义变量和逻辑,Ansible 在部署时会自动根据当前受管主机的信息,渲染生成适配该主机的最终配置文件,一份模板即可适配所有主机,大幅降低了配置的维护成本。

#ansible#服务器
K8s 不部署源代码、不构建应用

CD 工具(比如 Argo CD、Jenkins)从 Harbor 拉取更新 K8s 的 Deployment YAML,把镜像版本改成K8s 收到更新请求后,执行滚动更新拉取新镜像创建新 Pod,启动容器销毁旧 Pod确保最终运行的 Pod 数量符合期望这里 K8s 只做「运行容器」的事,完全不关心镜像怎么来的。K8s 是「容器的运行平台」,不是「代码的构建平台」。它只负责运行已经打包好的容器,

#kubernetes
Ansible实施任务控制

【代码】Ansible实施任务控制。

#linux#ansible
Ansible介绍

组件名称定义说明控制节点安装 Ansible 的主机,所有 Ansible 命令均在此节点执行受管主机被 Ansible 管理的主机,无需安装 Ansible,仅需满足连接与运行环境要求Module(模块)Ansible 最小执行单元,Ansible 内置大量现成模块,可完成各类运维操作,如 yum 模块用于软件安装,user 模块用于用户管理Task(任务)单次调用模块的操作,是 Play 中的

#ansible
Ansible Playbook

无合适的正规模块时,可使用三个特殊模块直接运行命令,

#ansible
快速上手 Ansible Playbook 实施

每个 Play 可单独配置remote_user(远程用户)、become(是否提权)、become_method(提权方式,如 sudo)、become_user(提权目标用户),覆盖全局配置;

#ansible
Ansible拆分大型Playbook

在 Ansible 的使用场景中,当自动化任务从单台服务器的简单配置,扩展到数十台服务器的复杂业务部署时,单文件 Playbook 的局限性会逐渐显现:文件长度超过千行,修改维护成本升高;不同项目间的通用任务无法直接复用;多人协作时的代码冲突概率提升。为解决这类问题,Ansible 提供了文件拆分能力,支持将大型 Playbook 拆解为多个独立的小文件,再通过导入或包含的方式将其组合为完整的执行

#ansible#linux
手工模拟一个容器

光有隔离(Namespace)还不够,容器还要有独立的文件视图和网络设备,这才是完整的 “手工容器”。你会发现,虽然用了--pid隔离,但如果不挂载新的 proc,执行ps -ef还是能看到宿主机进程。原理/proc目录是内核给进程看的资源列表。操作:效果:重新执行ps -ef你只能看到自己的 bash 进程了!PID 命名空间彻底生效。“进程本质上是 /proc 挂载点中的文件描述符”。容器需要

#容器
手工模拟一个容器

光有隔离(Namespace)还不够,容器还要有独立的文件视图和网络设备,这才是完整的 “手工容器”。你会发现,虽然用了--pid隔离,但如果不挂载新的 proc,执行ps -ef还是能看到宿主机进程。原理/proc目录是内核给进程看的资源列表。操作:效果:重新执行ps -ef你只能看到自己的 bash 进程了!PID 命名空间彻底生效。“进程本质上是 /proc 挂载点中的文件描述符”。容器需要

#容器
到底了