f5minions/2026-F5-DevOps-Academy
GitHub: f5minions/2026-F5-DevOps-Academy
一个为 F5 DevOps Academy 设计的综合实验室仓库,集成了 BIG-IP、NGINX、Kubernetes 及 CI/CD 工具链,用于学习现代应用交付与安全架构。
Stars: 0 | Forks: 0
## 技术栈
本环境中使用的技术和访问凭证汇总在下表中。
| 名称 | 描述 | 凭证 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------- |
| **BIGIP** | 配置了 LTM/ASM/DNS 模块的独立 BIGIP。`
` *UI 访问:在 UDF 的 `F5 products` 中前往 `bigip-01` -> `TMUI`* | admin / Ingresslab123 |
| **NGINX IC** | 在两个 K8s 集群内运行,并经常更新至最新版本。通过 Helm Chart 安装。 | - |
| **NGINX Plus** | NGINX 的商业版本,部署在虚拟机上,通过 Nginx-Agent 在 NIM 中进行管理。 | - |
| **NIM** | Nginx Instance Manager 已安装在虚拟机上。`
` *UI 访问:在 UDF 的 `Systems` 中前往 `NIM` -> `NIM UI`* | admin / Ingresslab123 |
| **CIS** | 在 K8s 集群内运行。K3s-1 上运行 2 个 CIS 实例,K3s-2 上运行 1 个。K3s-1 包含一个用于基于 VirtualServer/TransportServer CRD 和 ServiceType LB 的服务部署的 `cis-crd` 实例,以及一个用于 Ingress 资源和 ConfigMap 的 `cis-ingress` 实例。K3s-2 仅有 cis-crd。通过 Manifest 安装。 | - |
| **K8s 集群** | 运行两个可从 VSCode 访问的单节点 Kubernetes 集群(K3s-1, K3s-2)。两个集群均运行版本 1.31。 | - |
| **VSCode** | 在 "Client" 系统上通过 Web 界面运行 VSCode。`
` *UI 访问:在 UDF 的 `Systems` 中前往 `Client` -> `VSCode`* | - |
| **Kubectl** | 为了方便访问两个集群,已在 `Client` 虚拟机上安装了 `Kubectl` 并在 `.kube/config` 中配置了两个集群的访问权限。 `
` *UI 访问:在 UDF 的 `Systems` 中前往 `Client` -> `VSCode`* | - |
| **GitLab** | 在专用服务器上运行,提供三个主要功能:`
` - 源代码管理 (git.f5k8s.net) `
` - GitLab Runner (CI/CD) `
` - 容器镜像仓库 (registry.f5k8s.net) `
` *UI 访问:在 UDF 的 `Systems` 中前往 `Docker` -> `Gitlab`* | root / Ingresslab123 |
| **ArgoCD** | Argo CD 作为 Kubernetes 控制器实现,持续监控正在运行的应用程序,并将当前的实际状态与 Git 仓库中定义的目标状态进行比较。`
` *UI 访问:在 F5 products 中前往 `bigip-01` -> `ArgoCD`* | admin / Ingresslab123 |
| **Elasticsearch** | 作为 "Docker" 系统上的实例运行,主要目的是存储 NAP、NGINX、BIGIP 的访问、错误和安全日志。 | - |
| **Logstash** | 作为 "Docker" 系统上的实例运行,主要目的是处理和解析日志,然后将其发送到 Elasticsearch。 | - |
| **Kibana** | 作为 "Docker" 系统上的实例运行,用于可视化 Elasticsearch 日志。`
` *UI 访问:在 UDF 的 `Systems` 中前往 `Docker` -> `Kibana`* | - |
| **Prometheus** | 在 K3s-1 上运行,为监控 BIGIP 和 NGINX+ 提供时间序列数据存储。通过 Helm 安装并通过 CIS TransportServer 暴露。`
` *UI 访问:在 UDF 的 `Systems` 中前往 `k3s-1` -> `Prometheus`* | - |
| **Grafana** | 配置了各种仪表板以显示 Prometheus 和 Elasticsearch 的指标/事件。在 K3s-1 上运行,通过 Helm 安装并通过 CIS TransportServer 暴露。`
` *UI 访问:在 UDF 的 `Systems` 中前往 `k3s-1` -> `Grafana`* | admin / Ingresslab123 |
| **AWX** | Ansible Tower 的开源版本,安装在 K3s-2 上并通过 CIS TransportServer 暴露。`
` *UI 访问:在 F5 products 中前往 `bigip-01` -> `AWX`* | admin / Ingresslab123 |
| **RancherUI** | Rancher UI 作为 Docker 容器部署在 `Client` VM 上,并连接了两个 K8s 集群。 `
` *UI 访问:在 UDF 的 `Systems` 中前往 `Client` -> `Rancher`* | admin / Ingresslab123 |
## 2026 DevOps Academy 动手实验
为 F5 DevOps Academy Lab 构建的用例可在下方查看:
- [**NGINX Basic**](1.nginx-basic/)
- [**NGINX Ingress Controller with BIG-IP CIS**](2.nginx-ingress-cis/)
- [**NGINX Gateway Fabric**](3.nginx-gateway-fabric/)
- [**F5 WAF for NGINX**](4.f5-waf-for-nginx/)
## 支持
如需支持,请提交 GitHub Issue。本仓库中的代码由社区提供支持,不属于 F5 Networks 的官方支持范围。有关支持项目的完整列表,请参阅 [SUPPORT.md](SUPPORT.md)。
## 社区行为准则
请参阅 [F5 DevCentral 社区行为准则](code_of_conduct.md)。
## 许可证
[Apache License 2.0](LICENSE)
## 版权声明
Copyright 2014-2020 F5 Networks Inc.
### F5 Networks 贡献者许可协议
在开始向 GitHub 上由 F5 Networks, Inc. (F5) 赞助的项目贡献之前,您需要签署贡献者许可协议 (CLA)。
如果您以个人身份签署,请注意某些雇佣合同可能包含限制向其他项目贡献的条款,因此请在签署 CLA 之前先与您的雇主(如适用)协商。
通过提交 CLA,您确认您拥有授予该协议中规定的许可的法律权利。
如果您的雇主对您创作的包含贡献物在内的知识产权拥有权利,您确认您已获得代表雇主贡献的授权,或者雇主已放弃对该贡献物的权利,或者雇主已与 F5 签署了单独的 CLA。
如果您代表公司签署,您确认您拥有授予该协议中规定的许可的法律权利。
此外,您确认提交贡献物的实体的每位员工都有权根据 CLA 代表该实体提交贡献物。