胡伟煌

个人博客

csi-provisioner源码分析

本文主要分析csi-provisioner的源码,关于开发一个Dynamic Provisioner,具体可参考nfs-client-provisioner的源码分析 1. Dynamic Provisioner 1.1. Provisioner Interface 开发Dynamic Provisioner需要实现Provisioner接口,该接口有两个方法,分别是: Provisi......

资源配额

资源配额(ResourceQuota) ResourceQuota对象用来定义某个命名空间下所有资源的使用限额,其实包括: 计算资源的配额 存储资源的配额 对象数量的配额 如果集群的总容量小于命名空间的配额总额,可能会产生资源竞争。这时会按照先到先得来处理。 资源竞争和配额的更新都不会影响已经创建好的资源。 1. 启动资源配额 Kubernetes 的众多发行版本默认开启了资源配额的支持......

使用kubespray安装kubernetes

1. 环境准备 1.1. 部署机器 以下机器为虚拟机 机器IP 主机名 角色 系统版本 备注 172.16.94.140 kube-master-0 k8s master Centos 4.17.14 内存:3G 172.16.94.141 kube-node-41 k8s node Centos 4.17.14 内存:3G 172.16.94.142 kube-n......

使用minikube安装kubernetes

以下内容基于Linux系统,特别为Ubuntu系统 1. 安装kubectl 1curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linu......

安装Docker

1. CentOS 安装Docker 建议使用centos7 1.1. 安装Docker 1.1.1. 卸载旧版本 旧版本的Docker命名为docker或docker-engine,如果有安装旧版本,先卸载旧版本 12345678910$ sudo yum remove -y docker \ docker-client \ ......

12 Factor

以下主要介绍PaaS平台设计架构中使用到的方法论,统称为12-Factor(要素) 简介 软件通常会作为一种服务来交付,即软件即服务(SaaS)。12-Factor原则为构建SaaS应用提供了以下的方法论: 使用标准化流程自动配置,减少开发者的学习成本。 和操作系统解耦,使其可以在各个系统间提供最大的移植性。 适合部署在现代的云计算平台上,从而在服务器和系统管理方面节省资源。 将开发环......

k8s知识体系

1. k8s知识体系 以下整理了k8s涉及的相关知识体系。 思维导图:k8s体系 2. k8s重点开源项目 大类 小类 项目及链接 简介 🧭 核心调度与资源管理 核心调度器 kube-scheduler 默认调度器,支持亲和性、优先级等策略 批处理调度 Volcano 支持 AI 训练、大数据任务 Gang 调度、队列管理 混部调度 Koordinator 支持......

资源配额

Pod限额(LimitRange) ResourceQuota对象是限制某个namespace下所有Pod(容器)的资源限额 LimitRange对象是限制某个namespace单个Pod(容器)的资源限额 LimitRange对象用来定义某个命名空间下某种资源对象的使用限额,其中资源对象包括:Pod、Container、PersistentVolumeClaim。 1. 为namesp......

资源服务质量

Resource Quality of Service 1. 资源QoS简介 request值表示容器保证可被分配到资源。limit表示容器可允许使用的最大资源。Pod级别的request和limit是其所有容器的request和limit之和。 2. Requests and Limits Pod可以指定request和limit资源。其中0 <= request <=Node......

安全迁移节点

1. 迁移Pod 1.1. 设置节点是否可调度 确定需要迁移和被迁移的节点,将不允许被迁移的节点设置为不可调度。 12345678# 查看节点kubectl get nodes# 设置节点为不可调度kubectl cordon <NodeName># 设置节点为可调度kubectl uncordon <NodeName> 1.2. 执行kubectl drain命令 ......