如何节约云端成本?

上云在大部分情况下就是为了降低成本,在这方面,主流的容器服务基本上都能够有效地降低成本——不仅能够高效自动化的管理和控制容器,而且不需支付Kubernetes 主节点的费用。不过,我们还可以在此基础上进一步节约成本,这里以腾讯云TKE为例,介绍几个技巧:

  • 无需过度购买配置,尽量使用自动扩展

传统IT往往都会过度购买配置,甚至上一年都有计划下一年需要购买的虚拟机和存储资源,往往都会超买,造成了很多不必要的消费(云资源一经购买,无论是否使用,均会按时收费)。在云端,k8s拥有极高的扩展性、自动化和可伸缩性,我们完全可以对云资源按量付费并且设置设置自动伸缩。比如云端的k8s集群,我们可以配置集群节点的伸缩组,以按需使用云端资源:

  • 最大化的利用服务器资源

当我们创建好k8s集群后,我们就可以创建容器服务了。但是,容器服务的创建是有限制的,例如下面这个集群:

如果我们在创建服务时,设置了各个服务的CPU限制和内存限制,哪怕当前容器实际的资源消耗低的可怜,我们也有可能无法继续创建容器服务,因为只有当当前节点上可分配资源量大于等于容器限制资源最小值时才允许将容器调度到该节点。这时,如果我们对程序有信心,或者希望更大限度的利用云端资源,可以将CPU限制和内存限制留空,也就是不做任何限制,以便更大程度的利用好云资源。不过此项设置有风险,比如有的服务特别吃资源或者代码编写不当,那么势必会影响其他的容器服务的稳定,因此仅推荐开发测试环境使用。

  • 用好Ingress

Ingress是k8s集群的流量入口,即外部流量进入k8s集群的必经之路,其公开了从集群外部到集群内服务的HTTP和HTTPS路由。

腾讯云的Ingress提供以下类型的服务:

1)       公网访问

2)       仅在集群内访问

3)       VPC内网访问

其中,仅当提供公网访问时,Ingress才按时收费。因此,我们可以将一些无需公网的容器服务的Ingress配置为内网访问。

当我们的容器服务需要提供公网访问时,一个Ingress我们可以设置多个转发配置,从而达到节省成本的目的:

  • 省存储

容器服务的数据卷支持本地硬盘(主机目录)、云硬盘、NFS盘和配置项。通常情况下,我们会使用云硬盘,但是一个云硬盘仅能挂载到一个容器服务实例,既不利于存储数据的共享,而且也不利于存储资源的最大化利用。

在对IO性能要求不高的情况下,我们推荐使用NFS盘。NFS数据卷适用于多读多写的持久化存储,适用于大数据分析、媒体处理、内容管理等场景,可以选择使用腾讯云的文件存储CFS,也可使用自建的文件存储NFS。

另外,腾讯云的NFS盘目前有10G的免费存储空间!

Docker最全教程——从理论到实战(二十三)的更多相关文章

  1. Docker最全教程——从理论到实战(十三)

    前言 树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),我们可以使用树莓派做很多事情,比如智能家居的中控.航空器.BT下载器.挖矿机.智能机器人.小型服务器(花生壳+网站)等等. 目 ...

  2. Docker最全教程——从理论到实战(八)

    在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...

  3. Docker最全教程——从理论到实战(七)

    在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...

  4. Docker最全教程——从理论到实战(六)

    托管到腾讯云容器服务 托管到腾讯云容器服务,我们的公众号“magiccodes”已经发布了相关的录屏教程,大家可以结合本篇教程一起查阅.   自建还是托管? 在开始之前,我们先来讨论一个问题——是自建 ...

  5. Docker最全教程——从理论到实战(五)

    往期内容链接 Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) 本篇教程持 ...

  6. Docker最全教程——从理论到实战

    Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) Docker最全教程—— ...

  7. Docker最全教程——从理论到实战(一)

    容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你 ...

  8. Docker最全教程---从理论到实战

    目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...

  9. Docker最全教程——从理论到实战(二十二)

    前言 最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享.对于k8s,还是上云更为简单.稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地应用于生产 ...

  10. Docker最全教程——从理论到实战(十五)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

随机推荐

  1. 404 not found Webshell

    404 not found Webshell 克隆或下载项目: git clone https://github.com/CosasDePuma/SecurityNotFound.git Securi ...

  2. Vue开发中的常用技巧(持续更新)

    1. 监听子组件的生命周期例如有父组件Parent和子组件Child,如果父组件监听到子组件挂载mounted就做一些逻辑处理,常规写法可能如下: // Parent.vue <Child @m ...

  3. 在虚拟机中使用NetToPLCSim和PLC相连.

    1,虚拟机...系统Win10...里面安装了VS. 2,本机...系统Win10...里面安装了博图15. 3,转换软件:NetToPLCSIM. 4,本机和虚拟机连接同一个路由器.注意: 5,设置 ...

  4. [MongoDB] 使用PHP根据_id字段查询数据

    mongo中的_id是一个objectid对象类型,不管是查询时作为条件,还是列表时展示内容,都需要进行一下抓换 查询时要转为objectid对象 列表时要把对象转成字符串覆盖回_id字段 $filt ...

  5. 腾讯2020校园招聘-后台&综合-第一次笔试 题解

    对数据结构和算法感兴趣的可以关注一下https://github.com/MCQ1999/Datastructure_Algorithm_Solutions,分享算法题的解题思路和代码~ 1.压缩算法 ...

  6. beego框架之orm模块——mysql

    参考beego原文:http://beego.me/docs/mvc/model/orm.md#main.go beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中 ...

  7. SSM使用AbstractRoutingDataSource后究竟如何解决跨库事务

    Setting: 绑定三个数据源(XA规范),将三个实例绑定到AbStractoutingDataSource的实例MultiDataSource(自定义的)对象中,mybatis  SqlSessi ...

  8. pgspider gzip fdw试用(集成gzip+http+graphql-engine)

    gzip 也是一个在实际中比较有用的处理工具,可以减少数据传输,以下是集成gzip http 以及plv8 的处理 gzip Docker 镜像 Dockerfile FROM dalongrong/ ...

  9. JavaScript使用MQTT

    1.MQTT Server使用EMQTTD开源库,自行安装配置: 2.JS使用Websocket连接通信. 3.JS的MQTT库为paho-mqtt,git地址:https://github.com/ ...

  10. mybatis_day02

    2.映射器Mapper 相当于dao层,不用写实现类(mybatis底层会采用动态代理模式 会跟我生成实现) 步骤: (1) 创建项目 配置mybatis-config.xml 和昨天一样 (2) 创 ...