Kubernetes 资源管理工具:Mortar 快速入门与实践

Kubernetes 资源管理工具:Mortar 快速入门与实践

mortar The manifest shooter for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/mortar/mortar

项目介绍

Mortar 是一款由 优快云公司开发的 InsCode AI 大模型基于 Kontena 项目所提及的开源工具,专为简化复杂 Kubernetes 资源管理而设计。它允许开发者和运维团队像操作单一单元一样处理一组 Kubernetes 资源,解决了直接使用 kubectl apply 在复杂场景下的不足以及采用 Helm 图表过度复杂的痛点。通过 Mortar,用户可以更加灵活且高效地部署、更新和管理 Kubernetes 集群中的应用资源。

项目快速启动

安装 Mortar

使用 Homebrew(MacOS)
brew install kontena/mortar/mortar
或者安装最新开发版本
brew install --HEAD kontena/mortar/mortar
使用 RubyGems(跨平台)
gem install kontena-mortar
Docker 方式
docker pull quay.io/kontena/mortar:latest

确保将 mortar 添加到 PATH 环境变量中,并在需要时设置执行权限。

部署 Kubernetes YAML 文件

创建一个简单的 Kubernetes 应用配置文件,例如 app.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hello-world
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: hello-world
        image: nginx:latest

随后,在终端中使用 Mortar 部署该应用:

mortar fire [选项] <src-folder> <shot-name>
# 假设app.yaml位于当前目录,使用默认配置部署
mortar fire . hello-world-first-deploy

这会将 hello-world 应用作为一个“shot”部署到 Kubernetes 中。

应用案例和最佳实践

使用环境变量进行动态配置

Mortar 支持环境变量注入模板,这使得你可以根据不同环境动态调整资源配置。比如,利用环境变量设置容器使用的镜像版本:

containers:
- name: nginx
  image: nginx:<% ENV['NGINX_VERSION'] || 'latest' %>

在部署时设置变量:

mortar --var NGINX_VERSION=1.21.0 fire resources/

自动化资源清理与升级

Mortar 的 --prune 选项可自动移除之前部署但当前未被包含的资源,避免了资源泄漏,是持续集成和持续部署(CI/CD)流程中的最佳实践。

典型生态项目整合

虽然 Mortar 本身聚焦于 Kubernetes 资源管理,但它非常适合与现有的 CI/CD 工具如 Jenkins、GitLab CI/CD 或者现代化的 CI 工具如 GitHub Actions 结合使用。例如,可以在 GitLab CI 管道中集成 Mortar 来自动化部署过程:

deploy_to_k8s:
  stage: deploy
  script:
    - mortar fire k8s/ production
  only:
    - master

这样的配置确保每次向主分支推送时,都会部署最新的应用到生产环境,体现了 DevOps 的自动化理念。

Mortar 与 Kubernetes 生态系统的结合,尤其是其对资源管理的增强,使其成为现代云原生应用程序部署策略中不可或缺的一部分,特别是在追求高效率和灵活性的环境下。

mortar The manifest shooter for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/mortar/mortar

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侯深业Dorian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值