胡伟煌

个人博客

[源码分析] csi-provisioner源码分析

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

[Kubernetes] kubernetes资源配额详解

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

[Kubernetes] 使用kubespray安装k8s集群

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......

[Kubernetes] 使用minikube安装k8s集群

以下内容基于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] 安装Docker

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

[Kubernetes] kubernetes指定节点调度与隔离

1. NodeSelector 1.1. 概念 如果需要限制Pod到指定的Node上运行,则可以给Node打标签并给Pod配置NodeSelector。 1.2. 使用方式 1.2.1. 给Node打标签 12345678910# get node的namekubectl get nodes# 设置Labelkubectl label nodes <node-name> <......

[Linux] Supervisor的使用

1. Supervisor简介 Supervisord 是用 Python 实现的一款的进程管理工具,supervisord 要求管理的程序是非 daemon 程序,supervisord 会帮你把它转成 daemon 程序,因此如果用 supervisord 来管理进程,进程需要以非daemon的方式启动。 例如:管理nginx 的话,必须在 nginx 的配置文件里添加一行设置 daem......

[Linux] ansible的使用

1. 安装 以centos为例。 1yum install -y ansible 2. 配置 默认配置目录在/etc/ansible/,主要有以下两个配置: ansible.cfg:ansible的配置文件 hosts:配置ansible所连接的机器IP信息 2.1. ansible.cfg 2.2. hosts 1234567891011121314151617181920212223......

[Golang] dep的使用

1. dep简介 dep是一个golang项目的包管理工具,一般只需要2-3个命令就可以将go依赖包自动下载并归档到vendor的目录中。dep官网参考:https://github.com/golang/dep 2. dep安装 1go get -u github.com/golang/dep/cmd/dep 3. dep使用 1234567#进入到项目目录cd /home/gopath/......

[Golang] glide的使用

1. glide简介 glide是一个golang项目的包管理工具,非常方便快捷,一般只需要2-3个命令就可以将go依赖包自动下载并归档到vendor的目录中。 2. glide安装 1go get github.com/Masterminds/glide 3. glide使用 123456#进入到项目目录cd /home/gopath/src/demo#glide初始化,初始化配置文件gl......