感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
声明式系统主权
- 为什么命令式配置管理会导致漂移和审计失败。
- Nix存储、派生和用于系统构建的纯函数。
- NixOS与传统发行版的区别:不可变性和原子升级。
安装与基础
- 从ISO手动或自动分区安装NixOS。
- Nix语言:集合、函数和导入。
- configuration.nix结构和模块系统。
- 使用nix搜索和man页面查找包和选项。
包与服务管理
- 使用nix-env在系统范围或用户范围内安装包。
- 以声明方式启用systemd服务。
- 自定义包覆盖和覆盖层。
- 垃圾回收和存储优化。
可复现环境
- 使用nix-shell和shell.nix进行临时开发。
- 使用Nix Flakes实现基于锁文件的复现性。
- 使用devenv和devshell进行团队入职。
- 集成Direnv实现自动环境切换。
远程部署
- 使用NixOps和Colmena进行集群管理。
- 远程构建和二进制缓存配置。
- 使用agenix和sops-nix进行密钥管理。
- 使用NixOS虚拟机和容器进行部署测试。
系统更新与回滚
- nixos-rebuild的switch、test和boot模式。
- 原子回滚到前一代系统。
- 通道管理和固定以实现可复现的更新。
- 紧急恢复和引导加载程序配置。
高级主题
- NixOS容器和轻量级虚拟化。
- 交叉编译和ARM构建。
- 自定义ISO和网络启动镜像生成。
- 使用Hydra进行Nix包的持续集成。
要求
- 具备高级Linux系统管理和Shell脚本编写经验。
- 对函数式编程概念有基本了解。
- 熟悉Git和版本控制的配置工作流程。
受众
- 寻求可复现、声明式系统的基础设施工程师。
- 希望用Nix替代Ansible、Puppet或Chef的DevOps团队。
- 需要逐位复现部署的组织。
21 小时