Nanocl:用Rust重写的Kubernetes


用Rust语言编写的简化容器和虚拟机管理的分布式系统。

使用Nanocl,告别复杂的设置,迎接简单、高效的部署。我们代表着强大的性能和效率以及简单性,减少膨胀以保持您的系统精简。

主要优势

  • 易于部署和管理
  • 显着减少编写代码和将其交付生产之间的延迟
  • 随着需求的变化有效地管理和扩展您的基础设施
  • 通过使用名称空间和网络隔离服务来增强安全性。
  • 通过自动备份、零停机故障转移和全面的日志监控让您高枕无忧
  • 享受容器和虚拟机配置的历史跟踪
  • 按下按钮即可快速恢复配置
  • 构建完整的 CI/CD 管道,从测试到高可用性生产
  • 来自社区的最佳想法和实践

架构
Nanocl是在微服务架构中设计的,需要几个组件,它们作为包含自身的容器Nanocl Daemon运行。期间将安装以下组件,nanocl setup并且需要这些组件以确保Nanocl功能正常:

  • nstore拯救我们的国家
  • ndaemon作为管理一切的REST API
  • nmetrics监控 cpu、内存和网络使用情况
  • nproxy代理将流量重定向到我们的容器和虚拟机
  • ncdproxy根据当前状态更新代理配置
  • ndns管理容器和虚拟机的 DNS 条目
  • ncddns根据当前状态更新 DNS 条目

要正常工作Nanocl必须在系统上安装这些依赖项:

用法
Nanocl主要通过使用状态文件来设计,易于操作。状态文件是yaml定义所需状态的文件。有一个用于部署我们的文档的示例:


ApiVersion: v0.8
Kind: Deployment

Namespace: nexthat

# See all options:
# https://docs.next-hat.com/references/nanocl/cargo
Cargoes:
  - Name: doc
    Container:
      Image: nexthat-doc:0.4.1

# See all options:
# https:
//docs.next-hat.com/references/nanocl/resource
Resources:
  - Name: docs.next-hat.com
    Kind: ProxyRule
    Version: v0.5
    Config:
      Watch:
        - doc.nexthat.c
      Rules:
        - Domain: docs.next-hat.com
          Network: Public
          Ssl:
            Certificate: /etc/letsencrypt/live/docs.next-hat.com/fullchain.pem
            CertificateKey: /etc/letsencrypt/live/docs.next-hat.com/privkey.pem
            Dhparam: /etc/letsencrypt/ssl-dhparams.pem
          Includes:
            - /etc/letsencrypt/options-ssl-nginx.conf
          Locations:
            - Path: /
              Target:
                Key: doc.nexthat.c
                Port: 80

要应用一个状态,我们可以很容易地通过运行来完成nanocl state apply -s path|url

我们也可以通过调用来恢复状态nanocl state rm -s path|url