代码库概览

本页面介绍 Anthos Config Management 如何从名为 repo 的 Git 代码库中读取配置,并将生成的配置自动应用到您的集群。

前提条件

  • 熟悉 Git 代码库和 git 命令行界面。
  • 熟悉您要配置的 Kubernetes 对象及其必需字段和可选字段。

代码库的结构

Anthos Config Management 利用 Git 的类文件系统结构,并使用该结构来确定配置与哪些集群或命名空间相关。

namespaces/

namespaces/ 目录包含命名空间和命名空间级对象的配置。namespaces/ 的结构是推动命名空间继承的机制。如需了解详情,请参阅该主题。

cluster/

cluster/ 目录包含应用于整个集群(而不是命名空间)的配置。默认情况下,cluster/ 目录中的任何配置都会应用于在 Anthos Config Management 中注册的每个集群。您可以使用 ClusterSelector 限制配置可以影响的集群。

clusterregistry/

clusterregistry/ 目录是可选的,它包含 ClusterSelectors 的配置。ClusterSelectors 会限制应用配置的集群,并且由 cluster/namespaces/ 目录中的配置引用。

system/

system/ 目录包含运算符的配置。如需了解如何配置 Anthos Config Management,请参阅安装 Anthos Config Management

示例代码库

示例代码库展示了代码库的结构。

请注意 namespaces/ 内的嵌套抽象命名空间目录 online/shipping-app-backend/。它们是抽象命名空间目录,因为它们没有直接包含命名空间的配置。

foo-corp
├── cluster
│   ├── namespace-reader-clusterrolebinding.yaml
│   ├── namespace-reader-clusterrole.yaml
│   ├── pod-creator-clusterrole.yaml
│   └── pod-security-policy.yaml
├── clusterregistry
│   ├── cluster-1.yaml
│   ├── cluster-2.yaml
│   ├── clusterselector-1.yaml
│   └── clusterselector-2.yaml
├── namespaces
│   ├── audit
│   │   └── namespace.yaml
│   ├── online
│   │   └── shipping-app-backend
│   │       ├── pod-creator-rolebinding.yaml
│   │       ├── quota.yaml
│   │       ├── shipping-dev
│   │       │   ├── job-creator-rolebinding.yaml
│   │       │   ├── job-creator-role.yaml
│   │       │   ├── namespace.yaml
│   │       │   └── quota.yaml
│   │       ├── shipping-prod
│   │       │   └── namespace.yaml
│   │       └── shipping-staging
│   │           └── namespace.yaml
│   ├── sre-rolebinding.yaml
│   ├── sre-supported-selector.yaml
│   └── viewers-rolebinding.yaml
└── system
    └── hierarchy-config.yaml

后续步骤