K8S 二次开发

一、概念篇

1、什么是CRD

平时写的yaml文件有deployment,daemonset,storageclass,等等,这些都是kubernetes当中内置好的,除了这些,能不能自定义开发这些资源呢?

答案是:能,使用k8s的CustomresourceDeFinition就可以定义出属于自己的kind。CRD通俗讲就是自定义K8S资源类型

2、什么是Controller

K8S通过Apiserver,在etcd中注册一种新的资源类型,通过Custom Controller来监听资源对象的事件变化,

controller的作用就是监听指定对象的新增、删除修改等变化,针对这些变化做出相应的响应,做出相应的操作

3、什么是Operator

Operator = CRD+Controller

4、什么是CR

CR:Custom Resource,CRD的具体实例

5、什么是Informer

informer可以注册一写function, 比如add,update ,delete 对象的事件,当对象变化时候,这个informer 会吧这些事件放入到 controller 的事件队列中

 

6、什么是webhook?

7、什么是sandBox? 

sandBox 是 CRI 规范中的一环,CRI 规范规定了容器启动之前必须要有个 sandBox,网络资源以及存储资源的承载,sandBox 就是一个容器,它在 k8s 里被叫做 "pause"

8、什么是声明式API

声明式api不是命令式api,他需要一个控制逻辑,根据当前的状态决定做什么,比如pod挂了一个,那么controller就会新建一个

相关文章

Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据&...
创建GitLab源码项目并上传示例代码 1. 创建GitLab源码项目 本...
1. 引言 在如今的技术世界中,随着微服务架构的广泛应用和云...
先看看结果有多轻量吧 官方文档:https://grafana.com/docs/...
一、安装环境说明 硬件要求 内存:2GB或更多RAM CPU: 2核CPU...
CEPH 简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph ...