博客园 - breezey
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=659568
2020-07-06T08:16:51Z
breezey
https://www.cnblogs.com/breezey/
feed.cnblogs.com
https://www.cnblogs.com/breezey/p/12925103.html
基于openkruise实现容器应用固定id - breezey
背景说明 我们在业务上容器的过程中遇到了如下问题: 1. 以deployment部署的应用pod,由于id经常变更,服务重启,监控变得难以维护。这里只是以监控为切入点,事实上,还有诸多应用需要与id强绑定。 2. statefulset可以解决上面的问题,但是引入一个新的问题就是statefulse
2020-05-20T09:56:00Z
2020-05-20T09:56:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】背景说明 我们在业务上容器的过程中遇到了如下问题: 1. 以deployment部署的应用pod,由于id经常变更,服务重启,监控变得难以维护。这里只是以监控为切入点,事实上,还有诸多应用需要与id强绑定。 2. statefulset可以解决上面的问题,但是引入一个新的问题就是statefulse <a href="https://www.cnblogs.com/breezey/p/12925103.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/12923719.html
openshift OKD v3.11安装 - breezey
安装前的准备 最低系统要求 1. master最低要求 最小4 vCPU 最小16 GB RAM /var/最小40 GB硬盘空间 /usr/local/bin/最小1 GB硬盘空间 临时目录最小1 GB硬盘空间 2. node最低要求 1 vCPU 最小8 GB RAM /var/最小15 GB硬
2020-05-20T07:05:00Z
2020-05-20T07:05:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】安装前的准备 最低系统要求 1. master最低要求 最小4 vCPU 最小16 GB RAM /var/最小40 GB硬盘空间 /usr/local/bin/最小1 GB硬盘空间 临时目录最小1 GB硬盘空间 2. node最低要求 1 vCPU 最小8 GB RAM /var/最小15 GB硬 <a href="https://www.cnblogs.com/breezey/p/12923719.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/12152526.html
Kubernetes资源对象之DaemonSet - breezey
[toc] 简介 DaemonSet好比Kubernetes集群Node的守护进程,可以保证在每个Node上(或者一部分Node上)都运行同一个Pod且只运行一个。适用的场景主要是一些agent,如日志收集的agent、监控的agent等。 daemonset 配置示例 daemonset的配置示例
2020-01-05T07:13:00Z
2020-01-05T07:13:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 DaemonSet好比Kubernetes集群Node的守护进程,可以保证在每个Node上(或者一部分Node上)都运行同一个Pod且只运行一个。适用的场景主要是一些agent,如日志收集的agent、监控的agent等。 daemonset 配置示例 daemonset的配置示例 <a href="https://www.cnblogs.com/breezey/p/12152526.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11891897.html
kubernetes使用阿里云cpfs持久存储 - breezey
[toc] 简介 cpfs的具体介绍可参考这里: https://help.aliyun.com/document_detail/111755.html?spm=a2c4g.11174283.3.1.1275c6eclqO43j 要使用cpfs存储,需要在所有的k8s节点上安装cpfs的客户端。安装
2019-11-19T11:44:00Z
2019-11-19T11:44:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 cpfs的具体介绍可参考这里: https://help.aliyun.com/document_detail/111755.html?spm=a2c4g.11174283.3.1.1275c6eclqO43j 要使用cpfs存储,需要在所有的k8s节点上安装cpfs的客户端。安装 <a href="https://www.cnblogs.com/breezey/p/11891897.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11801122.html
Kubernetes管理GPU应用 - breezey
[toc] 简介 伴随着人工智能技术的发展,机器学习的应用场景越来越广泛 深度学习的实现,需要多种技术进行支撑,比如服务器、GPU、集群、集群管理调度软件、深度学习框架、深度学习的具体应用等 随着Kubernetes的兴起,越来越多的训练任务也都直接运行在Kubernetes之上,这些基于GPU的应
2019-11-05T11:50:00Z
2019-11-05T11:50:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 伴随着人工智能技术的发展,机器学习的应用场景越来越广泛 深度学习的实现,需要多种技术进行支撑,比如服务器、GPU、集群、集群管理调度软件、深度学习框架、深度学习的具体应用等 随着Kubernetes的兴起,越来越多的训练任务也都直接运行在Kubernetes之上,这些基于GPU的应 <a href="https://www.cnblogs.com/breezey/p/11801122.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11770780.html
kubeadm安装kubernetes 1.16.2 - breezey
[toc] 简介 当前kubernetes的最新版本已经到了1.16,而kubernetes官方推出的安装工具kubeadm也已经GA。本文就基于kubeadm来安装最新的kubernetes集群。 各组件示意图如下: 环境说明 部署环境: 主机名|ip地址| 节点类型| 系统版本 | | | ma
2019-10-31T05:55:00Z
2019-10-31T05:55:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 当前kubernetes的最新版本已经到了1.16,而kubernetes官方推出的安装工具kubeadm也已经GA。本文就基于kubeadm来安装最新的kubernetes集群。 各组件示意图如下: 环境说明 部署环境: 主机名|ip地址| 节点类型| 系统版本 | | | ma <a href="https://www.cnblogs.com/breezey/p/11770780.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11711077.html
kubernetes HPA - breezey
Kubernetes弹性伸缩简介 通过手工执行kubectl scale命令或者通过修改deployment的replicas数量,可以实现Pod扩缩容。我们还可以通过定时任务的方式在一些可预见的业务高峰场景实现Pod的定时伸缩。然而在更多的应用场景当中,业务的请求量峰值其实是不可控的。这就需要我们
2019-10-20T15:56:00Z
2019-10-20T15:56:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】Kubernetes弹性伸缩简介 通过手工执行kubectl scale命令或者通过修改deployment的replicas数量,可以实现Pod扩缩容。我们还可以通过定时任务的方式在一些可预见的业务高峰场景实现Pod的定时伸缩。然而在更多的应用场景当中,业务的请求量峰值其实是不可控的。这就需要我们 <a href="https://www.cnblogs.com/breezey/p/11711077.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11080532.html
管理ceph缓存池 - breezey
[toc] 缓存池简介 缓存池原理 ceph的缓存分层特性是在ceph的F版当中正式发布的。所谓的缓存分层其实就是在更快的磁盘(通常是ssd)上创建一个存储池。然后将这个存储池放置在常规的复制池或者纠删码池的前端充当缓存。这样所有的客户端I/O操作都首先由缓存池处理,之后再将数据写回到现有的数据存储
2019-06-24T16:35:00Z
2019-06-24T16:35:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 缓存池简介 缓存池原理 ceph的缓存分层特性是在ceph的F版当中正式发布的。所谓的缓存分层其实就是在更快的磁盘(通常是ssd)上创建一个存储池。然后将这个存储池放置在常规的复制池或者纠删码池的前端充当缓存。这样所有的客户端I/O操作都首先由缓存池处理,之后再将数据写回到现有的数据存储 <a href="https://www.cnblogs.com/breezey/p/11080532.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11080534.html
Ceph更换OSD磁盘 - breezey
[toc] 简介 首先需要说明的是,ceph的osd是不建议做成raid10或者raid5的,一般建议单盘跑。在我们的环境中,为了充分利用raid卡的缓存,即使是单盘,我们还是将其挂在raid卡下做成raid0。 这样不可避免的问题就是磁盘的损坏,需要在ceph当中做一些摘除动作,同时还需要重建ra
2019-06-24T16:35:00Z
2019-06-24T16:35:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 首先需要说明的是,ceph的osd是不建议做成raid10或者raid5的,一般建议单盘跑。在我们的环境中,为了充分利用raid卡的缓存,即使是单盘,我们还是将其挂在raid卡下做成raid0。 这样不可避免的问题就是磁盘的损坏,需要在ceph当中做一些摘除动作,同时还需要重建ra <a href="https://www.cnblogs.com/breezey/p/11080534.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/11080529.html
crushmap磁盘智能分组 - breezey
[toc] 简介 ceph从L版本开始新增了个功能叫crush class,又被称之为磁盘智能分组。因为这个功能就是根据磁盘类型自动进行属性关联,然后进行分类减少了很多的人为操作。在这个功能之前,如果我们需要对ssd和hdd进行分组的时候,需要大量的修改crushmap,然后绑定不同的存储池到不同的
2019-06-24T16:33:00Z
2019-06-24T16:33:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 ceph从L版本开始新增了个功能叫crush class,又被称之为磁盘智能分组。因为这个功能就是根据磁盘类型自动进行属性关联,然后进行分类减少了很多的人为操作。在这个功能之前,如果我们需要对ssd和hdd进行分组的时候,需要大量的修改crushmap,然后绑定不同的存储池到不同的 <a href="https://www.cnblogs.com/breezey/p/11080529.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10996658.html
Ansible17:Playbook之tags - breezey
简介 在大型项目当中,通常一个playbook会有非常多的task。而我们每次执行这个playbook时,都会将所有task运行一遍。而事实上,在实际使用过程中,我们可能只是想要执行其中的一部分任务而已,并不想把整个playbook完整跑一遍。这个时候就需要用到tags。 通过tags,我们可以给p
2019-06-10T03:17:00Z
2019-06-10T03:17:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】简介 在大型项目当中,通常一个playbook会有非常多的task。而我们每次执行这个playbook时,都会将所有task运行一遍。而事实上,在实际使用过程中,我们可能只是想要执行其中的一部分任务而已,并不想把整个playbook完整跑一遍。这个时候就需要用到tags。 通过tags,我们可以给p <a href="https://www.cnblogs.com/breezey/p/10996658.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10996651.html
Ansible16:Playbook高级用法 - breezey
[toc] 本地执行 如果希望在控制主机本地运行一个特定的任务,可以使用local_action语句。 假设我们需要配置的远程主机刚刚启动,如果我们直接运行playbook,可能会因为sshd服务尚未开始监听而导致失败,我们可以在控制主机上使用如下示例来等待被控端sshd端口监听: 任务委托 在有些
2019-06-10T03:16:00Z
2019-06-10T03:16:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 本地执行 如果希望在控制主机本地运行一个特定的任务,可以使用local_action语句。 假设我们需要配置的远程主机刚刚启动,如果我们直接运行playbook,可能会因为sshd服务尚未开始监听而导致失败,我们可以在控制主机上使用如下示例来等待被控端sshd端口监听: 任务委托 在有些 <a href="https://www.cnblogs.com/breezey/p/10996651.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10996646.html
Ansible15:文件管理模块及Jinja2过滤器 - breezey
对于任何自动管理工具而言,对于文件的管理都是其绕不开的话题。同样,ansible也围绕文件管理提供了众多的模块。同时还提供了Jinja2模板语法来配置文件模板。 常用文件管理模块 1. file 我们在讲ansible ad-hoc的时候,已经说过file模块,在playbook中的使用也没什么不同
2019-06-10T03:16:00Z
2019-06-10T03:16:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】对于任何自动管理工具而言,对于文件的管理都是其绕不开的话题。同样,ansible也围绕文件管理提供了众多的模块。同时还提供了Jinja2模板语法来配置文件模板。 常用文件管理模块 1. file 我们在讲ansible ad-hoc的时候,已经说过file模块,在playbook中的使用也没什么不同 <a href="https://www.cnblogs.com/breezey/p/10996646.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10996632.html
Ansible14:Playbook条件语句 - breezey
[toc] 简介 在有的时候play的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task。这个时候就需要用到条件判断。 条件语句在Ansible中的使用场景: 在目标主机上定义了一个硬限制,比如目标主机的最小内存必须达
2019-06-10T03:13:00Z
2019-06-10T03:13:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 在有的时候play的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task。这个时候就需要用到条件判断。 条件语句在Ansible中的使用场景: 在目标主机上定义了一个硬限制,比如目标主机的最小内存必须达 <a href="https://www.cnblogs.com/breezey/p/10996632.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10996629.html
Ansible13:Playbook循环语句 - breezey
循环语句 简介 我们在编写playbook的时候,不可避免的要执行一些重复性操作,比如指安装软件包,批量创建用户,操作某个目录下的所有文件等。正如我们所说,ansible一门简单的自动化语言,所以流程控制、循环语句这些编程语言的基本元素它同样都具备。 下面我们简单的说一说Playbook中循环语句。
2019-06-10T03:12:00Z
2019-06-10T03:12:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】循环语句 简介 我们在编写playbook的时候,不可避免的要执行一些重复性操作,比如指安装软件包,批量创建用户,操作某个目录下的所有文件等。正如我们所说,ansible一门简单的自动化语言,所以流程控制、循环语句这些编程语言的基本元素它同样都具备。 下面我们简单的说一说Playbook中循环语句。 <a href="https://www.cnblogs.com/breezey/p/10996629.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10898368.html
etcd备份与恢复 - breezey
[toc] 备份 通常而言,etcd都是集群部署,其实并不需要额外备份,但实在是架不住猪队友误操作。 写一个简单的etcd备份脚本如下: !/bin/bash set e exec /var/log/backup_etcd.log Date= EtcdEndpoints="localhost:237
2019-05-21T02:38:00Z
2019-05-21T02:38:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 备份 通常而言,etcd都是集群部署,其实并不需要额外备份,但实在是架不住猪队友误操作。 写一个简单的etcd备份脚本如下: !/bin/bash set e exec /var/log/backup_etcd.log Date= EtcdEndpoints="localhost:237 <a href="https://www.cnblogs.com/breezey/p/10898368.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10850855.html
Kafka部署篇 - breezey
安装 下载与安装 kafka下载地址:https://kafka.apache.org/downloads 需要说明的是,kafka的安装依赖于zk,zk的部署可直接参考《Zookeeper介绍与基本部署》。当然,kafka默认也内置了zk的启动脚本,在kafka安装路径的bin目录下,名称为zoo
2019-05-11T17:18:00Z
2019-05-11T17:18:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】安装 下载与安装 kafka下载地址:https://kafka.apache.org/downloads 需要说明的是,kafka的安装依赖于zk,zk的部署可直接参考《Zookeeper介绍与基本部署》。当然,kafka默认也内置了zk的启动脚本,在kafka安装路径的bin目录下,名称为zoo <a href="https://www.cnblogs.com/breezey/p/10850855.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10850852.html
kafka原理篇 - breezey
[toc] 消息队列分类 点对点 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意: 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。 发布
2019-05-11T17:17:00Z
2019-05-11T17:17:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 消息队列分类 点对点 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意: 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。 发布 <a href="https://www.cnblogs.com/breezey/p/10850852.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10849306.html
Zookeeper的介绍与基本部署 - breezey
[toc] 简介 zookeeper是一个为分布式应用所设计的分布式的、开源的协调服务。它提供了一项基本服务:分布式锁服务,同时也提供了分布式应用数据的维护和管理机制,包括统一命名服务、状态同步服务、集群管理、分布式消息队列、分布式应用配置项的管理等。zookeeper支持独立安装以及集群部署。 z
2019-05-11T09:20:00Z
2019-05-11T09:20:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 简介 zookeeper是一个为分布式应用所设计的分布式的、开源的协调服务。它提供了一项基本服务:分布式锁服务,同时也提供了分布式应用数据的维护和管理机制,包括统一命名服务、状态同步服务、集群管理、分布式消息队列、分布式应用配置项的管理等。zookeeper支持独立安装以及集群部署。 z <a href="https://www.cnblogs.com/breezey/p/10849306.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/breezey/p/10615242.html
Harbor镜像迁移 - breezey
[toc] 背景说明 在早期生产环境尝试使用docker的时候,虽然使用了harbor作为镜像仓库,但是并没有做好相关存储规划,所有的镜像都直接存储到了harbor本地。随着业务发展,本地存储已无法满足镜像存储需求。 解决方案有两种: 1. 使用共享文件系统存储,比如glusterfs,直接挂载本地
2019-03-28T07:21:00Z
2019-03-28T07:21:00Z
breezey
https://www.cnblogs.com/breezey/
【摘要】[toc] 背景说明 在早期生产环境尝试使用docker的时候,虽然使用了harbor作为镜像仓库,但是并没有做好相关存储规划,所有的镜像都直接存储到了harbor本地。随着业务发展,本地存储已无法满足镜像存储需求。 解决方案有两种: 1. 使用共享文件系统存储,比如glusterfs,直接挂载本地 <a href="https://www.cnblogs.com/breezey/p/10615242.html" target="_blank">阅读全文</a>