如何节约云端成本?

上云在大部分情况下就是为了降低成本,在这方面,主流的容器服务基本上都能够有效地降低成本——不仅能够高效自动化的管理和控制容器,而且不需支付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. Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress

    更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...

  2. k8s Pipline CI/CD

    一.Pipeline介绍 pipeline是一套jenkins官方提供的插件,它可以用来在jenkins中实现和集成连续交付 用户可以利用Pipeline的许多功能: 代码:pipeline在代码中实 ...

  3. Python面试(网编+数据库)

    第一部分 必答题 简述 OSI 7层模型及其作用?(2分) 应用层:与用户直接交互,软件.网站等 表示层:使用软件.网站可以查看的数据,图片等 会话层:保持登录状态,电脑中为cookie 传输层:选择 ...

  4. 深入理解 Android 中的各种 Context

    前言 网上关于 Context 的文章也已经有不少了,比如值得参考的有: Android Context完全解析,你所不知道的Context的各种细节 Android Context 到底是什么? 但 ...

  5. mysql数据库技术1——基本的增删查改的sql语句

    1.数据库语言的分类 DDL:数据库定义语言 data Definition language 用于创建.修改.和删除数据库内的数据结构,如: 1:创建和删除数据库(CREATE DATABASE | ...

  6. scons自动化构建工具

    方式一 可以官方下载,安装使用 方式二 使用 RT-Thread env工具,其中集成了scons工具 env工具配置 打开设置 添加到右键菜单 使用scons生成mdk5工程 > scons ...

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

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

  8. 教你用python爬虫监控教务系统,查成绩快人一步!

    教你用python爬虫监控教务系统,查成绩快人一步!这几天考了大大小小几门课,教务系统又没有成绩通知功能,为了急切想知道自己挂了多少门,于是我写下这个脚本. 设计思路:设计思路很简单,首先对已有的成绩 ...

  9. DNS | named.run文件很大的处理方法

    在查看/var/named/data目录中发现named.run文件260G+ 总用量 267G -rw-r--r-- 1 named named 1.3K 9月 2 21:27 named.run ...

  10. Java与Go语言差异1 传值还是传引用

    在Java中,复杂类型(除原始类型外的其它类)作为入参,在方法中被修改后,跳出方法对象内的值仍会保持,也就是传的是引用.原始类型传的是值,如int, double等原始类型. Java代码: publ ...