本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好,欢迎大家和我一起学 K8S,这是系列第 11 篇. 资源的伸缩在云计算环境中是至关重要的,云计算的动机就是企图提高资源的利用率,在用户请求高峰期的时候能够对资源进行横向扩容,反之,当用户请求回落低谷的时候,能够及时缩减资源,避免资源的浪费. 这就像双十一的时候,随着用户不断地涌入,阿里后台需要不断调…
在生产环境下,在面临服务需要扩容的场景时,可以使用Deployment/RC的Scale机制来实现.Kubernetes支持对Pod的手动扩容和自动扩容. 手动扩容缩容 通过执行扩容命令,对某个deployment直接进行扩容: # kubectl scale deployment nginx-deployment --replicas=4 当要缩容,减少副本数量即可: # kubectl scale deployment nginx-deployment --replicas=2 自动扩容缩容…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好,欢迎大家和我一起学 K8S,这是系列第 12 篇. 上一篇我们了解了 Pod 的手动扩容和缩容,本篇来看看自动的方式. K8S 作为一个集群式的管理软件,自动化.智能化是免不了的功能.Google 在 K8S v1.1 版本中就加入了这个 Pod 横向自动扩容的功能(Horizontal Pod A…
Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 工作节点:192.168.1.78 工作节点:192.168.1.77 创建环境: 1.Deployment名称:nginx-deployment 2.pods副本数为:3  3.image镜像:nginx1.9 管理节点:扩容或缩容deploymnet的pod副本数. kubectl scale…
一 Pod的扩容和缩容 Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行kubectl scale命令或通过RESTful API对一个Deployment/RC进行Pod副本数量的设置.自动模式则需要用户根据某个性能指标或者自定义业务指标,并指定Pod副本数量的范围,系统将自动在这个范围内根据性能指标的变化进行调整. 1.1 手动缩容和扩容 [root@uk8s-m-01 study]# vi nginx-deployment.yaml apiVersion:…
将有状态的应用程序部署到Kubernetes是棘手的. StatefulSet使它变得容易得多,但是它们仍然不能解决所有问题.最大的挑战之一是如何缩小StatefulSet而不将数据留在断开连接的PersistentVolume成为孤立对象上.在这篇博客中,我将描述该问题和两种可能的解决方案. 通过StatefulSet创建的每个Pod都有自己的PersistentVolumeClaim(PVC)和PersistentVolume(PV).当按一个副本按比例缩小StatefulSet的大小时,其…
用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个  ,  kubectl scale rc redis-slave --replicas=3 现在来缩容,把 redis-slave 缩小到1个 kubectl scale rc redis-slave --replicas=1…
docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目的代码. 修改demo_article项目中ArticleController中的三处代码: 1.注入HttpServletRequest:2在findAll()方法的message参数后面加上request.getLocalAddr(),用于显示从调用的是哪个ip的容器的服务:3.注释掉pom中的…
Redis Cluster 自动化安装,扩容和缩容 之前写过一篇基于python的redis集群自动化安装的实现,基于纯命令的集群实现还是相当繁琐的,因此官方提供了redis-trib.rb这个工具虽然官方的的redis-trib.rb提供了集群创建. 检查. 修复.均衡等命令行工具,之所个人接受不了redis-trib.rb,原因在于redis-trib.rb无法自定义实现集群中节点的主从关系.比如ABCDEF6个节点,在创建集群的过程中必然要明确指定哪些是主,哪些是从,主从对应关系,可惜通过…
目录 HDFS-集群扩容及缩容 添加白名单 配置白名单的步骤 二次配置白名单 增加新服务器 需求 环境准备 服役新节点具体步骤 问题1 服务器间数据均衡 问题2 105是怎么关联到集群的 服务器间数据均衡 应用场景 服务器间数据均衡配置 开启数据均衡命 停止数据均衡命令 黑名单退役旧节点 黑名单配置步骤 HDFS-集群扩容及缩容 添加白名单 白名单:在白名单的主机IP地址可以访问集群,对集群进行数据的存储.不在白名单的主机可以访问集群,但是不会在主机上存储数据 企业中:配置白名单,可以尽量防止黑…
LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理. 后期出现问题恢复数据也比较麻烦. 概念: ①PE(Physical Extend) 物理拓展 ②PV(Physical Volume) 物理卷 ③VG(Volume Group) 卷组 ④LV(Logical Volume) 逻辑卷 特点: LVM最大的特点就是可以对磁盘进行动态管理.因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据.我们如果…
将原硬盘上的LVM分区/dev/mapper/RHEL-Data由原来的60G扩展到80G Step1:将LVData扩容+20G,如下图: [root@esc data]# lvextend -L +20G /dev/RHEL/Data Size of logical volume RHEL/Data changed from 60.00 GiB (15360 extents) to 80.00 GiB (20480 extents). Logical volume RHEL/Data suc…
说明:仍然是伪集群,所有的Redis节点,都在一个服务器上,采用不同配置文件,不同端口的形式实现 前提:已经安装好了Redis,本文的redis的版本是redis-6.2.3 Redis的下载.安装参考:https://www.cnblogs.com/rxx1005/p/15754565.html 文章中,Redis的安装目录为:/opt/app/redis/cluster/redis-6.2.3 本文使用到的工具: SSH工具:MobaXterm 截图工具:FSCapture 前言 redis…
由于项目的服务器分布在重庆,上海,台北,休斯顿,所以需要做异地容灾需求.当前的mysql,redis cluster,elastic search都在重庆的如果重庆停电了,整个应用都不能用了. 现在考虑第一步做重庆和上海的异地容灾,大概测试了一下重庆的几台服务器之间大概是13m/s的传输速度也就是说100M的局域网带宽,重庆到上海只有1.2m/s的传输速度,大概10M的局域网带宽. 第一个方案先考虑简单的  mysql 重庆上海主主同步  redis cluster的master节点默认都设置在…
基本介绍Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解, lvm是逻辑盘卷管理(Logical Volume Manager)的简称,它是 Linux环境下对磁盘分区进行管理的一种机制, LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. LVM基本术语:1)物理存储介质:这里指系统的存储设备:硬盘,如: /dev/hda./dev/sd…
查看版本 kubectl version 查看节点 kubectl get nodes 部署app 说明: 提供deployment名称和app镜像地址(docker镜像地址) kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port= 再如: run test --image=preparedman/mytomcat:tagname --port= 查看app kube…
部署Pod应用 创建delpoyment控制器对象 [root@master ~]# kubectl run myapp --image=ikubernetes/myapp:v1 --port=80 --replicas=1 kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1…
作者 | 邓青琳(轻零) 阿里云技术专家 导读:本文分为三个部分,首先给大家演示 Serverless Kubernetes 集群的创建和业务应用的部署,其次介绍 Serverless Kubernetes 的常用功能,最后对应用扩缩容的操作进行探讨. 集群创建及应用部署 1. 集群创建 在对 Serverless Kubernetes 的基础概念有了充分了解之后,我们直接进入容器服务控制台(https://cs.console.aliyun.com/#/authorize)进行集群的创建. 在…
map的自动扩容与手动缩容 首先还是提出问题:扩容和缩容有什么用?为什么需要扩容和缩容? 在想解答这个问题之前,首先还是需要了解一下go语言中的map go语言中的map与Java中的map实现还是有些不同,go的map底层实现方式是hash表(哈希桶+数组),Java中,JDK1.6,JDK1.7里HashMap采用位桶+链表实现,JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树. 先看map的数据结构吧: const ( bucketC…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 从前面的文章我们知道,Kubernetes 脱胎于 Google 的 Borg,Borg 在 Kubernetes 诞生之初已经在 Google 内部身经百战 10 余年,且不说它的历史源远流长,就凭它是出自 Google 那帮天才工程师之手,就知道它的学习难度不低. 对于这种有一定学习门槛的技术,最好的入门方式…
通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment myblog --replicas=2 但是这个过程是手动操作的.在实际项目中,我们需要做到是的是一个自动化感知并自动扩容的操作.Kubernetes 也为提供了这样的一个资源对象:Horizontal Pod Autoscaling(Pod 水平自动伸缩),简称HPA 基本原理:HPA 通过监控分析…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好,欢迎大家和我一起学习 K8S. Deployment 是 K8S v1.2 引入的概念,与之一起引入还有 ReplicaSet.这两个概念是等同的,准确说是 Deployment 内部调用 ReplicaSet 来实现. 之前这个概念是由 Replication Controller 来实现的,但由…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好,我是 CloudDeveloper,欢迎大家和我一起学习 K8S,这是系列第 8 篇. 上篇我们简单学习了 Pod 的基础知识,本篇开始讲述一些 Pod 的高阶知识(本文只做理论的简单阐述,后面会针对每个点进行实践). Pod 的生命周期管理 豌豆荚自诞生之日起,便注定要经历生老病死的一生.Pod…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好,欢迎大家和我一起学习 K8S,这是系列第 6 篇. Pod 中文译为豌豆荚,很形象,豌豆荚里面包裹的多颗小豌豆就是容器,小豌豆和亲密无间的老伙计壳荚子自出生之日起就得面对各种各样的人生大事: 容器.Pod.Node 之间的关系 Pod 的生命周期管理 Pod 的调度管理 Pod 的监控 Pod 的升…
本文收录在容器技术学习系列文章总目录 1.Pod控制器 1.1 介绍 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无效,则会重新新建pod的资源. 1.2 pod控制器有多种类型 ReplicationController(RC):RC保证了在所有时间内,都有特定数量的Pod副本正在运行,如果太多了,RC就杀死几个,如果太少了,RC会新建几个 ReplicaSet(RS):代用户创建指定数量的pod副本数量,确保…
背景 在 K8s 1.18 之前,HPA 扩容是无法调整灵敏度的: 对于缩容,由 kube-controller-manager 的 --horizontal-pod-autoscaler-downscale-stabilization-window 参数控制缩容时间窗口,默认 5 分钟,即负载减小后至少需要等 5 分钟才会缩容. 对于扩容,由 hpa controller 固定的算法.硬编码的常量因子来控制扩容速度,无法自定义. 这样的设计逻辑导致用户无法自定义 HPA 的扩缩容灵敏度,而不同…
数据迁移与扩容实践: 工具目前从 mycat1.6,准备工作:1.mycat 所在环境安装 mysql 客户端程序. 2.mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包. 3.对扩容缩容的表所有节点数据进行备份,以便迁移失败后的数据恢复. 步骤: 1.复制 schema.xml.rule.xml 并重命名为 newSchema.xml.newRule.xml 放于 conf 目录下. 2.修改 newSchema.xml 和 newRule.xml 配置文件为扩容缩容后的…
从本文开始,将正式开始Kubernetes的核心内容学习.首先要了解的是Pod,总共大约分为六篇左右,本篇是第一篇,相信学完之后,我们会对Pod有一个整体的理解. 本文内容: 1.什么是Pod 2.Pod的特性 一.什么是Pod Pod是Kubernetes中最基本的调度.管理单元,其他的Kubernetes对象比如各种controller.svc,都是对Pod的动态管理和使用.可以说,Pod是Kubernetes中最核心的定义,没有之一. Kubernetes规定,每个Pod必须运行在一个No…
上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样只需要对外暴露一个轻量级的http服务器提供restapi即可作为一个云函数提供对外服务.上一篇我们同时也提到了在serverless框架下的函数还可以按需进行自动扩容缩容的,在极端情况下甚至可以将实例缩容至0,理想情况下serverless在无人访问时不占用系统除磁盘外的任何资源,当有访问时通过自…
扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker service scale masl=4 和创建服务一样,增加scale数之后,将会创建新的容器,这些新启动的容器也会经历从准备到运行的过程,过一分钟左右,服务应该就会启动完成,这时候可以再来看一下 masl 服务中的容器 可以看到,之前masl容器在manager-node和node1节点上各有一个实例,…