- 01.simple-informer
- 最简 controller, 单文件, 不需要创建 CRD 资源和对应的 golang 对象(包含 GVK, Spec, Status等), 只监听 kuber 内置的资源对象(本工程中为Node主机资源)的变动;
 
 - 02.crd-podcluster
- 声明
PodCluster类型的CRD资源, 通过code-generator生成代码, 附详细的操作方法; 
 - 声明
 - 03.crd-podcluster-kubebuilder
- 声明
PodCluster类型的CRD资源, 通过kubebuilder生成代码, 附详细的操作方法; Reconcile()主方法;kustomize工具生成yaml文件;
 - 声明
 - 04.informer-factory
informers.NewSharedInformerFactory()和cache.NewSharedIndexInformer()两个方法, 对Service和Pod资源进行监听, 实现的效果基本相同;- 简要描述了两种
informer的关系; 
 - 05.node-pod-indexer
- 介绍了Indexer索引器的原理及使用方法;
 - 实现了按主机名称对 pod 列表进行索引查询, 即查询指定主机上的 Pod 列表;
 
 - rest-client
- client-go rest-client 的使用方法, 直接构造 http 请求, 自主选择目标资源路径;
 - 与 clientset 有所区别;
 
 - create-from-yaml
- 读入 yaml 文件, 构造 Object 对象创建资源;
 
 - http-watch-api
- 实现了trunk接口的 server 端, 可以通过 curl 该接口实现 watch 的效果;
 - 普通的 http server, 不依赖任何外部库;
 
 - apiextensions-apiserver-client
- 实现了
kubectl get crd的功能(与常规内置资源, 及开发者自定义的crd资源有所不同) 
 - 实现了
 - docker-api
- 实现了
docker ps,docker images的功能; - 基于 kubelet 引用到的kubernetes-sigs/cri-tools库实现;
 - dockershim grpc 服务调用方式;
 
 - 实现了
 - java-client-patch-deployment
- 实现了对目标集群中 deployment 资源的增删改查操作, 尤其是 labels 信息的修改, 提供了 http 接口.
 - spring boot 工程
 - kubernetes java client
 - vscode 远程开发环境
 - mvn package 构建 jar 包
 - kube资源(deployment)更新方式, patch接口的使用
 - 自定义json响应体 
ResponseData{status, message, data} - http接口全局异常捕获
 - lombok 注解精简 getter/setter 方法
 
 - node-pod-indexer-kubebuilder
- 实现了在 kubebuilder 工程中, 按主机名称对 pod 列表进行索引查询, 即查询指定主机上的 Pod 列表;
 - 功能上等同于示例 05.
 
 
- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1
 
generals-space/kube-operator
Folders and files
| Name | Name | Last commit message  | Last commit date  | |
|---|---|---|---|---|
Repository files navigation
About
k8s operator示例工程
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
              Packages 0
        No packages published