摘要:
一、容器中使用Volume 1、作为文件系统挂载 容器中通过volumeMounts字段使用Volume作为文件系统挂载:(1)name字段指定使用哪个Volume;(2)mountPath字段指定Volume在容器中的挂载路径;(3)readOnly字段指定挂载的Volume是否只读;(4)多个容 阅读全文
摘要:
在kube-scheduler有四种扩展机制: 一、Multiple Scheduler 若要部署第二调度器,可以直接修改kubernetes的源码 git clone https://github.com/kubernetes/kubernetes.git cd kubernetes make 使 阅读全文
摘要:
k8s调度器kube-scheduler的核心实现在pkg/scheduler下 algorithmprovider:调度算法的注册与获取功能,核心数据结构是一个字典类的结构 apis:k8s集群中的资源版本相关的接口,和apiversion、type相关的一些内容 core:调度器实例的核心数据结 阅读全文
摘要:
k8s中的Resource,目前支持类型: cpu,单位为Core(此处1 Core实际指一个Hyperthread),1 millicore=0.001Core memory,单位Byte storage ephemeral-storage:容器日志、emptyDir、可写入的容器镜像层 huge 阅读全文
摘要:
k8s下要使用NFS有4种方法。 一、直接创建nfc的volume 直接创建PV: apiVersion: v1 kind: PersistentVolume metadata: name: nfs-imagenet spec: capacity: storage: 150Gi volumeMode 阅读全文
摘要:
controller-runtime框架是社区封装的一个控制器处理的框架 pkg/controllers/controller.go中,定义了Controller接口: type Controller interface { reconcile.Reconciler Watch(src source 阅读全文
摘要:
kubebuilder是一个使用CRD构建K8s API的SDK,主要功能是: 提供脚手架工具初始化CRD工程,自动生成boilerplate代码和配置 提供代码库封装底层的K8s go-client 初始化并创建api、webhook: kubebuilder init --domain flui 阅读全文
摘要:
apiserver实际负责对外提供kubernetes RESTful API的服务,同时提供 https(默认监听6443端口)和http(默认监听8080端口) 它是系统管理指令的统一接口,任何对资源的增删该查都要交给apiserver处理后再交给etcd。 客户端通过list-watch监听a 阅读全文
摘要:
kubectl是k8s提供的客户端工具,使用client-go与k8s的apiserver进行交互 kubectl默认会从$HOME/.kube目录下查找文件名为config的文件,也可以通过设置环境变量KUBECONFIG或者通过设置--kubeconfig去指定其它kubeconfig文件 ap 阅读全文
摘要:
说明:本博客中,metav1指k8s.io/apimachinery/pkg/apis/meta/v1包,runtime指k8s.io/apimachinery/pkg/runtime包,schema指k8s.io/apimachinery/pkg/runtime/schema包 k8s本质上是一个 阅读全文