OpenYurt 项目教程
openyurt项目地址:https://gitcode.com/gh_mirrors/ope/openyurt
1. 项目的目录结构及介绍
OpenYurt 项目的目录结构如下:
openyurt/
├── cmd/
│ ├── yurt-controller-manager/
│ ├── yurt-hub/
│ ├── yurtctl/
│ └── yurt-tunnel-server/
├── pkg/
│ ├── controller/
│ ├── node-servant/
│ ├── util/
│ └── yurt-tunnel-agent/
├── config/
│ ├── crd/
│ ├── manager/
│ └── rbac/
├── test/
├── vendor/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── go.mod
├── go.sum
├── LICENSE
├── Makefile
├── README.md
└── SECURITY.md
目录结构介绍
cmd/
: 包含项目的可执行文件的入口代码。yurt-controller-manager/
: 管理边缘节点的控制器。yurt-hub/
: 边缘节点的代理。yurtctl/
: 用于管理和操作 OpenYurt 集群的命令行工具。yurt-tunnel-server/
: 用于边缘节点和云端之间的隧道服务。
pkg/
: 包含项目的核心功能代码。controller/
: 控制器相关的代码。node-servant/
: 节点管理相关的代码。util/
: 工具类代码。yurt-tunnel-agent/
: 隧道代理相关的代码。
config/
: 包含项目的配置文件。crd/
: 自定义资源定义文件。manager/
: 管理配置文件。rbac/
: 权限控制配置文件。
test/
: 包含项目的测试代码。vendor/
: 依赖包管理目录。CHANGELOG.md
: 项目更新日志。CONTRIBUTING.md
: 贡献指南。Dockerfile
: Docker 镜像构建文件。go.mod
: Go 模块依赖管理文件。go.sum
: Go 模块依赖校验文件。LICENSE
: 项目许可证。Makefile
: 项目构建脚本。README.md
: 项目介绍文档。SECURITY.md
: 安全相关文档。
2. 项目的启动文件介绍
OpenYurt 项目的启动文件主要位于 cmd/
目录下,每个子目录对应一个可执行文件的入口代码。以下是主要的启动文件介绍:
cmd/yurt-controller-manager/main.go
: 管理边缘节点的控制器的入口文件。cmd/yurt-hub/main.go
: 边缘节点的代理的入口文件。cmd/yurtctl/main.go
: 用于管理和操作 OpenYurt 集群的命令行工具的入口文件。cmd/yurt-tunnel-server/main.go
: 用于边缘节点和云端之间的隧道服务的入口文件。
3. 项目的配置文件介绍
OpenYurt 项目的配置文件主要位于 config/
目录下,以下是主要的配置文件介绍:
config/crd/
: 自定义资源定义文件,用于定义 OpenYurt 中的自定义资源。config/manager/
: 管理配置文件,包括控制器的配置等。config/rbac/
: 权限控制配置文件,包括角色、角色绑定等。
配置文件示例
config/manager/controller_manager_config.yaml
apiVersion: controllermanager.config.k8s.io/v1alpha1
kind: ControllerManagerConfig
kubeConfig: "/path/to/kubeconfig"
leaderElection:
leaderElect: true
resourceName: "yurt-controller-manager"
config/rbac/rbac_role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: yurt-controller-manager
rules:
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- watch
- update
- patch
以上是 Open