cluster-operator

command module
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

README

Cluster Operator

License golang version

Cluster Operator 项目提供了一个用于调谐 Cluster 资源事件的 Controller,调谐内容主要是管理 Cluster 资源所声明的 Kubernetes 集群的密钥信息,使参与集群管理的其他组件可以从租户的密钥管理系统中正确获取到集群的密钥。

如果从集群形态进行区分,Cluster 资源可以分为物理集群和虚拟集群;如果从集群的用途进行区分,Cluster 资源可以分为宿主集群和运行时集群。针对不同的集群属性以及操作,Controller 的具体工作内容有所差异。

功能简介

注册集群
物理集群 虚拟集群
宿主集群 不处理 不支持
运行时集群 在密钥管理系统中创建物理集群的认证、将物理集群的密钥授权给 Runtime Operator、将租户配置库的密钥授权给物理集群的 Argo Operator、收集集群中可以作为环境入口的k8s服务的端口号 将从虚拟集群所属的宿主集群中获取的密钥写入密钥管理系统、在密钥管理系统中创建虚拟集群的认证、将虚拟集群的密钥授权给 Runtime Operator、将租户配置库的密钥授权给虚拟集群的 Argo Operator、收集宿主集群中可以作为环境入口的k8s服务的端口号
删除集群
物理集群 虚拟集群
宿主集群 从密钥管理系统中删除物理集群的密钥 不支持
运行时集群 从密钥管理系统中删除物理集群的密钥和认证、从密钥管理系统中删除 Runtime Operator 对物理集群密钥的权限 从密钥管理系统中删除物理集群的密钥和认证、从密钥管理系统中删除 Runtime Operator 对物理集群密钥的权限

快速开始

准备

安装以下工具,并配置 GOBIN 环境变量:

准备一个 kubernetes 实例,复制 kubeconfig 文件到 {$HOME}/.kube/config

构建
go mod tidy
go build -o manager main.go
运行
./manager
单元测试

安装 Vault

wget https://releases.hashicorp.com/vault/1.10.4/vault_1.10.4_linux_amd64.zip
unzip vault_1.10.4_linux_amd64.zip
sudo mv vault /usr/local/bin/

安装 Ginkgo

go install github.com/onsi/ginkgo/v2/ginkgo@v2.10.0

执行单元测试

make test

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package controllers use to set k8s cluster info to secret store
Package controllers use to set k8s cluster info to secret store
internal
secretclient/vault
Package vault is a secret client to save cluster info to vault
Package vault is a secret client to save cluster info to vault
mock
kubeclient
Package mock_vault is a generated GoMock package.
Package mock_vault is a generated GoMock package.
vaultproxy
Package mock_v1 is a generated GoMock package.
Package mock_v1 is a generated GoMock package.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL