如何节约云端成本?

上云在大部分情况下就是为了降低成本,在这方面,主流的容器服务基本上都能够有效地降低成本——不仅能够高效自动化的管理和控制容器,而且不需支付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. H5异步加载多图

    异步加载多图(可能没啥用,加载慢)(图片预加载,提前给浏览器缓存图片) 1. 用一个计数变量记录需要加载的图片个数 2. 用new Image()去加载,加载完给此对象的src赋值要加载的url路径( ...

  2. 【问题】多重继承时,super函数只初始化继承的第一个类,不初始化第二个类。

    class A(object): def __init__(self): print("init class A") class B(object): def __init__(s ...

  3. ResNet详解与分析

    目录 Resnet要解决的是什么问题 Residual Block的设计 ResNet 网络结构 error surface对比 Residual Block的分析与改进 小结 参考 博客:博客园 | ...

  4. JS将扁平化的数据处理成Tree结构

    let jsonData= [ { id:1,  parentId:0, name:"一级菜单A" }, { id:2, parentId:0, name:"一级菜单B& ...

  5. Android之ScrollView嵌套ListView冲突 (listView只显示一行)

    在ScrollView中嵌套使用ListView,ListView只会显示一行多一点.两者进行嵌套,即会发生冲突.由于ListView本身都继承于ScrollView,一旦在ScrollView中嵌套 ...

  6. php/phpmyadmin新手式环境搭建

    之前就在折腾 zabbix 的时候遇到一个情况, 安装 php6 的时候各种库丢失, 最重要的 gd 经常跑路 只是无意中遇到了一种小方式, 现在已经迷糊了, 前天因为在部署 phpAdmin 的时候 ...

  7. sql对于表格中列的删改

    mysql与oracle char为定长字符串 var为可变字符串 修改表名:rename table1 to table2:(mysql) alter table1 rename to table2 ...

  8. 剑指offer-面试题66-构建乘积数组-发散思维

    /* 题目: 链接:https://www.nowcoder.com/questionTerminal/94a4d381a68b47b7a8bed86f2975db46 来源:牛客网 给定一个数组A[ ...

  9. 论文阅读笔记(二十三)【ECCV2018】:Robust Anchor Embedding for Unsupervised Video Person Re-Identification in the Wild

    Introduction 当前主要的非监督方法都采用相同的训练数据集,这些数据集在不同摄像头中是对称的,即不存在单个行人的错误项,这些方法将在实际场景中效果下降.在本方法中,作者引入了非对称数据,如下 ...

  10. eclipse 项目资源与 java 编译器级别不致总是;说明资源路径位置类型Java编译器级别不匹配t

    问题:Description Resource Path Location Type Java compiler level does not match t 今天在自己项目中整合HBase API的 ...